]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* docs/grub.texi (Invoking grub-mkrelpath): New section.
[grub2.git] / ChangeLog
CommitLineData
54ce53ca
CW
12013-01-03 Colin Watson <cjwatson@ubuntu.com>
2
3 * docs/grub.texi (Invoking grub-mkrelpath): New section.
4 (Invoking grub-script-check): Likewise.
5
8912efca
CW
62013-01-03 Colin Watson <cjwatson@ubuntu.com>
7
8 * docs/grub.texi (Invoking grub-mount): New section.
9 Reported by: Filipus Klutiero. Fixes Debian bug #666427.
10
c3fc8394
CW
112013-01-02 Colin Watson <cjwatson@ubuntu.com>
12
13 * grub-core/tests/lib/test.c (grub_test_run): Return non-zero on
14 test failures, so that a failing unit test correctly causes 'make
15 check' to fail.
16
45d26abb
CW
172013-01-02 Colin Watson <cjwatson@ubuntu.com>
18
19 Fix failing printf test.
20
21 * grub-core/kern/misc.c (grub_vsnprintf_real): Parse '-', '.', and
22 '$' in the correct order when collecting type information.
23
971dd2c6
CW
242013-01-02 Colin Watson <cjwatson@ubuntu.com>
25
26 * docs/grub.texi (configfile): Explain environment variable
27 handling.
28 (source): New section.
29 Reported by: Arbiel Perlacremaz. Fixes Savannah bug #35564.
30
5c67ea6c
CW
312012-12-31 Colin Watson <cjwatson@ubuntu.com>
32
33 Remove several trivially-unnecessary uses of nested functions.
34
35 * grub-core/commands/i386/pc/sendkey.c
36 (grub_cmd_sendkey: find_key_code, find_ascii_code): Make static
37 instead of nested.
38 * grub-core/commands/legacycfg.c (legacy_file: getline): Likewise.
39 Rename to ...
40 (legacy_file_getline): ... this.
41 * grub-core/commands/loadenv.c (grub_cmd_load_env: set_var):
42 Likewise.
43 * grub-core/kern/corecmd.c (grub_core_cmd_set: print_env): Likewise.
44 * grub-core/kern/fs.c (grub_fs_probe: dummy_func): Likewise. Rename
45 to ...
46 (probe_dummy_iter): ... this.
47 * grub-core/kern/i386/coreboot/mmap.c
48 (grub_linuxbios_table_iterate: check_signature): Likewise.
49 * grub-core/kern/parser.c (grub_parser_split_cmdline:
50 check_varstate): Likewise. Mark inline.
51 * grub-core/lib/arg.c (find_short: fnd_short): Likewise. Pass
52 an additional parameter.
53 (find_long: fnd_long): Likewise. Pass two additional parameters.
54 * grub-core/lib/crc.c (init_crc32c_table: reflect): Likewise.
55 * grub-core/lib/crc64.c (init_crc64_table: reflect): Likewise.
56 * grub-core/lib/ieee1275/cmos.c (grub_cmos_find_port: hook):
57 Likewise. Rename to ...
58 (grub_cmos_find_port_iter): ... this.
59 * grub-core/lib/ieee1275/datetime.c (find_rtc: hook): Likewise.
60 Rename to ...
61 (find_rtc_iter): ... this.
62
63 * grub-core/normal/menu_entry.c (run): Fold nested editor_getsource
64 function directly into the function body, since it is only called
65 once.
66
33a68ac6
CW
672012-12-30 Colin Watson <cjwatson@ubuntu.com>
68
69 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Remove incorrect
70 __attribute__ ((unused)).
71 * grub-core/video/bochs.c (find_card): Likewise.
72 * grub-core/video/cirrus.c (find_card): Likewise.
73 * grub-core/video/radeon_fuloong2e.c (find_card): Likewise.
74 * grub-core/video/sis315pro.c (find_card): Likewise.
75 * grub-core/video/sm712.c (find_card): Likewise.
76
608b647a
CW
772012-12-28 Colin Watson <cjwatson@ubuntu.com>
78
79 * util/grub-mkconfig.in: Accept GRUB_TERMINAL_OUTPUT=vga_text.
80 Fixes Savannah bug #37821.
81
fd49ceb3
CW
822012-12-28 Colin Watson <cjwatson@ubuntu.com>
83
84 Apply program name transformations at build-time rather than at
85 run-time. Fixes Debian bug #696465.
86
87 * acinclude.m4 (grub_TRANSFORM): New macro.
88 * configure.ac: Create output variables with transformed names for
89 most programs.
90 * util/bash-completion.d/grub-completion.bash.in: Use
91 pre-transformed variables for program names.
92 * util/grub-install.in: Likewise.
93 * util/grub-kbdcomp.in: Likewise.
94 * util/grub-mkconfig.in: Likewise.
95 * util/grub-mkconfig_lib.in: Likewise.
96 * util/grub-mknetdir.in: Likewise.
97 * util/grub-mkrescue.in: Likewise.
98 * util/grub-mkstandalone.in: Likewise.
99 * util/grub-reboot.in: Likewise.
100 * util/grub-set-default.in: Likewise.
101 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
102 * tests/util/grub-shell-tester.in: Remove unused assignment.
103 * tests/util/grub-shell.in: Likewise.
104 * util/grub.d/00_header.in: Likewise.
105
7024b3c0
CW
1062012-12-28 Colin Watson <cjwatson@ubuntu.com>
107
108 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
109
110 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
111 HAVE_RAW_DECL_GETS.
112 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
113
e3501b13
VS
1142012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
115
116 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
117 Reported by: Eriks Latosheks <foresterlv>.
118
b40c88a9
VS
1192012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
120
121 * docs/grub.texi (Network): Update instructions on generating netboot
122 image.
123
ce96d01c
VS
1242012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
125
126 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
127 around device name if necessarry.
128
0f596201
PFS
1292012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
130
131 * util/grub-install.in: Follow the symbolic link parameter added
132 to the file command.
133
600d5bdb
AB
1342012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
135
136 * util/grub-install.in: Remove stale TODO.
137
64ebd2f4
PFS
1382012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
139
140 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
141 dynamic allocation for the bootpath buffer.
142
74b2fe3e
DTB
1432012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
144
145 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
146 window too small.
147
969b804f
VS
1482012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
149
150 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
151 argument rather than font name. All users updated.
152 (grub_gfxterm_set_window): Likewise.
153
b9f5ebd6
VT
1542012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
155
156 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
157 from working.
158
258f43b7
VS
1592012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
160
161 * util/getroot.c (convert_system_partition_to_system_disk): Support
162 nbd disks.
163
cc1ce5f9
VS
1642012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
165
166 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
167 infinite loop on corrupted FS.
168
e77a16ca
VS
1692012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
170
171 Fix big-endian mtime.
172
173 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
174 together sec and usec.
175 (grub_ufs_dir): Use correct byteswapping for UFS time.
176
d9c48c7b
VS
1772012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
178
179 Support big-endian UFS1.
180
181 * Makefile.util.def (libgrubmods): Add ufs_be.c
182 * grub-core/Makefile.core.def (ufs1_be): New module.
183 * grub-core/fs/ufs_be.c: New file.
184 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
185 the file.
186
2f9f40ba
LL
1872012-11-28 Leif Lindholm <leif.lindholm@arm.com>
188
189 * include/grub/types.h: Fix functionality unaffecting typo in
190 GRUB_TARGET_WORDSIZE conditional macro.
191
48ff0889
PFS
1922012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
193
194 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
195
03711240
GS
1962012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
197
198 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
199 that /netbsd appears first (when it exists).
200
a31b11bd
CJ
2012012-10-12 Christoph Junghans <ottxor@gentoo.org>
202
203 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
204 Fixes Savannah bug #37558.
205
e8a5d5d4
CW
2062012-10-12 Colin Watson <cjwatson@ubuntu.com>
207
208 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
209 description of extract_entries_configfile.
210
2112012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
212
213 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
214 preferred_address.
215 (grub_cmd_linux): Likewise.
216 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
217 preferred_lifetime. Update all users.
218
288c757d
CW
2192012-09-26 Colin Watson <cjwatson@ubuntu.com>
220
221 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
222 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
223
0d35da3f
CW
2242012-09-26 Colin Watson <cjwatson@ubuntu.com>
225
226 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
227 errors from grub-probe to /dev/null, not stdout.
228
b78c3127
VS
2292012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
230
231 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
232 sector 1.
233
473959f0
CW
2342012-09-24 Colin Watson <cjwatson@ubuntu.com>
235
236 * util/grub-install.in: Make the error message if $source_dir
237 doesn't exist more useful.
238
794c8c33
CW
2392012-09-22 Colin Watson <cjwatson@ubuntu.com>
240
241 Fix grub-emu build on FreeBSD.
242
243 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
244 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
245 headers on Linux.
246 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
247 implementation is currently Linux-specific.
248 * util/getroot.c (exec_pipe): Define only on Linux or when either
249 libzfs or libnvpair is unavailable.
250 (find_root_devices_from_poolname): Remove unused path variable.
251
86d08fdb
CW
2522012-09-19 Colin Watson <cjwatson@ubuntu.com>
253
254 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
255 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
256 should fit before end == 63.
257
735abf54
CW
2582012-09-19 Colin Watson <cjwatson@ubuntu.com>
259
260 * util/grub-setup.c (write_rootdev): Remove unused core_img
261 parameter. Update all callers.
262 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
263 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
264 GRUB_SETUP_BIOS.
265
140acd3c
VS
2662012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
267
268 * util/grub-mkconfig_lib.in (grub_tab): New variable.
269 (grub_add_tab): New function.
270 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
271 * util/grub.d/10_illumos.in: Likewise.
272 * util/grub.d/10_kfreebsd.in: Likewise.
273 * util/grub.d/10_linux.in: Likewise.
274 * util/grub.d/10_netbsd.in: Likewise.
275 * util/grub.d/10_windows.in: Likewise.
276 * util/grub.d/10_xnu.in: Likewise.
277 * util/grub.d/20_linux_xen.in: Likewise.
278 * util/grub.d/30_os-prober.in: Likewise.
279
7ddffdad
VS
2802012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
281
282 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
283 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
284 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
285 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
286 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
287 ieee1275-nocursor.
288 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
289 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
290
4e092454
VS
2912012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
292
293 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
294 le-conversion.
295 Reported by: BURETTE, Bernard.
296
735abf54 2972012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
298
299 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
300 from comment.
301
dfd39dbd
CW
3022012-09-14 Colin Watson <cjwatson@ubuntu.com>
303
304 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
305 IEEE1275 machines. Fixes powerpc-emu compilation.
306 * include/grub/terminfo.h: Likewise.
307
3bfa763c
VS
3082012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
309
310 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
311 a const pointer.
312 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
313 const pointer.
314 (efiemu_set_variable): Make vendor_guid a const pointer.
315
250e475b
VS
3162012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
317
318 Don't require grub-mkconfig_lib to generate manpages for programs.
319
320 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
321 dependencies, don't add grub-mkconfig_lib.
322 (program): Pass empty adddeps.
323 (script): Pass grub-mkconfig_lib as adddeps.
324
592fd0e4
VS
3252012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
326
327 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
328 * util/getroot.c (grub_find_device): Likewise.
329 (get_mdadm_uuid): Likewise.
330 (grub_util_is_imsm): Likewise.
331 (grub_util_pull_device): Likewise.
332 * util/grub-probe.c (probe): Likewise.
333
801a3027
BG
3342012-09-10 Benoit Gschwind <gschwind>
335
336 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
337 (devs): Add devpath_8.
338
c5052c81
PJ
3392012-09-08 Peter Jones <pjones@redhat.com>
340
341 * grub-core/Makefile.core.def (efifwsetup): New module.
342 * grub-core/commands/efi/efifwsetup.c: New file.
343 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
344 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
345 New define.
346 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
347
8e832f71
JS
3482012-09-05 Jiri Slaby <jslaby@suse.cz>
349
350 * configure.ac: Add SuSe path.
351
f0f55752
CW
3522012-09-05 Colin Watson <cjwatson@ubuntu.com>
353
354 * NEWS: Fix typo.
355
ecadc4c2
CW
3562012-09-05 Colin Watson <cjwatson@ubuntu.com>
357
358 * util/import_gcry.py: Sort cipher_files, to make build system
359 generation more deterministic.
360
64498f25
VS
3612012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
362
363 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
364 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
365 (grub_set_datetime): Likewise.
366
9cc836a2
VS
3672012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
368
369 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
370 warnings.
371
bcfcea01
VS
3722012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
373
374 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
375
a4099485
VS
3762012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
377
378 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
379
265c162a
CW
3802012-09-04 Colin Watson <cjwatson@ubuntu.com>
381
382 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
383 required for checkouts from bzr, but it may be useful for users or
384 distributors wishing to update translations against a tarball
385 distribution, and it can be helpful for the tarball to be a superset
386 of what's in bzr.
387
3d171e95
CW
3882012-09-04 Colin Watson <cjwatson@ubuntu.com>
389
390 * Makefile.am (EXTRA_DIST): Add
391 grub-core/tests/boot/linux.init-mips.S,
392 grub-core/tests/boot/linux.init-ppc.S, and
393 grub-core/tests/boot/linux-ppc.cfg.
394
f2c2503e
CW
3952012-09-04 Colin Watson <cjwatson@ubuntu.com>
396
397 * grub-core/mmap/mips/loongson: Remove empty directory.
398
3992012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
400
401 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
402 gone.
403
ab2163d5
CW
4042012-09-04 Colin Watson <cjwatson@ubuntu.com>
405
406 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
407 grub-sparc64-setup.
408
ce938140
GS
4092012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
410
411 * configure.ac: Strengthen the test for working -nostdinc -isystem.
412
529f58a5
GS
4132012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
414
415 * po/POTFILES.in: Regenerated.
416
16cf79e9
GS
4172012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
418
419 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
420 (NetBSD): New subsection.
421
39b27f1e 4222012-07-22 Ales Nesrsta <starous@volny.cz>
423
424 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
425 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
426
a885261b
VS
4272012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
428
429 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
430 * util/grub.d/10_hurd.in: Add missing quoting.
431 * util/grub.d/10_illumos.in: Likewise.
432 * util/grub.d/10_kfreebsd.in: Likewise.
433 * util/grub.d/10_linux.in: Likewise.
434 * util/grub.d/20_linux_xen.in: Likewise.
435
7bd29c01
VS
4362012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
437
438 New command `lsefi'.
439
440 * grub-core/Makefile.core.def (lsefi): New module.
441 * grub-core/commands/efi/lsefi.c: New file.
442 * include/grub/efi/api.h: Add more GUIDs.
443
ac625d8f
VS
4442012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
445
446 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
447 (grub_bsd_elf32_hook): Likewise.
448 (grub_bsd_elf64_size_hook): Likewise.
449 (grub_bsd_elf64_hook): Likewise.
450 (grub_bsd_load_elf): Likewise.
451
e73bb801
VS
4522012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
453
454 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
455 if hash function is unavailable.
456 (dec_stream_header): Likewise.
457
e81db8b5
VS
4582012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
459
460 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
461 filter state.
462
d187a1c3
VS
4632012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
464
465 Fix coreboot compilation.
466
467 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
468 (grub_vga_text_init_real): ... this.
469 (grub_vga_text_fini): Rename to ...
470 (grub_vga_text_fini_real): ... this.
471
91a05f64
VS
4722012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
473
474 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
475
6af96df7
VS
4762012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
477
478 * grub-core/lib/legacy_parse.c: Support clear and testload.
479
4d569e12
VS
4802012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
481
482 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
483
073b57bb
VS
4842012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
485
486 * grub-core/fs/ext2.c: Experimental support for 64-bit.
487
a706f4cc
VS
4882012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
489
490 * grub-core/net/tftp.c (ack): Fix endianness problem.
491 (tftp_receive): Likewise.
492 Reported by: Michael Davidsaver.
493
e7850aa9
VS
4942012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
495
496 * gentpl.py: Make mans depend on grub-mkconfig_lib.
497
4982012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
499
500 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
501 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
502 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
503
35692881
VS
5042012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
505
506 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
507 efi_mmap_size.
508 Reported by: Stuart Hayes.
509
c35fc5bd
VS
5102012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
511
512 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
513
514 * grub-core/Makefile.core.def (mda_text): New module.
515 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
516 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
517 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
518 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
519 here.
520 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
521 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
522 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
523 here.
524 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
525 to ..
526 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
527 ... here
528 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
529 here.
530 * grub-core/term/i386/vga_common.c: Removed.
531 * include/grub/i386/vga_common.h: Likewise.
532 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
533 (grub_vga_cr_bw_read): Likewise.
534 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
535 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
536 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
537 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
538 grub_vga_cr_read/grub_vga_cr_write.
539 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
540
5f91f701
VS
5412012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
542
543 * configure.ac: Bump version to 2.00.
544 * grub-core/normal/main.c (features): Add feature_200_final.
545
0c4f85f6
VS
5462012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
5472012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
548
549 * NEWS: Fix unclarity and language mistakes.
550
f923ad22
VS
5512012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
552
553 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
554 additional size to 3 pages.
555 Reported by: Stuart Hayes.
556
d22029ba
VS
5572012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
558
559 * NEWS: Add 2.00 entry.
560
58eee08f
VS
5612012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
562
563 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
564 put explicit "/" for empty path.
565 (wildcard_expand): Improve dprintf.
566
c59bdff7
VS
5672012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
568
569 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
570 it's equal to currnode. This can happen with "" symlink.
571
5e6a440a
YB
5722012-06-27 Yves Blusseau <blusseau@zetam.org>
573
574 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
575 echo shell command by printf command.
576
73a68bcb
VS
5772012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
578
579 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
580 the value returned by firmware is the maximal position, not diumension.
581 (grub_terminfo_output_state): Use a more sane fallback.
582
392a603b
VS
5832012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
584
585 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
586
42d0867f
VS
5872012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
588
589 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
590 frequency to 150 MHz.
591
489509f4
VS
5922012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
593
594 Apple fixes.
595
596 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
597 __APPLE_
598 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
599 definition.
600 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
601
9f3fc883
VS
6022012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
603
604 Handle slash in HFS label.
605
606 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
607 (grub_hfs_dir): Tanslate slash.
608 (grub_hfs_label): Don't translate slash.
609
54853fd7
VS
6102012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
611
612 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
613 network protocol listing since it introduces problematic dependency on
614 net module.
615
4dc02ddf
VS
6162012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
617
618 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
619
c50c867d
VS
6202012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
621
622 Init video early on yeeloong to avoid being rebooted by watchdog.
623
624 * grub-core/Makefile.am (gensm712): New target.
625 (sm712_start.S): Likewise.
626 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
627 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
628 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
629 description.
630 * include/grub/vga.h: Move registry definitions to...
631 * include/grub/vgaregs.h: ... here.
632
5f92c8a1
VS
6332012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
634
635 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
636 signedness.
637
e9e6f111
VS
6382012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
639
640 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
641 platforms with firmware disk drivers in the core.
642
754ad9eb
VS
6432012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
644
645 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
646 informative verbose message.
647 (read_lv): Handle 64-bit segment size.
648
315654c2
VS
6492012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
650
651 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
652
fb022c79
VS
6532012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
654
655 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
656 character but still remove trainling spaces.
657 (grub_fat_label): Ignore archive flag.
658
8645f72c
VS
6592012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
660
661 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
662 cast between linux_kernel_header and linux_kernel_params.
663
36498496
VS
6642012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
665
666 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
667 type for size.
668 (grub_raid6_recover_func_t): Likewise.
669 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
670 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
671
0b5ea6b8
VS
6722012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
673
674 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
675
650cfcfe
GS
6762012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
677
678 Fix overflow.
679
680 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
681 [__NetBSD__]: Add explicit cast before bitshift.
682
8a4d6a44
VS
6832012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
684
685 * configure.ac: Bump to 2.00~rc1.
686
2fb97ed3
VS
6872012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
688
689 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
690 half of $a0.
691
1fa097dc
VS
6922012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
6932012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
694
695 * docs/grub.texi: Fix search syntax.
696 (Multi-boot manual config): Put msdos rather than GPT example.
697 Grammar corrections.
698
c890ba78
VS
6992012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
700
701 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
702
0f92dca7
VS
7032012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
704
705 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
706
3988c4a0
VS
7072012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
708
709 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
710 message on double free. Put the value of magic in case of mismatch.
711
9e86d4c5
VS
7122012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
713
714 Speed-up video on yeeloong.
715
716 * grub-core/video/sm712.c (framebuffer): Remove render_target and
717 add cached_ptr.
718 (grub_video_sm712_video_fini): Unmap cached_ptr.
719 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
720 (grub_video_sm712_set_active_render_target): Removed.
721 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
722 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
723 sync caches.
724
ed24c312
VS
7252012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
726
727 Avoid flushing the same line multiple times on loongson.
728
729 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
730 Step in 32 bytes and not 1 byte.
731 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
732 Likewise.
733
d1718e7d
VS
7342012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
735
736 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
737 subvolumes.
738
982f1909
VS
7392012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
740
741 Implement flow control for http.
742
743 * grub-core/net/http.c (parse_line): Handle response 206.
744 (http_receive): Stall if too many packets are in the queue.
745 (http_establish): Fix range header.
746 (http_seek): Fix double free.
747 (http_close): Likewise.
748 (http_packets_pulled): New function.
749 (grub_http_protocol): Set http_seek
750 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
751 (ack_real): Set window depending on i_stall.
752 (grub_net_send_tcp_packet): Likewise.
753 (grub_net_tcp_stall): New function.
754 (grub_net_tcp_unstall): Likewise.
755 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
756 (grub_net_tcp_unstall): Likewise.
757
bd407d6e
VS
7582012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
759
760 * grub-core/net/tftp.c: Decrease stall to 50 packets.
761
c7564b8e
VS
7622012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
763
764 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
765
a3706162
VS
7662012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
767
768 * tests/util/grub-shell.in: Fix a typo.
769
b27069e0
VS
7702012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
771
772 Implement flow control for tftp.
773
774 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
775 packets but stop only if stop condition is satisfied.
776 (grub_net_fs_read_real): Call packets_pulled after real read. Use
777 `stall' instead of `eof' as stop condition.
778 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
779 (http_err): Likewise.
780 * grub-core/net/tftp.c (ack): Replace the first argument with data
781 instead of socket.
782 (tftp_receive): Stall if too many packets are in wait queue.
783 (tftp_packets_pulled): New function.
784 (grub_tftp_protocol): Set packets_pulled.
785 * include/grub/net.h (grub_net_packets): New field count.
786 (grub_net_put_packet): Increment count.
787 (grub_net_remove_packet): Likewise.
788 (grub_net_app_protocol): New field `packets_pulled'.
789 (grub_net): New field `stall'.
790
6b9cfac6
VS
7912012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
792
793 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
794 sync part to handle them.
795
f35abd81
VS
7962012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
797
798 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
799 * grub-core/net/drivers/ieee1275/ofnet.c
800 (grub_ieee1275_net_config_real): Likewise.
801
0e7ec820
VS
8022012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
803
804 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
805 the direct route for server/gateway.
806
9d611a31
VS
8072012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
808
809 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
810 IP address to server name since we may not hame the DNS.
811
418f45ab
VS
8122012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
813
814 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
815 freeing random buffer on failure.
816 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
817
44a0efc1
VS
8182012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
819
820 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
821
531e2241
VS
8222012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
823
824 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
825 reserved bytes.
826 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
827 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
828 Handle malloc error correctly.
829
cde393c9
VS
8302012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
831
832 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
833 blocks.
834
538478d0
VS
8352012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
836
837 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
838 increment.
839
9b55efe0
VS
8402012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
841
842 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
843 none is explicitly specified.
844
9eb832c3
VS
8452012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
846
847 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
848 while reallocating.
849
d6b7c7c9
VS
8502012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
851
852 Respect netmask from bootp/dhcp.
853
854 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
855 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
856 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
857 into ...
858 (grub_net_add_ipv4_local): ... this.
859 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
860 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
861 (grub_net_add_ipv4_local): New proto.
862
67caf9eb
VS
8632012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
864
865 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
866 determining EFI memory map size.
867
43657558
VS
8682012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
869
870 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
871
eb6d0dd3
VS
8722012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
873
874 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
875 when looking for partition separator.
876
31230544
VS
8772012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
878
879 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
880 Escape commas.
881
918a2517
VS
8822012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
883
884 Restructure FAT driver to avoid hook in label reading as it hits a
885 GCC bug.
886
887 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
888 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
889 (grub_fat_iterate_dir): Split into ...
890 (grub_fat_iterate_init): ... this, ...
891 (grub_fat_iterate_fini): ... this, ...
892 (grub_fat_iterate_dir_next): ... and this. All users updated.
893
9f1d654e
VS
8942012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
895
896 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
897 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
898 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
899 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
900 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
901 New fields last_key and last_key_time.
902 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
903 extended key-esc into extended key-extended key.
904
52f0f643
VS
9052012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
906
907 Avoid unnecessary memcpy of whole video buffer.
908
909 * grub-core/video/fb/video_fb.c (dirty): New struct.
910 (framebuffer): Add members current_dirty and previous_dirty.
911 (dirty): New function.
912 (grub_video_fb_fill_rect): Update dirty.
913 (common_blitter): Likewise.
914 (grub_video_fb_scroll): Likewise.
915 (doublebuf_blit_update_screen): Copy only dirty part.
916 (doublebuf_pageflipping_update_screen): Likewise.
917 (grub_video_fb_doublebuf_blit_init): Init dirty.
918 (doublebuf_pageflipping_init): Likewise.
919 (grub_video_fb_setup): Likewise.
920
e169a180
VS
9212012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
922
923 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
924 poll rate.
925
48556879
VS
9262012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
927
928 Fix wildcard regexp dot and other special characters handling.
929 Reported by: Robert Mabee.
930
931 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
932 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
933 (split_path): Trigger expansion on '?'.
934 (unescape): New function.
935 (wildcard_expand): Unescape parts copied without globbing.
936 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
937 (grub_script_arglist_to_argv): Don't unescape expansions.
938
0494408e
VS
9392012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
940
941 * include/grub/net.h (grub_net_card): New member txbufsize.
942 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
943 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
944 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
945 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
946 txbufsize.
947 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
948 compatible property to check for macs. Set
949 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
950 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
951 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
952 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
953 (send_card_buffer): Use txbuf.
954 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
955 nested function out of the parent while on it.
956
cc35fe8f
VS
9572012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
958
959 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
960 presence check.
961 (grub_ieee1275_net_config_real): Fix config pointer.
962
970a0a09
VS
9632012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
964
965 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
966 filename parsing to non-block devices.
967
3e19bf87
VS
9682012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
969
970 * grub-core/kern/device.c (grub_device_open): Remove dead code.
971
c62d1a0c
VS
9722012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
973
974 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
975 All users updated.
976
ef76bec3
VS
9772012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
978
979 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
980 UUID search command even if hints probing failed.
981
9822012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
983
984 * po/POTFILES.in: Regenerated.
985
70aaf305
VS
9862012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
987
988 Speed-up video on fuloong.
989
990 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
991 New function.
992 (grub_pci_device_unmap_range): Handle non-cached address.
993 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
994 add direct_ptr.
995 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
996 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
997 (grub_video_sis315pro_set_active_render_target): Removed.
998 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
999 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
1000 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
1001 sync caches.
1002 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
1003 New proto.
1004
10400f0b
VS
10052012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
1006
1007 * docs/grub.texi (Multi-boot manual config): New section.
1008
ba67e2c6
VS
10092012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1010
1011 Avoid slow read-back from VRAM.
1012
1013 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
1014 Move from here ...
1015 * grub-core/video/fb/video_fb.c
1016 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
1017 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
1018 (front_target): Remove front_target. Add pages.
1019 (grub_video_fb_init): Skip setting front_pages.
1020 (grub_video_fb_fini): Likewise.
1021 (doublebuf_blit_update_screen): Use pages.
1022 (grub_video_fb_doublebuf_blit_init): Likewise.
1023 (doublebuf_pageflipping_init): Allocate offscreen buffer.
1024 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
1025 (grub_video_fb_setup): Prefer doublebuffing.
1026
377c98cb
VS
10272012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1028
1029 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
1030 gzio.
1031
eac49cff
VS
10322012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1033
1034 Add loongson tests.
1035
1036 * tests/util/grub-shell.in: Handle loongson.
1037 * tests/partmap_test.in: Add loongson to the list of platform using ATA
1038 drivers.
1039 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
1040 Reboot instead of shutdown if REBOOT is defined.
1041
0321415e
VS
10422012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1043
1044 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
1045 sized ports since unlike on real hardware qemu supports only 32-bit
1046 regs.
1047
3f2bdd8f
VS
10482012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
1049
1050 * Makefile.util.def (grub-mkrescue): Enable on loongson.
1051 * util/grub-mkrescue.in: Handle loongson.
1052
29a049c9
VS
10532012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
1054
1055 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
1056 Set is_part appropriately.
1057 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
1058 names. Canonicalize partition without full disk.
1059
4abde346
VS
10602012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
1061
1062 Revert usb-quiesce since it's wrong.
1063
1064 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
1065 (grub_ofdisk_init): Don't do quiesce.
1066
61f1d93b
VS
10672012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
1068
1069 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
1070 PowerMac workaround to Xserves as well.
1071 Information supplied by: Benjamin Herrenschmidt.
1072
a09eb541
VS
10732012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
1074
1075 Don't assume that beginning address is also the entry point on ppc.
1076
1077 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
1078 (grub_linux_boot): Use linux_entry.
1079 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
1080 (grub_linux_load64): Likewise.
1081
505b3c9b
VS
10822012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
1083
1084 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
1085
cbe0b4ef
VS
10862012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
1087
1088 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
1089 needlessly lose the console.
1090
3006e981
VS
10912012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
1092
1093 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
1094 space.
1095
4e5a96b0
VS
10962012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
1097
7da036bb
VS
1098 Remove non-functional EFI grub_get_rtc. Put a better fatal message
1099 than current grub_get_rtc() not implemented when booted with
1100 coreboot without TSC.
1101
1102 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
1103 Add machine/time.h to kernel headers on loongson.
1104 * grub-core/Makefile.core.def (kernel): Remove
1105 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
1106 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
1107 (grub_get_rtc): Likewise.
1108 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
1109 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
1110 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
1111 * grub-core/kern/i386/tsc.c (grub_tsc_init)
1112 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
1113 rather than installing known non-working time source.
1114 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
1115 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
1116 * include/grub/time.h: Don't include machine/time.h.
1117 * include/grub/efi/time.h: Removed.
1118 * include/grub/i386/efi/time.h: Likewise.
1119 * include/grub/i386/ieee1275/time.h: Likewise.
1120 * include/grub/powerpc/ieee1275/time.h: Likewise.
1121 * include/grub/sparc64/ieee1275/time.h: Likewise.
1122 * include/grub/x86_64/efi/time.h: Likewise.
1123
11242012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
1125
1126 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
1127
1128 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
1129 value.
1130 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
1131 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
1132 with dotless variants when any combining above is present.
1133
5561c22d
VS
11342012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1135
1136 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
1137 text and not binary.
1138
96f7e60e
VS
11392012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1140
1141 Stop polling as soon as we have the packet we were waiting for.
1142
1143 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
1144 All users updated.
1145 * grub-core/net/arp.c (have_pending): New var.
1146 (pending_req): Likewise.
1147 (grub_net_arp_send_request): Fill pending_req and use have_pending as
1148 stop indicator.
1149 (grub_net_arp_receive): Set have_pending.
1150 * grub-core/net/dns.c (recv_data): New field stop.
1151 (recv_hook): Set stop.
1152 (grub_net_dns_lookup): Init stop and use as stop condition.
1153 * grub-core/net/http.c (http_establish): Use headers_recv as stop
1154 condition.
1155 * grub-core/net/net.c (grub_net_poll_cards): New argument
1156 stop_condition. Stop when it goes true.
1157 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
1158 indicator.
1159 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
1160
3e747239
VS
11612012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1162
1163 Keep TX and RX buffers on EFI rather than always allocate new ones.
1164
1165 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
1166 card. All users updated.
1167 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
1168 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
1169 (get_card_packet): Likewise.
1170 (grub_efinet_findcards): Init new fields.
1171
f695e99a
VS
11722012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1173
1174 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
1175 compilation error on sparc64.
1176
9e5e66d1
VS
11772012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1178
1179 Use ITC on IA64 rather than broken routine based on daytime.
1180
1181 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
1182 ia64.
1183 (grub_get_rtc) [__ia64__]: Likewise.
1184 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
1185 (get_itc): New function.
1186 (grub_rtc_get_time_ms): Likewise.
1187 (grub_machine_init): Calibrate ITC.
1188 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
1189 Keep only on non-ia64. Don't export since it's broken and used only
1190 if TSC is unavailable.
1191
a1767404
VS
11922012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1193
1194 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
1195 even if it's used.
1196 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
1197 Skip if parent is unused.
1198
34b2bced
VS
11992012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1200
1201 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
1202
5e619f40
VS
12032012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1204
1205 Fix wildcard escaping.
1206
1207 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
1208 * grub-core/script/execute.c (wildcard_escape): .. to here.
1209 Don't escape dot.
1210 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
1211 * grub-core/script/execute.c (wildcard_unescape): .. to here.
1212 Don't escape dot.
1213 * grub-core/script/execute.c (gettext_append): Always escape.
1214 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
1215 * grub-core/script/yylex.l: Don't cut away the escaping.
1216 * tests/grub_script_echo1.in: Add tests with wildcard.
1217
c8ca5855
VS
12182012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1219
1220 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
1221 (ftdi_hw_configure): Likewise.
1222 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
1223 define.
1224 (real_config): Handle 1.5 stop bits.
1225 (pl2303_hw_configure): Likewise.
1226
7183452c
VS
12272012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1228
1229 * Makefile.am: Add ppc linux bootcheck.
1230 * grub-core/tests/boot/linux-ppc.cfg: New file.
1231 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
1232
f57c84cd
VS
12332012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1234
1235 * tests/grub_script_expansion.in: Skip network protocols.
1236
ecfc6207
VS
12372012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1238
1239 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
1240
8d03d284
VS
12412012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1242
1243 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
1244 --rom-directory.
1245 Add -graft-points.
1246
61c42af0
VS
12472012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1248
1249 ESCC serial driver for conducting sautomated tests in qemu.
1250 Not tested on real hardware.
1251
1252 * include/grub/serial.h (grub_serial_port): New field escc_desc.
1253 * grub-core/term/ieee1275/escc.c: New file.
1254 * grub-core/Makefile.core.def (escc): New module.
1255
08fd1291
VS
12562012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1257
1258 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
1259 invalid on error.
1260 (serial_hw_fetch): Don't read invalid handle.
1261 (serial_hw_put): Don't write into invalid handle.
1262
08dafeea
VS
12632012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1264
1265 Add a 1.5 stop bits value.
1266
1267 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
1268 * include/grub/serial.h (grub_serial_stop_bits_t): Add
1269 GRUB_SERIAL_STOP_BITS_1_5.
1270
9068fdcf
VS
12712012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1272
1273 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
1274 value rather than let it uninited.
1275
f4d5820f
VS
12762012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1277
1278 * grub-core/commands/wildcard.c (+check_file): New function.
1279 (wildcard_expand): Don't expand to non-existing files, expand with
1280 suffix and not attempt to expand if not needed.
1281
3d2de9a7
VS
12822012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1283
1284 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
1285 out of partitions containing other partitions.
1286
c5c81ff9
VS
12872012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1288
1289 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
1290 on some qemu versions with GRUB.
1291
1292 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
1293 define.
1294 (grub_openbsd_bootarg_pcibios): New struct.
1295 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
1296 Add PCIINFO.
1297
08a14e0b
VS
12982012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1299
1300 * tests/util/grub-shell.in: Trim firmware output on EFI.
1301
cede3ca3
VS
13022012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1303
1304 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
1305 and coreboot since it's already in kernel.
1306
558d3a60
VS
13072012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1308
1309 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
1310 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
1311 to here. New return value start. All users updated.
1312 Recursively scan linear mappings.
1313 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
1314 proto.
1315 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
1316 Use grub_util_get_dm_node_linear_info.
1317 * util/getroot.c (convert_system_partition_to_system_disk): Use
1318 grub_util_info rather than grub_dprintf.
1319 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
1320
60fde14d
VS
13212012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1322
1323 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
1324
1325 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
1326 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
1327
24bd8838
VS
13282012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1329
1330 * include/grub/types.h (grub_set_unaligned64): New function.
1331 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
1332 (setup): Likewise.
1333
7bc06a49
VS
13342012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1335
1336 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
1337 (grub_ofdisk_fini): Quiesce USB devices.
1338
49cea015
VS
13392012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1340
1341 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
1342 caches.
1343
8dcbe03b
VS
13442012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1345
1346 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
1347
5b258735
VS
13482012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1349
1350 * grub-core/disk/pata.c (grub_pata_pio_read)
1351 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
1352 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
1353
37ba07eb
VS
13542012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1355
1356 Extend automated tests to qemu-mips.
1357
1358 * Makefile.am: reorganise tests and enable qemu-mips.
1359 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
1360 * grub-core/tests/boot/linux.init-mips.S: New file.
1361 * tests/partmap_test.in: Handle ata0 disks.
1362 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
1363 non-pc i386.
1364
070038f8
VS
13652012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1366
1367 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
1368 ia64.
1369 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
1370 quotes while on it.
1371
004be2cd
VS
13722012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1373
1374 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
1375 (grub_halt): Likewise.
1376 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
1377
b1622487
VS
13782012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1379
1380 * grub-core/term/serial.c (grub_serial_register)
1381 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
1382 the behaviour in line with x86 platforms.
1383
b7b4ab33
VS
13842012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1385
1386 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
1387 (grub_ata_strncpy): Likewise.
1388 (grub_ata_identify): Add missing byteswaps.
1389
5e3535ae
VS
13902012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1391
1392 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
1393 byte-swap.
1394 (screen_read_char): Likewise.
1395 (grub_vga_text_cls): Likewise.
1396
c21b17e6
VS
13972012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1398
1399 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
1400 filenames.
1401 (make_file_path): Likewise.
1402
bf293dec
VS
14032012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1404
1405 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
1406 machines.
1407 Tested by: Paulo Flabiano Smorigo.
1408 Crucial information about API supplied by: Coleen <Last name unknown>.
1409 Reviewed by: Coleen <Last name unknown>.
1410
81f6ef0e
VS
14112012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1412
1413 * util/grub-mkimage.c: Disable -Wcast-align.
1414
7284143a
VS
14152012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1416
1417 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
1418 as they are fatal.
1419
b99f3e00
VS
14202012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1421
1422 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
1423
944f752d
VS
14242012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1425
1426 * util/grub-probe.c (escape_of_path): Fix double free.
1427
6cce6f38
VS
14282012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1429
1430 * grub-core/commands/videoinfo.c (hook): Show pitch.
1431
1e1eb50e
VS
14322012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1433
1434 * util/grub.d/20_linux_xen.in: Skip xen-syms.
1435
1c715b5a
VS
14362012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1437
1438 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
1439 (probe): Add ieee1275 to OFW devices.
1440
007ae52d
VS
14412012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
1442
1443 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
1444
4557a36d
VS
14452012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
1446
1447 Handle IBM OFW path.
1448
1449 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
1450 available.
1451 (of_path_of_scsi): Handle vdevice.
1452
efbeefe9
VS
14532012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
1454
1455 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
1456 Allocate in multiples of 16 to avoid adding a few bytes free region the
1457 windows bugs upon.
1458
15a940bb
VS
14592012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
1460
1461 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
1462 Allocate in multiples of 16 to avoid adding a few bytes free region the
1463 windows bugs upon.
1464 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
1465
6e5efd60
VS
14662012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1467
1468 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
1469 resolutions.
1470 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
1471 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
1472
0d3d137e
IS
14732012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
1474
1475 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
1476
45dbe300
VS
14772012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1478
1479 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
1480 resulted in \\ at the end of the line.
1481
6d8db947
VS
14822012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1483
1484 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
1485 (grub_parser_cmdline_state): Likewise.
1486 (grub_parser_split_cmdline): Likewise.
1487
de89d338
VS
14882012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1489
1490 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
1491 /dev/root and /dev/dm-*.
1492
00d41dee
VS
14932012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1494
1495 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
1496 fix partially stale display.
1497
f95d1f11
VS
14982012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1499
1500 * grub-core/normal/menu_entry.c (backward_char): Use right line for
1501 substraction.
1502
6297e197
VS
15032012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1504
1505 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
1506 Fix MBR remapping workaround.
1507 (grub_util_biosdisk_read) [__linux__]: Likewise.
1508
8a7ecad3
VS
15092012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
1510
1511 * util/grub-install.in: Check for ieee1275 and not ieee1276.
1512
2b34f944
VS
15132012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1514
1515 * configure.ac: Bump to beta6.
1516
684aef11
CW
15172012-05-31 Christer Weinigel <christer@weinigel.se>
1518
1519 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
1520
05b0bb91
VS
15212012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1522
1523 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
1524 (grub_cmd_linux): Likewise.
1525
bda36bfa
CW
15262012-05-31 Christer Weinigel <christer@weinigel.se>
1527
1528 Fix EHCI low-speed.
1529
1530 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
1531 (GRUB_EHCI_MULT_TWO): Likewise.
1532 (GRUB_EHCI_MULT_THREE): Likewise.
1533 (GRUB_EHCI_CMASK_MASK): New enum value.
1534 (GRUB_EHCI_SMASK_MASK): Likewise.
1535 (GRUB_EHCI_CMASK_OFF): Likewise.
1536 (GRUB_EHCI_SMASK_OFF): Likewise.
1537 (grub_ehci_pci_iter): Enable periodic schedule.
1538 (grub_ehci_parse_notrun): Likewise.
1539 (grub_ehci_restore_hw): Likewise.
1540 (grub_ehci_setup_qh): Set flags for low speed transfers.
1541 (grub_ehci_find_qh): Use periodic list for low speed.
1542 (grub_ehci_setup_transfer): Check periodic queue as well.
1543 (grub_ehci_check_transfer): Likewise.
1544 (grub_ehci_cancel_transfer): Cancel periodic transfer.
1545
e12bcb1c
PFS
15462012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1547
1548 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
1549 parameter is used.
1550
bcc75fb3
PJ
15512012-05-31 Peter Jones <pjones@redhat.com>
1552
1553 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
1554 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
1555 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
1556
f19cb95e
VS
15572012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1558
1559 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
1560 uninited variable. Allocate at least setup_sects.
1561
a4e5ca80
VS
15622012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1563
1564 Fix handling of EFI with big memory maps.
1565
1566 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
1567 (real_mode_mem): Likewise.
1568 (real_mode_target): Likewise.
1569 (real_mode_pages): Likewise.
1570 (prot_mode_pages): Likewise.
1571 (linux_params): New var.
1572 (linux_cmdline): Likewise.
1573 (free_pages): Don't set real mode variables.
1574 (allocate_pages): Don't allocate real mode memory.
1575 (grub_e820_add_region): Remove the limit.
1576 (grub_linux_boot): Allocate and copy real mode memory.
1577 (grub_linux_unload): Free linux_cmdline.
1578 (grub_cmd_linux): Use temporary storage for parameters.
1579 (grub_cmd_initrd): Likewise.
1580 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
1581 (linux_kernel_params): Make it 1K big.
1582
ddb73558
VS
15832012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1584
1585 * Makefile.util.def: Remove -Wno-format.
1586 * grub-core/Makefile.core.def: Likewise.
1587
1c4afb60
VS
15882012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1589
1590 * tests/cmp_unit_test.c: Add missing failure message.
1591 * tests/example_unit_test.c: Likewise.
1592 * tests/printf_unit_test.c: Likewise.
1593
941e3a6d
VS
15942012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1595
1596 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
1597 relaxation of protective MBR requirements.
1598
b105df76
VS
15992012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
1600
1601 * configure.ac: Add condition for COND_HOST_XNU.
1602 * Makefile.util.def (10_xnu): New script.
1603 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
1604
84e1569e
VS
16052012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
1606
1607 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
1608 objconv bug.
1609
130c0f77
VS
16102012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
1611
1612 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
1613 Binary on other platforms stays identical.
1614
6fd0b143
VS
16152012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1616
1617 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
1618 Apple.
1619
0af1751d
VS
16202012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1621
1622 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
1623
176d5f7d
VS
16242012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1625
1626 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
1627 rather than defining size_t ourselves to avoid conflict.
1628
7de5e20a
VS
16292012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1630
1631 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
1632 initialisation to avoid __bzero reference.
1633
f7143efe
VS
16342012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1635
1636 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
1637 version.
1638 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
1639 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
1640 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
1641 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
1642 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
1643
e6ad0555
VS
16442012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1645
1646 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
1647 * grub-core/kern/misc.c: Likewise.
1648 * grub-core/loader/i386/xnu.c: Likewise.
1649 * include/grub/i386/tsc.h: Likewise.
1650 * include/grub/symbol.h: Likewise.
1651
4a5a3c4a
VS
16522012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1653
1654 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
1655 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
1656 on older compiler.
1657
037f6d90
VS
16582012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1659
1660 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
1661 Implement Apple flavour.
1662 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
1663
f7194551
VS
16642012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1665
1666 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
1667 (memmove) [__APPLE__]: Likewise.
1668 (memcpy) [__APPLE__]: Likewise.
1669 (memset) [__APPLE__]: Likewise.
1670 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
1671 (memmove) [__APPLE__]: Likewise.
1672 (memcpy) [__APPLE__]: Likewise.
1673 (memset) [__APPLE__]: Likewise.
1674
85a730ca
VS
16752012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1676
1677 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
1678 dependency discard.
1679
40e80b94
VS
16802012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1681
1682 * grub-core/normal/main.c (read_config_file): Provide config_file and
1683 config_directory.
1684 * util/grub.d/41_custom.in: Use config_directoy when available.
1685
9da59c32
VS
16862012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1687
1688 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
1689 (grub_bfs_dir): Likewise.
1690
2787ae53
PJ
16912012-05-27 Peter Jones <pjones@redhat.com>
1692
1693 The old code gives arguments to a printf function which can't work
1694 correctly, and the compiler complains.
1695
1696 * grub-core/tests/example_functional_test.c (example_test): Add
1697 missing text.
1698 * grub-core/tests/lib/test.c (add_failure): Rewrite.
1699 * include/grub/test.h (grub_test_assert_helper): New declaration.
1700 (grub_test_assert): Use grub_test_assert_helper.
1701
526ef13d
VS
17022012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1703
1704 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
1705 (exfctest): ... this to avoid overlong filenames.
1706 All users updated.
1707
20dd511c
VS
17082012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1709
1710 Handle "." and ".." on squashfs.
1711
1712 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
1713 Make inode numbers into stack.
1714 (grub_squash_read_symlink): Use stack.
1715 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
1716 (make_root_node): Fill stack.
1717 (grub_squash_open): Use stack.
1718
1d80c62a
VS
17192012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1720
1721 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
1722 freeing.
1723
d336f652
VS
17242012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1725
1726 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
1727 stderr on test calls.
1728
8b43f587
VS
17292012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1730
1731 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
1732
80a3dc3f
VS
17332012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1734
1735 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
1736
47e297d4
VS
17372012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1738
1739 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
1740 "..".
1741
df042ccb
VS
17422012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1743
1744 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
1745 (grub_hfsplus_iterate_dir): Add "." and "..".
1746
fc977f48
VS
17472012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1748
1749 * grub-core/fs/cpio.c (canonicalize): Handle "..".
1750 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
1751
f3250e5f
VS
17522012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1753
1754 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
1755 (find_path): Handle "." and "..".
1756
fd8ed4c5
VS
17572012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1758
1759 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
1760 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
1761 (grub_affs_iterate_dir): Handle hardlinks.
1762
4ce776d2
MG
17632012-05-26 Matthew Garrett <mjg@redhat.com>
1764
1765 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
1766 (grub_efi_console_fini): Likewise.
1767 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
1768 (grub_video_gop_fill_mode_info): Rename to ...
1769 (grub_video_gop_fill_real_mode_info): ... this.
1770 (grub_video_gop_fill_mode_info): New function.
1771 (grub_video_gop_setup): Setup double framebuffer.
1772 (grub_video_gop_get_info_and_fini): Use original framebuffer.
1773 Free offscreen.
1774 (grub_video_gop_swap_buffers): Copy framebuffer.
1775 (grub_video_gop_fini): Free offscreen buffer.
1776 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
1777 New enum.
1778 (grub_efi_gop_blt_pixel): New struct.
1779
683031ba
VS
17802012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
1781
1782 * gentpl.py: Remove error disabling for objconv.
1783
c2deb798
VS
17842012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
1785
1786 * configure.ac: Remove -Wunitialized as it's not available on older
1787 compilers.
1788
17892012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
1790
1791 Fix extent overflow comparator.
1792
1793 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
1794 (grub_hfsplus_read_block): Set type.
1795 (grub_hfsplus_cmp_extkey): Compare type.
1796
d6b1fd36
VS
17972012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
1798
1799 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
1800
0a9aa0f6
VS
18012012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
1802
1803 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
1804 than 0.
1805
8360e159
VS
18062012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
1807
1808 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
1809 (dejavu_bold_14.pf2): New target.
1810
501b9e4b
VS
18112012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
1812
1813 * configure.ac: Fix djvu font detection.
1814
7026b0e2
VS
18152012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1816
1817 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
1818 ext* instead of ext2.
1819
c2a51ade
VS
18202012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1821
1822 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
1823 name with \0.
1824
8f803a5d
JU
18252012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
1826
1827 * docs/grub-dev.texi: Remove dot from .png.
1828
13c6353f
VS
18292012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1830
1831 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
1832 protective entry in any slot.
1833 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
1834 if protective entry is found in any slot.
1835
1836 Protective entry in non-first slot make no sense but is a widespread
1837 brain damage.
1838
4cf6be1b
VS
18392012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1840
1841 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
1842
937d1c44
VS
18432012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1844
1845 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
1846 with old reiserfs.
1847 (grub_reiserfs_open): Don't free root.
1848
021d90ec
VS
18492012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1850
1851 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
1852 after freeing for safety.
1853
967b2b64
VS
18542012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1855
1856 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
1857 Reported by: Jordan Uggla.
1858
34274d02
JU
18592012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
1860
967b2b64
VS
1861 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
1862 actual implementation. Specifically, clarify that the grub menu will
1863 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
1864 passed.
34274d02 1865
dcaaae9d
BH
18662012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
1867
1868 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
1869 of r0.
1870
7086ad52
VS
18712012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1872
1873 Remove unjustified hard dependency of normal.mod on gfxterm.
1874
1875 * include/grub/term.h (grub_term_output): New member fullscreen.
1876 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
1877 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
1878 (grub_gfxterm): Set .fullscreen.
1879 * grub-core/normal/menu.c (menu_init): Use fullscreen.
1880 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
1881
37ed2c9b
VS
18822012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1883
1884 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
1885 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 1886 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 1887
a4469c88
VS
18882012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1889
1890 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
1891
4e461486
VS
18922012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1893
1894 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
1895 a bad FS.
1896
aa78f5c4
VS
18972012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1898
1899 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
1900 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
1901
197626b5
VS
19022012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1903
1904 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
1905 (grub_jfs_mount): Fill caseins.
1906 (grub_jfs_find_file): Respect caseins.
1907
8ad3f28c
VS
19082012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1909
1910 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
1911 through UTF-16.
1912
0c6c324e
VS
19132012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1914
1915 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
1916 New argument origpath. All users updated.
1917
c6666ba6
VS
19182012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1919
1920 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
1921 (read_attr): Ensure that we read start of possibly compressed block.
1922
e28e5fe5
VS
19232012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1924
1925 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
1926 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
1927 All users updated.
1928
5fc23ab2
VS
19292012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1930
1931 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
1932 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
1933 (dejavu.pf2): Replace with ...
1934 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
1935 this.
1936
79dbc21c
VS
19372012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1938
1939 * util/grub.d/20_linux_xen.in: Add missing line.
1940
d2fcfb0c
VS
19412012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1942
1943 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
1944 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
1945 (grub_utf16_to_utf8): Likewise.
1946
5560e9d6
VS
19472012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
1948
1949 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
1950 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
1951 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
1952 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
1953 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
1954 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
1955
19562012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
1957
1958 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
1959 a bad FS.
1960
5560e9d6 19612012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
1962
1963 * grub-core/fs/udf.c (read_string): Bail out on size=0.
1964 (grub_udf_read_symlink): Handle read_string failure.
1965
5eae3175
VS
19662012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1967
1968 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
1969 comment.
1970
c1ad82db
VS
19712012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1972
1973 Fix handling of UDF symlinks.
1974
1975 * grub-core/fs/udf.c (read_string): New argument outbuf.
1976 All users updated.
1977 (grub_ufs_read_symlink): Rename to ...
1978 (grub_udf_read_symlink): ... this. All users updated.
1979 Handle symlinks with more than one component.
1980
33eca6e0
VS
19812012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1982
1983 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
1984 symlinks. Replace leading colon with a slash.
1985
57f4a70b
VS
19862012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1987
1988 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
1989 filename.
1990
38c8ee20
VS
19912012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1992
1993 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
1994 match in inner node.
1995
2e57f28f
VS
19962012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1997
1998 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
1999 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
2000 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
2001 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
2002 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
2003 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
2004 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
2005 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
2006 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
2007
fe8c2f11
VS
20082012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
2009
2010 Use grub-probe and not cmp to check that disk is empty.
2011
2012 * util/grub-install.in: Use grub-probe for zero-check.
2013 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
2014 (probe): Handle PRINT_ZERO_CHECK.
2015 (argp_parser): Handle -t zero_check.
2016
20172012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
2018
2019 Flush block cache on adding disk to device map.
2020
2021 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
2022 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
2023 adding.
2024 (read_device_map): Likewise.
2025 (open_device): Flush on opening.
2026
690434e8
VS
20272012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2028
2029 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
2030 (handle_symlink): Fix off-by-one error.
2031 Canonicalize the target.
2032 (grub_cpio_dir): Canonicalize the name.
2033 Fix memory leak.
2034 Set directory.
2035 (grub_cpio_open): Canonicalize the name.
2036
742d2be6
VS
20372012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2038
2039 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
2040 handling.
2041
3244fe96
VS
20422012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2043
2044 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
2045 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
2046
8aeb1837
VS
20472012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2048
2049 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
2050 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 2051 All users updated.
8aeb1837 2052
9133fd05
VS
20532012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2054
2055 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
2056 counterpart.
2057
6d521c5b
VS
20582012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
2059
2060 Fix UFS1 big file support.
2061
2062 * grub-core/fs/ufs.c (INODE): Removed.
2063 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
2064 64-bit.
2065 (INODE_MODE): Simplify.
2066 (grub_ufs_inode): Use uint64_t for size and not int64_t.
2067 (grub_ufs_lookup_symlink): Don't use INODE.
2068
21b82e17
VS
20692012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2070
2071 Fix minixfs with non-power-of-two blocks since it's supported by minix.
2072
2073 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
2074 (grub_minix_data): Replace log_block_size with block_size.
2075 (grub_minix_read_file): Use block_size but avoid 64-bit division.
2076 (grub_minix_mount): Fill block_size.
2077
20782012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
2079
2080 * configure.ac: Bump to beta5.
2081
f417ed04
VS
20822012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2083
2084 Fix wrapped HFS+ handling.
2085
2086 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
2087 blocks_start. All users updated.
2088 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
2089 wrapping offset.
2090 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
2091
607d282b
VS
20922012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2093
2094 Fix long symlinks on reiserfs.
2095
2096 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
2097 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
2098 (grub_reiserfs_iterate_dir): Save size for non-directories.
2099 (grub_reiserfs_open): Don't reread stat block as we already know the
2100 size.
2101 (grub_reiserfs_read): Split into...
2102 (grub_reiserfs_read_real): ... and ...
2103 (grub_reiserfs_read): ...this.
2104
ae16024d
VS
21052012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2106
2107 Fix non-indexed JFS.
2108
2109 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
2110 (grub_jfs_data): New field namecomponentlen.
2111 (grub_jfs_mount): Fill namecomponentlen.
2112 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
2113
eea1e26e
VS
21142012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2115
2116 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
2117 * tests/grub_script_echo1.in: Add tests.
2118
df760f77
VS
21192012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2120
2121 * util/grub-install.in: Ignore empty devicetree directory.
2122
5efb817d
B
21232012-05-08 Bean <bean123ch@gmail.com>
2124
2125 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
2126 All users updated.
2127 (free_rsm): Free header as well.
2128 (free_old_fragments): Fix memory leak.
2129 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
2130 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
2131 (destroy_pq): Likewise.
2132 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
2133
668ea6d2
VS
21342012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2135
2136 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
2137 resulting hash as a precaution.
2138
1739b1fe
VS
21392012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2140
2141 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
2142 '_' in variable names.
2143 * grub-core/net/net.c (grub_net_network_level_interface_register):
2144 Likewise.
2145
6ae485aa
VS
21462012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2147
2148 Fix AFFS with non-512B blocks.
2149
2150 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
2151 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
2152 (grub_affs_data): Replace blocksize with log_blocksize.
2153 (grub_affs_read_block): Fix non-512B blocks.
2154 (grub_affs_read_symlink): Likewise.
2155 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
2156 (grub_affs_read): Fix non-512B blocks.
2157 (grub_affs_label): Likewise.
2158 (grub_affs_mtime): Likewise.
2159 (grub_affs_mount): Fix block detection routine.
2160
d20fab84
VS
21612012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2162
2163 Add filesystem mtime to AFFS.
2164
2165 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
2166 (aftime2ctime): New function.
2167 (grub_affs_dir): Use aftime2ctime.
2168 (grub_affs_label): Fix return value.
2169 (grub_affs_mtime): New function.
2170 (grub_affs_fs): Add mtime.
2171
e87b10f5
VS
21722012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2173
2174 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
2175 UTF-8.
2176
7dceec9b
VS
21772012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2178
2179 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
2180 UTF-8.
2181
2f48221f
VS
21822012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2183
2184 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
2185
dacd85cf
VS
21862012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2187
2188 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
2189 flags.
2190 (FLAGS_CASE_SENSITIVE): New enum value.
2191 (cache_entry): New struct.
2192 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
2193 cache_size and cache.
2194 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
2195 Add log_blocksize and fshelp_flags.
2196 (grub_sfs_read_extent): Handle non-512 blocks.
2197 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
2198 (grub_sfs_read_file): Handle non-512 blocks.
2199 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
2200 fshelp_flags.
2201 (grub_sfs_read_symlink): Handle non-512 blocks.
2202 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
2203 (grub_sfs_dir): Free cache.
2204 (grub_sfs_close): Likewise.
2205
24e9a854
VS
22062012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
2207
2208 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
2209 filesystems.
2210
62ace64d
VS
22112012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
2212
2213 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
2214
83b2e89c
VS
22152012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
2216
2217 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
2218
75ccaea3
VS
22192012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
2220
2221 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
2222 (grub_sfs_read_extent): Likewise.
2223 (grub_sfs_read_block): Likewise.
2224 (grub_sfs_mount): Likewise.
2225 (grub_sfs_iterate_dir): Likewise.
2226 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
2227 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
2228
1b8463f2
VS
22292012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2230
2231 Fix errors on compressed NTFS with 512B clusters.
2232
2233 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
2234 types.
2235 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
2236 not 0.
2237 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
2238 Relax check for inline extents.
2239 (ntfscomp): Return correct -1 on error and not 0.
2240
4f8e368f
VS
22412012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2242
2243 * util/grub-install.in: Fix handling of prefix containing spaces.
2244
6f5d5ee8
VS
22452012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2246
2247 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
2248 (grub_squash_read_data): Fix offset byte-swapping.
2249
ce41ab7a
VS
22502012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2251
2252 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
2253 per common usage and preffered in several parts of code.
2254 (grub_memcmp): Likewise.
2255 (grub_strncmp): Likewise.
2256 * include/grub/misc.h (grub_strcasecmp): Likewise.
2257 (grub_strncasecmp): Likewise.
2258 * Makefile.util.def (cmp_test): New test.
2259 (grub_script_strcmp): Likewise.
2260 * tests/cmp_unit_test.c: New file.
2261 * tests/grub_script_strcmp.in: Likewise.
2262 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
2263
49717bf4
VS
22642012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2265
2266 * include/grub/pci.h: Move enums into no-asm part.
2267
0a308f64
VS
22682012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2269
2270 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
2271
1796965f
ST
22722012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
2273
2274 * util/getroot.c (find_hurd_root_device): Try to make error message
2275 and comments to translators clearer.
2276
4e9b2819
VS
22772012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2278
2279 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
2280
076aeb50
VS
22812012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2282
2283 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
2284 btrfs.
2285
19424d94
VS
22862012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2287
2288 * docs/grub.cfg: Update.
2289
ebb73076
VS
22902012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2291
2292 * docs/grub.texi (PXE): Remove not present variables.
2293
9a1b669c
VS
22942012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2295
2296 * grub-core/net/net.c (defserver_set_env): New function.
2297 (defserver_get_env): Likewise.
2298 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
2299
d38bf7d3
VS
23002012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2301
2302 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
2303 entries.
2304
23052012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
2306
2307 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
2308 * grub-core/kern/emu/hostdisk.c: Likewise.
2309
e5e4ca48
ST
23102012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
2311
2312 Handle hurd userspace partitions.
2313
2314 * util/getroot.c (find_hurd_root_device): New function.
2315 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
2316
56bb5dd5
VS
23172012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2318
2319 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
2320 names.
2321 Reported by: Bastian Blank.
2322
9e8bc27a
VS
23232012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2324
2325 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
2326 crossing page boundary.
2327
aa01499d
VS
23282012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2329
2330 Fix B-tree search in BFS, especially in presence of non-ASCII
2331 characters.
2332
2333 * grub-core/fs/bfs.c (bfs_strcmp): New function.
2334 (find_in_b_tree): Use standard bsearch + btree algorithm.
2335
57006035
VS
23362012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2337
2338 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
2339 and so on.
2340
9d34bb85
MG
23412012-05-03 Matthew Garrett <mjg@redhat.com>
23422012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2343
2344 Suspend broadcom cards in order to stop their DMA.
2345
2346 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
2347 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
2348 (pci): Don't build on x86 EFI.
2349 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
2350 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
2351 New function.
2352 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
2353 stop_broadcom if running on EFI.
2354 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
2355 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
2356 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
2357 (grub_pci_find_capability): New proto.
2358
01aab997
VS
23592012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2360
2361 * docs/grub.texi: Remove dot from the extension as it apparently
2362 doesn't work with some makeinfo versions.
2363
fbd8dca6
VS
23642012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2365
2366 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
2367 with GRUB expectance.
2368
dab797f4
VS
23692012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2370
2371 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
2372
1516bfb4
VS
23732012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2374
2375 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
2376 zero after directory block since last entry may be not 0-terminated if
2377 it ends on block boundary. Use continue instead of if spanning whole
2378 loop.
2379
a3a0eace
VS
23802012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2381
2382 Support 4K sectors UDF inline files.
2383
2384 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
2385 (grub_udf_extended_file_entry): Likewise.
2386 (grub_fshelp_node): Name the anonymous union. Put block at the end.
2387 All users updated.
2388 (get_fshelp_size): New function.
2389 (grub_udf_read_icb): Read whole block.
2390 (grub_udf_iterate_dir): Likewise.
2391 (grub_udf_dir): Likewise.
2392 (grub_udf_open): Likewise.
2393
c82f16c1
VS
23942012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2395
2396 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
2397
59fd2aac
VS
23982012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2399
2400 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
2401 inline symlinks in addition to workaround.
2402
3b4afb4d
VS
24032012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2404
2405 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
2406
f45c794a
VS
24072012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2408
2409 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
2410
f25cecbd
VS
24112012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2412
2413 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
2414
bb9a34e8
VS
24152012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2416
2417 Fix reiserfs big seek times.
2418
2419 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
2420 exact. All users updated.
2421 (grub_reiserfs_read): Use nearest btree search for seeking.
2422 Fix return value on error.
2423
dc478aea
VS
24242012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2425
2426 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
2427 entries.
2428 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
2429 * docs/grub.texi: Update menuentry description.
2430
8db10f47
VS
24312012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2432
2433 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
2434 crash when embedding onto filesystem.
2435
bcb288ed
VS
24362012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2437
2438 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
2439 name.
2440
a626fdd7
VS
24412012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2442
2443 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
2444
b2f68477
VS
24452012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2446
2447 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
2448 commit.
2449
ba15b2af
B
24502012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
24512012-05-01 Bean <bean123ch@gmail.com>
2452
2453 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
2454
a188012e
VS
24552012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2456
2457 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
2458 Special behaviour for len = 0 to read whole file isn't used anywhere and
2459 can cause buffer ovewrflows in several places.
2460
f0a53ed2
VS
24612012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2462
2463 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
2464
5ed554f0
VS
24652012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2466
2467 Handle RAIDZ on non-512B sectors.
2468
2469 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
2470 max_children_ashift.
2471 (fill_vdev_info_real): Fill max_children_ashift.
2472 (read_device): Use max_children_ashift.
2473
ddc58357
VS
24742012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2475
2476 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
2477
e3282399
VS
24782012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2479
2480 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
2481 disk names.
2482 * docs/grub.texi: Update device.map parts.
2483
ee618bd4
VS
24842012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2485
2486 Don't scan into non-diskfilter devices having diskfilter names.
2487
2488 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
2489 (scan_disk): New argument accept_diskfilter. Fix recursion depth
2490 handling.
2491 (scan_disk_hook): New function.
2492
bdf88864
B
24932012-04-29 Bean <bean123ch@gmail.com>
2494
2495 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
2496 allocation.
2497
32745f51
MK
24982012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
2499
2500 * configure.ac: Detect starfield theme font path
2501 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
2502
bc95c8c0
VS
25032012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2504
2505 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
2506 geometry on serial consoles.
2507
147fbcab
VS
25082012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2509
2510 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
2511 because of network consoles.
2512
0f42c889
VS
25132012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2514
2515 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
2516 handling.
2517
4a3594c9
VS
25182012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2519
2520 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
2521 falls on Q syndrom.
2522
5cb53879
VS
25232012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2524
2525 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
2526 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
2527
b282dfe5
VS
25282012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2529
2530 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
2531 Allocate at lest 8192 for temporary buffer as required for lzo.
2532
daa59f47
VS
25332012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2534
2535 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
2536 to cluster_bits, since it's already added in.
2537 (grub_fat_read_data): Likewise.
2538
986748ce
VS
25392012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2540
2541 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
2542 as long as cluster size is multiple of 512 bytes.
2543
a20f6ad0
VS
25442012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
2545
2546 * util/grub-mkrescue.in: Fix locale directory.
2547
385f9abb
VS
25482012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
2549
2550 * grub-core/kern/emu/hostdisk.c (map): Make static.
2551
1c557d30
B
25522012-04-23 Bean <bean123ch@gmail.com>
2553
2554 * util/grub-fstest.c (fstest): Add missing break.
2555
524b5d3a
ST
25562012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
2557
2558 Fix hurd build.
2559
2560 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
2561 not define nr variable.
fe4824e9 2562 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
2563 find_root_devices_from_poolname, find_root_devices_from_libzfs,
2564 grub_find_device): Do not define.
524b5d3a 2565
9a06490c
VS
25662012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
2567
2568 Fix kfreebsd compile and behaviour.
2569
2570 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
2571 format-security.
2572 * util/getroot.c: Fix wait.h include.
2573 (grub_guess_root_devices): Error if grub_find_device fails.
2574 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
2575 (grub_util_get_dev_abstraction): Likewise.
2576 (grub_util_pull_device): Likewise.
2577 (grub_util_get_grub_dev): Likewise.
2578 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
2579
48143d96
VS
25802012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
2581
2582 Fix and unify wholedisk detection.
2583
2584 * util/getroot.c (convert_system_partition_to_system_disk): New argument
2585 is_part. All users updated.
2586 (device_is_wholedisk): Removed.
2587 (grub_util_biosdisk_get_grub_dev): Use is_part.
2588
ebbd24f3
VS
25892012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2590
2591 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
2592 mode.
2593
56f7aa1e
VS
25942012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2595
2596 * configure.ac: Bump to beta4.
2597
9c815e01
VS
25982012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2599
2600 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
2601 --fs-uuid --set UUID syntax.
2602
59e2651a
VS
26032012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2604
2605 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
2606 disunification.
2607
54e03cfc
VS
26082012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2609
2610 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
2611
81092a75
MK
26122012-04-18 Mads Kiilerich <mads@kiilerich.com>
2613
2614 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
2615
f8315e14
MG
26162012-04-18 Mike Gilbert <floppym@gentoo.org>
2617
2618 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
2619
1501ac21
B
26202012-04-18 Bean <bean123ch@gmail.com>
2621
2622 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
2623 place.
2624
cb7f944e
VS
26252012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2626
2627 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
2628 users updated.
2629 (grub_util_biosdisk_read): Handle Linux partitions not exactly
2630 corresponding to GRUB partitions.
2631 (grub_util_biosdisk_write): Likewise.
2632
b72d44a1
VS
26332012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2634
2635 Scan mdraid before LVM.
2636
2637 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
2638 (grub_diskfilter_register_front): ... this.
2639 (grub_diskfilter_register_back): New function.
2640 All users of grub_diskfilter_register updated.
2641
33d918b8
VS
26422012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2643
2644 * util/grub-install.in: Fix an automatic target detection bug.
2645
c6ca973d
VS
26462012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2647
2648 * util/grub-install.in: New option --efi-directory.
2649
b41be562
VS
26502012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2651
2652 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
2653 boot services if we have no other choice.
2654
26552012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2656
2657 * util/grub-mknetdir.in: Rename --override-directory to --directory and
2658 document it.
2659 * tests/util/grub-shell.in: Update to --directory.
2660
e0595a73
VS
26612012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2662
2663 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
2664
4ed80652
VS
26652012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2666
2667 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
2668 (grub_minix_read_file): Likewise.
2669 (grub_minix_read_inode): Likewise.
2670 (grub_minix_find_file): Likewise.
2671 (grub_minix_dir): Likewise.
2672
56008077
VS
26732012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2674
2675 * util/grub-setup.c (setup): Fix partition handling and blocklist
2676 check.
2677
ee520775
VS
26782012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2679
2680 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
2681 redundant buggy overlap check.
2682
16fc9293
VS
26832012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2684
2685 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
2686 and grub-mknetdir.
2687
9bab65c4
VS
26882012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2689
2690 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
2691 kh.loadflags on pre-2.00 kernels.
2692
3c491b47
VS
26932012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2694
2695 Terminate UNDI and PXE before launching the payload to avoid problems
2696 with DMA.
2697
2698 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
2699 (grub_loader_flags): ... this. All users updated.
2700 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
2701 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
2702 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
2703 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
2704 function.
2705 (grub_pxe_restore): Likewise.
2706 (fini_hnd): New var.
2707 (GRUB_MOD_INIT): Register shutdown hook.
2708 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
2709 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
2710 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
2711 (grub_loader_set): Rename second argument to flags.
2712
851ffada
VS
27132012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2714
2715 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
2716 written bytes.
2717 (grub_get_num_of_utf8_bytes): New function.
2718 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
2719 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
2720 executing it.
2721 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
2722 (grub_ucs4_to_utf8): Change return type.
2723
491c57a8
VS
27242012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2725
2726 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
2727 warning.
851ffada
VS
2728 * grub-core/fs/bfs.c (hop_level): Likewise.
2729 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 2730
756773df
VS
27312012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2732
2733 * grub-core/lib/adler32.c: Recode due to license unclearness.
2734
fd556a96
VS
27352012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2736
2737 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
2738 (test_header): Likewise.
2739
9f9d3f69
VS
27402012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2741
2742 Fix --help formatting.
2743
2744 * util/grub-mkconfig_lib.in (print_option_help): New function.
2745 (grub_fmt): Likewise.
2746 * util/grub-install.in: Use print_option_help and grub_fmt.
2747 * util/grub-kbdcomp.in: Likewise.
2748 * util/grub-mkconfig.in: Likewise.
2749 * util/grub-mknetdir.in: Likewise.
2750 * util/grub-mkrescue.in: Likewise.
2751 * util/grub-mkstandalone.in: Likewise.
2752 * util/grub-reboot.in: Likewise.
2753 * util/grub-set-default.in: Likewise.
2754 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2755
561ec77e
VS
27562012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2757
2758 * linguas.sh: Remove autogenerated *.po.
2759
7ec2b021
VS
27602012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2761
2762 * po/README: Move language fetcing to ...
2763 * linguas.sh: ... here.
2764 * po/README: Point to linguas.sh.
2765
a88f3270
VS
27662012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2767
2768 * po/README: Exclude ko.po due to disclaimer problems.
2769
d61357ce
VS
27702012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2771
2772 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
2773 len = 0.
2774 (grub_gettext_translate_real): Handle 0th string.
2775 (grub_gettext_translate): Ensure that "" isn't translated.
2776
505e41dc
VS
27772012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2778
2779 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
2780 TRANSLATORS comment.
2781 (grub_diskfilter_print_partmap): Propagate changing of error into
2782 warning.
2783
e44092db
VS
27842012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2785
2786 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
2787 to uint64_t to prevent overflow.
2788 (grub_diskfilter_lv): Increase start_extent and extent_count
2789 to uint64_t to prevent overflow.
2790
9b83956a
VS
27912012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2792
2793 * configure.ac: Increase version.
2794
da0d5b3f
VS
27952012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2796
2797 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
2798
2799 * po/Rules-translit: New file.
2800 * po/arabic.sed: Likewise.
2801 * po/cyrillic.sed: Likewise.
2802 * po/greek.sed: Likewise.
2803 * po/hebrew.sed: Likewise.
2804 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
2805 * po/Makefile.in.in: Add extra_dist4.
2806
ac66b453
VS
28072012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2808
2809 Handle big-endian minixfs (fixes minixfs tests on bigendian).
2810
2811 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
2812 modify names. Introduce MODE_BIGENDIAN.
2813 * grub-core/fs/minix_be.c: New file.
2814 * grub-core/fs/minix2_be.c: Likewise
2815 * grub-core/fs/minix3_be.c: Likewise.
2816 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
2817 minix3_be.
2818 * grub-core/Makefile.core.def (minix_be): New module.
2819 (minix2_be): Likewise.
2820 (minix3_be): Likewise.
2821
28222012-04-01 Felix <email@hamburg.de>
2823
2824 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
2825 (devs): Add MBP 2011.
2826
0a2d5a82
VS
28272012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2828
2829 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
2830
d1625889
VS
28312012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2832
2833 * grub-core/normal/cmdline.c (print_completion): New field
2834 prompt_len.
2835 (grub_cmdline_get): Handle width properly.
2836
6d36a236
VS
28372012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2838
2839 * grub-core/commands/lsacpi.c (options): Add missing terminator.
2840
9576977e
VS
28412012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2842
2843 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 2844 after 29th of February.
9576977e 2845
d73ff15d
VS
28462012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2847
2848 Fix exfat endianness handling.
2849
2850 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
2851 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
2852 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
2853 Byte-swap utf16 when necessary.
2854 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
2855
bbb39a45
AB
28562012-03-31 Anton Blanchard <anton@samba.org>
28572012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2858
2859 Fix btrfs endianness handling.
2860
2861 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
2862 (lower_bound): Make root uint64_t. Use root in le.
2863 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
2864 (find_path): Fix template key init.
2865 (grub_btrfs_dir): Fix mtime byteswap.
2866 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
2867
354e0af7
VS
28682012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2869
2870 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
2871 recursion_depth. Break infinite resursions. All users updated.
2872
4e75f21c
VS
28732012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2874
2875 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
2876 after free.
2877 Reported by: Peter Jones.
2878
25581802
AB
28792012-03-31 Anton Blanchard <anton@samba.org>
2880
2881 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
2882 8 bit values.
2883
08fbf92e
VS
28842012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2885
2886 * util/grub-install.in: Fix nvram call for PreP.
2887
5d1182a6
VS
28882012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2889
2890 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
2891 the error when some elements are missing into a warning.
2892
3f8cdd90
VS
28932012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2894
2895 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
2896
51006716
CW
28972012-03-28 Colin Watson <cjwatson@ubuntu.com>
2898
2899 * docs/grub.texi (Invoking grub-probe): New section.
2900 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
2901
e1bd676b
VS
29022012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
2903
2904 Fix tab and wide character handling in editor and menu.
2905
2906 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
2907 agglomerate control characters with combining marks.
2908 (bidi_line_wrap): Allow break on tab.
2909 (grub_unicode_get_comb_start): New function.
2910 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
2911 and tab correctly.
2912 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
2913 with a space.
2914 * grub-core/normal/term.c (print_ucs4_terminal): New argument
2915 fixed_tab_size. All users updated.
2916 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
2917 (grub_term_getcharwidth): Handle \t.
2918 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
2919 and copy.
2920
22e6a774
VS
29212012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2922
2923 Handle big-endian mdraid.
2924
2925 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
2926 * grub-core/Makefile.core.def (mdraid09_be): New module.
2927 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
2928 rather than grub_le_to_cpu* and grub_cpu_to_le*.
2929 * grub-core/disk/mdraid_linux_be.c: New file.
2930
3c0eae66
VS
29312012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2932
2933 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
2934
b6cf74c9
VS
29352012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2936
2937 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
2938 missing quotes which caused confusion among translators.
2939
83c93b9c
VS
29402012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2941
2942 * util/grub-mkconfig_lib.in: Fix typo.
2943
ac6fd218
VS
29442012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2945
2946 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
2947 spaces.
2948 * tests/grub_script_leading_whitespace.in: New file.
2949 * Makefile.util.def (grub_script_leading_whitespace): New test.
2950
ba287dd8
VS
29512012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2952
2953 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
2954 to work.
2955
d2d58d0a
VS
29562012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2957
2958 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
2959 starts with control character.
2960
0382d9bb
VS
29612012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2962
2963 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
2964 overflow.
2965 (grub_gdb_outbuf): Likewise.
2966
d83ff9f9
VS
29672012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2968
2969 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
2970 zero terminator. Fixes a crash.
2971
2282da4a
VS
29722012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2973
2974 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
2975 beyond 4 GiB.
2976 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
2977 images independently of preffered adderss field.
2978
0ae4f0bd
VS
29792012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2980
2981 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
2982 * grub-core/commands/regexp.c: Likewise.
2983 * grub-core/loader/i386/linux.c: Likewise.
2984 * grub-core/partmap/msdos.c: Likewise.
2985 * grub-core/script/execute.c: Likewise.
2986 * grub-core/term/gfxterm.c: Likewise.
2987
546fbe9b
VS
29882012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2989
2990 Add variable parsing in $"..." and fix several mismatches with bash.
2991
2992 * Makefile.util.def (grub_script_gettext): New test.
2993 * grub-core/script/execute.c (parse_string): New function.
2994 (gettext_append): Likewise.
2995 (grub_script_arglist_to_argv): Use gettext_append.
2996 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
2997 * tests/grub_script_gettext.in: New file.
2998
9fdb2d7b
VS
29992012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
3000
3001 Fix handling of leading spaces in scripts.
3002
3003 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
3004 spaces.
3005 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
3006 other than skipping \r. All users updated.
3007 * tests/grub_script_echo1.in: Add space-related tests.
3008 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
3009
1a1ac4f6
VS
30102012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
3011
3012 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
3013
b63d89b6
VS
30142012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3015
3016 * configure.ac: Bump up the version to beta2.
3017
17f38c0f
VS
30182012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3019
3020 Fix gettext reload bugs (e.g. inability to disable gettext
3021 once enabled).
3022
3023 * grub-core/gettext/gettext.c: Encapsulate all static variables in
3024 main_context and secondary_context. All functions updated.
3025 (grub_gettext_translate): Rename to ...
3026 (grub_gettext_translate_real): ... this. Return NULL on failed
3027 translate.
3028 (grub_gettext_translate): Handle secondary context.
3029 (grub_gettext_delete_list): Close file and zero-out the context.
3030 (grub_mofile_open): Don't call grub_gettext_delete_list.
3031 Don't close file.
3032 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
3033 if locale="" to avoid pointless error message.
3034 (grub_gettext_env_write_lang): Update lang even if load fails.
3035 Handle secondary context.
3036 (grub_gettext_reread_prefix): New function.
3037 (read_main): Likewise.
3038 (read_secondary): Likewise.
3039 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
3040 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
3041 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
3042 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
3043
8e56f870
VS
30442012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3045
3046 * configure.ac: Decrease warning level to avoid spurious warnings and
3047 to be able to compile with GCC 4.2.
3048 * Makefile.util.def: Remove -Wno-error=logical-op.
3049
82f6d455
WB
30502012-03-10 William Bittner <william.bittner@gmail.com>
3051
3052 * util/import_unicode.py: Add missing brackets around string for
3053 python 3 support.
3054
1ecd61a4
VS
30552012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3056
3057 Fix efi chainloader on network root.
3058
3059 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
3060 network devices.
3061 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
3062 New function.
3063
14361ee8
VS
30642012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3065
3066 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
3067 unused show_text member.
3068 * docs/grub.texi: Document "text" property.
3069
922aabf3
VS
30702012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3071
3072 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
3073 in dprintf.
3074
ec316771
VS
30752012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3076
3077 Fix IMSM handling on Fedora.
3078
3079 * util/getroot.c (grub_util_is_imsm): New function.
3080 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
3081
0f021838
VS
30822012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3083
3084 * Makefile.am: Strip gold section.
3085 * conf/Makefile.common: Likewise.
3086 * gentpl.py: Likewise.
3087 * grub-core/Makefile.core.def: Likewise.
3088 * grub-core/genmod.sh.in: Likewise.
3089
1039c8eb
VS
30902012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3091
3092 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
3093 * util/grub.d/20_linux_xen.in: Likewise.
3094 Based on Debian patch.
3095
6dd412cd
VS
30962012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3097
3098 * util/grub.d/10_linux.in: Fix syntax error resulting in
3099 Richard Laager's patch.
3100 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
3101
3fd8bae5
VS
31022012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3103
3104 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
3105 dependencies.
3106
7eea1671
RL
31072012-03-10 Richard Laager <rlaager@wiktel.com>
3108
3109 * util/grub.d/10_linux.in: Fix ZFS root passing.
3110
e8e0566b
VS
31112012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3112
3113 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
3114 * grub-core/commands/xnu_uuid.c: Likewise.
3115 * grub-core/loader/efi/appleloader.c: Likewise.
3116 * grub-core/script/execute.c: Likewise.
3117 * grub-core/script/main.c: Likewise.
3118 * util/grub-mkfont.c: Likewise.
3119
1acc5b1f
VS
31202012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3121
3122 * util/grub-mkfont.c (options): Use more appropriate "select" that
3123 "set" for face index.
3124
35d70620
VS
31252012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3126
3127 * util/grub-editenv.c (options): Gettextize command summaries.
3128
c9eb96b5
VS
31292012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3130
3131 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
3132 "out of memory" error messagge.
3133
1f493136
VS
31342012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3135
3136 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
3137 of diskfilter for diskfilter on diskfilter support.
3138
6d790129
VS
31392012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3140
3141 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
3142
005f46c9
VS
31432012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3144
3145 * util/grub-install.in: Check for themes/starfield/theme.txt and not
3146 themes/starfield.
3147
c8f778a0
VS
31482012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3149
3150 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
3151
de1e64eb
VS
31522012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3153
3154 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
3155
c6d54211
VS
31562012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3157
3158 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
3159 of error message.
3160
dd390777
VS
31612012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
3162
3163 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
3164
5fd1c522
VS
31652012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
3166
3167 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
3168 message.
c6d54211 3169 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 3170
fae01f6c
VS
31712012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3172
3173 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
3174 Gettextize.
3175 * util/grub-mount.c (options): Likewise.
3176
292fdaff
VS
31772012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3178
3179 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
3180 gettextize.
3181 * grub-core/commands/search_wrap.c (options): Likewise.
3182
ecdbae77
VS
31832012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3184
3185 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
3186
52bfedfa
VS
31872012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3188
3189 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
3190 size calculation.
3191 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
3192 none is known.
3193
55b20e58
VS
31942012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3195
3196 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
3197 "temporary" since it's used in identifier and is limited in space.
3198
fda9d101
VS
31992012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3200
3201 * po/POTFILES.in: Regenerate. Include *.h since they contain
3202 translatable strings as well.
3203
6a0295e2
VS
32042012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3205
3206 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
3207 byte-swap on big-endian.
3208 Reported by: Lennart Sorensen
3209
807fb77c
VS
32102012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
3211
3212 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
3213 (allocate_pages): Improve dprintf.
3214 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
3215 code32_start. Fill code32_start and kernel_alignment in params.
3216 (grub_cmd_initrd): Use prot_init_space.
3217
61ac50ba
VS
32182012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3219
3220 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
3221
abdd26dd
VS
32222012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3223
3224 * util/grub-install.in: Add missing dot at the end of sentence.
3225
6e69da9c
VS
32262012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3227
3228 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
3229 * grub-core/commands/videotest.c: Likewise.
3230 * grub-core/loader/i386/linux.c: Likewise.
3231
4a929343
VS
32322012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3233
3234 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
3235 sentence.
3236 Reported by: Milo Casagrande.
3237
bb51c6c6
VS
32382012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3239
3240 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
3241 * grub-core/commands/gptsync.c: Likewise.
3242 * grub-core/commands/hashsum.c: Likewise.
3243 * grub-core/commands/i386/pc/sendkey.c: Likewise.
3244 * grub-core/commands/legacycfg.c: Likewise.
3245 * grub-core/io/gzio.c: Likewise.
3246 * grub-core/net/net.c: Likewise.
3247 * grub-core/term/gfxterm.c: Likewise.
3248 * grub-core/term/terminfo.c: Likewise.
3249 * grub-core/tests/test_blockarg.c: Likewise.
3250 * grub-core/video/video.c: Likewise.
3251 * util/grub-install.in: Likewise.
3252 * util/grub-mkfont.c: Likewise.
3253
b2b149cb
VS
32542012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3255
3256 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
3257
c7c080ad
VS
32582012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3259
3260 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 3261 Reported by: David Prévot.
c7c080ad 3262
f2e243c0
VS
32632012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3264
3265 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
3266 description.
3267
09963c76
VS
32682012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3269
3270 * util/grub-script-check.c (main): Fix a syntax error message which was
3271 unclear.
3272
a50514a8
VS
32732012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3274
3275 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
3276
4650daec
VS
32772012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3278
3279 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
3280 messages.
3281
32822012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
3283
3284 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
3285 without argument.
3286 * util/grub-mount.c (options): Likewise.
3287
bbc5a342
VS
32882012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3289
3290 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
3291
ef292a87
VS
32922012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3293
3294 * grub-core/net/http.c: Add TRANSLATORS comments.
3295 * grub-core/normal/cmdline.c: Likewise.
3296 * grub-core/normal/misc.c: Likewise.
3297 * grub-core/partmap/msdos.c: Likewise.
3298 * grub-core/parttool/msdospart.c: Likewise.
3299 * grub-core/script/execute.c: Likewise.
3300 * grub-core/script/main.c: Likewise.
3301 * grub-core/term/terminfo.c: Likewise.
3302 * grub-core/video/bitmap.c: Likewise.
3303 * util/grub-install.in: Likewise.
3304 * util/grub-mkimage.c: Likewise.
3305 * util/grub-mklayout.c: Likewise.
3306 * util/grub-setup.c: Likewise.
3307
0fc19bd0
VS
33082012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3309
3310 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
3311 with similar messages in grub-fstest.
3312
d95862ef
VS
33132012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3314
3315 * util/grub-install.in: Unify "option requires an argument" message
3316 with similar messages in other files.
3317 * util/grub-mkconfig.in: Likewise.
3318
b7308f90
VS
33192012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3320
3321 * util/grub-set-default.in: Replace printf with gettext_printf (the
3322 string in in question is already translated from grub-reboot)
3323
559dc587
VS
33242012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3325
3326 * configure.ac: Bump up the version to beta1.
3327
1a11761f
VS
33282012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3329
3330 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
3331 case when min_align = 0.
3332
24539abd
VS
33332012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3334
3335 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
3336 and fix a case when line_start overflows.
3337
32bd735b
VS
33382012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3339
3340 * util/grub-reboot.in (usage): Mention id posibility.
3341 * util/grub-set-default.in (usage): Likewise.
3342
1a2fd1e6
VS
33432012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3344
3345 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
3346 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
3347 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
3348 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
3349 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
3350 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3351 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3352
90eeab76
VS
33532012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3354
3355 * grub-core/commands/menuentry.c (options): Remove
3356 GRUB_ARG_OPTION_REPEATABLE.
3357 Reported by: Andreas Vogel
3358
5ad1be82
AV
33592012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
3360
3361 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
3362
cb055286
HE
33632012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
3364
3365 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
3366 error.
3367
93b1cd79
VS
33682012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3369
3370 Use sort -V by the idea of Georgi Georgiev.
3371
3372 * util/grub-mkconfig_lib.in (version_sort): New function.
3373 (version_test_numeric): Use version_sort.
3374
0cdc126c
VS
33752012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3376
3377 Use submenus in grub-mkconfig.
3378
3379 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
3380 * util/grub-mkconfig_lib.in (grub_quote): New function.
3381 (gettext_printf): Use gettext and not gettext_quoted to fix several
3382 messages.
3383 * util/grub.d/10_hurd.in: Use submenus.
3384 * util/grub.d/10_kfreebsd.in: Likewise.
3385 * util/grub.d/10_linux.in: Likewise.
3386 * util/grub.d/10_netbsd.in: Likewise.
3387 * util/grub.d/20_linux_xen.in: Likewise.
3388 * util/grub.d/30_os-prober.in: Likewise.
3389 * util/grub.d/10_illumos.in: Add missing quoting.
3390 * util/grub.d/10_windows.in: Likewise.
3391
d9bef9bc
VS
33922012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3393
3394 Fix menu title instability bug.
3395
3396 * grub-core/commands/menuentry.c (options): New option --id.
3397 (grub_normal_add_menu_entry): New argument id. All users updated.
3398 (grub_cmd_menuentry): Handle --id.
3399 (grub_menu_init): Accept unknown arguments.
3400 * grub-core/normal/main.c (features): Add feature_menuentry_id and
3401 feature_menuentry_options.
3402 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
3403 saved_entry.
3404 (get_entry_number): Match with id as well.
3405 * include/grub/menu.h (grub_menu_entry): New member id.
3406 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
3407 * util/grub.d/00_header.in: Define menuentry_id_option.
3408 * util/grub.d/10_hurd.in: Define id.
3409 * util/grub.d/10_illumos.in: Likewise.
3410 * util/grub.d/10_kfreebsd.in: Likewise.
3411 * util/grub.d/10_linux.in: Likewise.
3412 * util/grub.d/10_netbsd.in: Likewise.
3413 * util/grub.d/10_windows.in: Likewise.
3414 * util/grub.d/20_linux_xen.in: Likewise.
3415 * util/grub.d/30_os-prober.in: Likewise.
3416
34172012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
3418
3419 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
3420 "scope" with "body".
3421
7c8d0ce7
VS
34222012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3423
3424 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
3425 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
3426 prot_size and prot_file_size.
3427
49de079b
VS
34282012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3429
3430 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
3431 All users updated. If easily=1 require raid-5/-6 to be full.
3432 (is_node_readable): Likewise.
3433 (scan_devices): Scan incomplete but readable LVs at the end.
3434 (grub_diskfilter_memberlist): Pull missing devices.
3435 (insert_array): Skip scanning until device is complete or scan is
3436 done otherwise.
3437 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
3438 check.
3439 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
3440 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
3441
aff05d45
MG
34422012-03-03 Matthew Garrett <mjg@redhat.com>
34432012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3444
3445 Avoid EFI boot services when loading Linux.
3446
3447 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
3448 avoid_efi_bootservices. All users updated.
3449 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
3450 argument avoid_efi_bootservices. All users updated.
3451 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
3452 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
3453 align, min_align, relocatable, prefered_address. All users updated.
3454 Allocate avoiding boot services if kernel is relocatable.
3455 (grub_cmd_linux): Check if kernel is relocatable.
3456 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
3457 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
3458 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
3459 avoid_efi_boot_services.
3460 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
3461 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
3462 (linux_kernel_params): Likewise.
3463
3935dde2
MG
34642012-03-03 Matthew Garrett <mjg@redhat.com>
34652012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3466
3467 Use EDID on EFI.
3468
3469 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
3470 datasize_out.
3471 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
3472 modes. Set gop_handle.
3473 (grub_video_gop_get_edid): New function.
3474 (grub_gop_get_preferred_mode): Likewise.
3475 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
3476 (grub_video_efi_gop_adapter): Set .get_edid.
3477 * include/grub/efi/edid.h: New file.
3478 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
3479
32107ec0
VS
34802012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3481
3482 * util/grub-install.in: Load efivars unconditionally.
3483
e70a2c50
VS
34842012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3485
3486 * po/Rules-piglatin: Change suffix from .po-update-en to
3487 .po-update-en-piglatin.
3488
8f9cace1
VS
34892012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3490
3491 Add a pig farm.
3492
3493 * po/piglatin.sed: New file.
3494 * po/en@piglatin.header: Likewise.
3495 * po/Rules-piglatin: Likewise.
3496 * po/README: Add en@piglatin to autogenerated languages.
3497
8f95d002
VS
34982012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3499
3500 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
3501 "Command for ...".
3502 * grub-core/commands/hdparm.c (options): Use "Display" rather than
3503 "Check" since we don't check anything.
3504 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
3505 is 64-bit one.
3506 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
3507 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
3508 (grub_md_sha512_real): Likewise.
3509
805a8dcc
VS
35102012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3511
3512 * grub-core/commands/gptsync.c: Fix typographic quoting.
3513 * grub-core/commands/ieee1275/suspend.c: Likewise.
3514 * grub-core/commands/parttool.c: Likewise.
3515 * grub-core/commands/search_wrap.c: Likewise.
3516 * grub-core/commands/videoinfo.c: Likewise.
3517 * grub-core/gfxmenu/gui_label.c: Likewise.
3518 * grub-core/hello/hello.c: Likewise.
3519 * grub-core/kern/emu/main.c: Likewise.
3520 * grub-core/net/net.c: Likewise.
3521 * grub-core/normal/menu.c: Likewise.
3522 * grub-core/normal/menu_text.c: Likewise.
3523 * grub-core/normal/misc.c: Likewise.
3524 * util/grub-editenv.c: Likewise.
3525 * util/grub-install.in: Likewise.
3526 * util/grub-kbdcomp.in: Likewise.
3527 * util/grub-mkconfig.in: Likewise.
3528 * util/grub-mknetdir.in: Likewise.
3529 * util/grub-mkrescue.in: Likewise.
3530 * util/grub-mkstandalone.in: Likewise.
3531 * util/grub-reboot.in: Likewise.
3532 * util/grub-set-default.in: Likewise.
3533 * util/grub-setup.c: Likewise.
3534 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3535
40211ab8
VS
35362012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3537
3538 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
3539 * grub-core/commands/keystatus.c: Likewise.
3540 * grub-core/commands/loadenv.c: Likewise.
3541 * grub-core/commands/probe.c: Likewise.
3542 * grub-core/commands/regexp.c: Likewise.
3543 * grub-core/commands/true.c: Likewise.
3544 * grub-core/commands/videoinfo.c: Likewise.
3545 * grub-core/disk/cryptodisk.c: Likewise.
3546 * grub-core/disk/ldm.c: Likewise.
3547 * grub-core/disk/loopback.c: Likewise.
3548 * grub-core/disk/luks.c: Likewise.
3549 * grub-core/fs/zfs/zfsinfo.c: Likewise.
3550 * grub-core/kern/disk.c: Likewise.
3551 * grub-core/kern/emu/hostdisk.c: Likewise.
3552
0c7d99c7
VS
35532012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3554
3555 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
3556 * util/grub-install.in: Add missing quote in the comment.
3557
e7d2559b
VS
35582012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3559
3560 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
3561 * grub-core/commands/lsmmap.c: Likewise.
3562 * grub-core/commands/minicmd.c: Likewise.
3563 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
3564 * grub-core/commands/regexp.c: Likewise.
3565 * grub-core/gdb/gdb.c: Likewise.
3566 * grub-core/term/gfxterm.c: Likewise.
3567 * util/grub-mkconfig.in: Likewise.
3568 * util/grub-mkfont.c: Likewise.
3569 * util/grub-mklayout.c: Likewise.
3570 * util/grub-mknetdir.in: Likewise.
3571 * util/grub-mkrescue.in: Likewise.
3572 * util/grub.d/30_os-prober.in: Likewise.
3573
49ce9e50
VS
35742012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3575
3576 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
3577 with "Direct color" and "Packed" with "Packed pixel".
3578 (grub_cmd_videoinfo): Simplify legend.
3579
e4b791fa
VS
35802012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3581
3582 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
3583 absolutely unclear error message.
3584
fd1265cb
VS
35852012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3586
3587 * util/grub-mkstandalone.in: Remove confusing leftover print.
3588
8822a8a0
VS
35892012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3590
3591 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
3592 comments.
3593 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
3594 (GRUB_MOD_INIT): Likewise.
3595 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
3596 VGA mode.
3597 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
3598 comments.
3599 * util/grub-install.in (usage): Likewise.
3600 Spell ID in whole letters.
3601 Add missing ending dot.
3602 Quote variables.
3603 * util/grub-reboot.in: Fix capitalisation.
3604 * util/grub-set-default.in: Likewise.
3605
937fd0cc
VS
36062012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3607
3608 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
3609 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
3610 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
3611 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
3612 Disable -Werror for -Wdeprecated-declarations.
3613 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
3614 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
3615 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
3616 (grub_util_get_grub_dev): Make luks handling dependent on
3617 HAVE_DEVICE_MAPPER and not __linux__.
3618 (get_win32_path): Fix format security.
3619 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
3620 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
3621 Don't try grub_find_zpool_from_dir.
3622 (grub_make_system_path_relative_to_its_root) [!__linux__]:
3623 #ifdef-out paresdir.
3624
1bab1ae3
VS
36252012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3626
3627 * util/grub-pe2elf.c (usage): Add missing noreturn.
3628 (write_section_data): Rename name to shname to avoid shadowing.
3629 (write_symbol_table): Rename name to symname to avoid shadowing.
3630 Fix write_reloc_section call.
3631
ef023e42
VS
36322012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3633
3634 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
3635 to ensure that it's after the last byte of .text.
3636
48afcb75
VS
36372012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3638
3639 * util/ieee1275/ofpath.c (my_isdigit): New function.
3640 (trailing_digits): Use my_isdigit.
3641 (strip_trailing_digits): Likewise.
3642
88d51eff
VS
36432012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3644
3645 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
3646 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
3647
17edc2ba
VS
36482012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3649
3650 * grub-core/kern/i386/pc/startup.S: Define __start.
3651
ad5518d7
VS
36522012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3653
3654 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
3655 strip already transforms he format.
3656
9e95e1bf
VS
36572012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3658
3659 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
3660
9cc3ee5c
VS
36612012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3662
3663 * util/grub-install.in: Add missing gettext init.
3664 * util/grub-kbdcomp.in: Likewise.
3665 * util/grub-mkconfig.in: Likewise.
3666 * util/grub-mknetdir.in: Likewise.
3667 * util/grub-mkrescue.in: Likewise.
3668 * util/grub-mkstandalone.in: Likewise.
3669 * util/grub-reboot.in: Likewise.
3670 * util/grub-set-default.in: Likewise.
3671 * util/grub.d/00_header.in: Likewise.
3672 * util/grub.d/10_hurd.in: Likewise.
3673 * util/grub.d/10_windows.in: Likewise.
3674 * util/grub.d/30_os-prober.in: Likewise.
3675 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3676
49e08a06
VS
36772012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3678
3679 * po/Rules-swiss: Fix header comment.
3680
3809cb41
AV
36812012-02-29 Andreas Vogel <anvoit>
3682
3683 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
3684 resulted in leak of arguments.
3685
fa6ec573
VS
36862012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3687
3688 * grub-core/boot/i386/pc/startup_raw.S: Use separate
3689 reed_solomon_size const definition instead of computing it since
3690 Apple assembler doesn't support the later.
3691
22899b9c
VS
36922012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3693
3694 * gentpl.py (kernel): Rewrite Apple part.
3695
a132afc3
VS
36962012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3697
3698 * include/grub/kernel.h (FOR_MODULES): Check module magic.
3699
9d742bd4
VS
37002012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3701
3702 * util/grub-mkimagexx.c (locate_sections): Support non-standard
3703 ELF section gap.
3704 (load_image): Likewise.
3705
f04a9a21
VS
37062012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3707
3708 * configure.ac: Fix a typo in previous commit.
3709
46cf439c
VS
37102012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3711
3712 Don't add -Wl,-N on Apple platform.
3713
3714 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
3715 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
3716
c4c48c54
VS
37172012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3718
3719 * grub-core/Makefile.core.def (lzma_decompress): Use
3720 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
3721
31a12124
VS
37222012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3723
3724 * grub-core/genmod.sh.in: Rewrite the Apple part.
3725
4f3aa1af
VS
37262012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3727
3728 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
3729 comparison.
3730
7bd8b0c7
VS
37312012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3732
3733 * acinclude.m4 (grub_CHECK_PIC): New test.
3734 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
3735
97304d7c
VS
37362012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3737
3738 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
3739 to avoid the warning.
3740
fb883812
VS
37412012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3742
3743 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
3744 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
3745 after. All users updated.
3746
a121c964
VS
37472012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3748
3749 Use the common size routine in hostfs so we can read disks as well.
3750
3751 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
3752 (grub_util_get_fd_size): ... this. Return size in bytes.
3753 All users updated.
3754 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
3755 grub_util_get_fd_size.
3756
c66d6410
VS
37572012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3758
3759 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
3760 Add blocksize retrieval.
3761
dfc8aeb0
VS
37622012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3763
3764 * configure.ac: Restore CFLAGS after efiemu check.
3765
403e25a5
VS
37662012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3767
3768 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
3769 Apple bug.
3770
382775d1
VS
37712012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3772
3773 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
3774
6fd4e6e4
VS
37752012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3776
3777 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
3778 (grub_cmd_halt): Likewise.
3779
bea359d6
VS
37802012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3781
3782 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
3783 for local arithmetics.
3784 Break %sp init into 2 instructions.
3785 Add 0 byte at the end.
3786
32eb6ee1
VS
37872012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3788
3789 * grub-core/disk/diskfilter.c (read_segment): Initialise err
3790 before loops.
3791
e8377389
VS
37922012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3793
3794 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
3795 for context.
3796
8cb17de7
VS
37972012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3798
3799 * grub-core/disk/ldm.c (make_vg): Init part.name.
3800 (grub_ldm_detect): Silence spurious warning.
3801 (grub_util_is_ldm): Likewise.
3802
595717e6
VS
38032012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3804
3805 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
3806 sane value to avoid a spurious warning.
3807
c4b7e588
VS
38082012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3809
3810 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
3811 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
3812
59824957
VS
38132012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3814
3815 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
3816 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
3817
70115b99
VS
38182012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3819
3820 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
3821 hardcoding the relevant info.
3822
56733740
VS
38232012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3824
3825 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
3826 missing const qualifiers.
3827 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
3828
43481481
VS
38292012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3830
3831 * util/getroot.c [__APPLE__]: Add missing includes.
3832 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
3833
3cb38f01
VS
38342012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3835
3836 * util/grub-mkimage.c (generate_image): Silence spurious warning.
3837
d9dbf11e
VS
38382012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3839
3840 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
3841 avoid conflicts.
3842
0c42a45d
VS
38432012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3844
3845 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
3846
46c34eb0
VS
38472012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3848
3849 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
3850 and grub_file_close call.
3851
99ce1597
VS
38522012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3853
3854 Add LZSS Mach-O support (needed for new xnu kernelcache).
3855
3856 * grub-core/Makefile.core.def (xnu): Add file lzss.c
3857 * grub-core/loader/lzss.c: New file.
3858 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
3859 on Mach-O open failure.
3860 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
3861 Don't free cmdsXX in uncompressedXX is set.
3862 (grub_macho_file): Init new fields.
3863 New argument is_64bit. All users updated.
3864 Handle compressed. Error out if no suitable architecture is found.
3865 Don't close file.
3866 (grub_macho_open): New argument is_64bit. All users updated.
3867 * grub-core/loader/macho32.c: Add defines for new fields.
3868 * grub-core/loader/macho64.c: Likewise.
3869 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
3870 (grub_macho_parse): Handle compressed.
3871 Defer actual processing if compressed.
3872 (grub_macho_cmds_iterate): Decompress if compressed. New argument
3873 "filename". All users updated.
3874 (grub_macho_size): New argument "filename". All users updated.
3875 (grub_macho_get_entry_point): Likewise.
3876 (grub_macho_load): Handle compressed.
3877 * include/grub/macho.h (grub_macho_lzss_header): New struct.
3878 (GRUB_MACHO_LZSS_OFFSET): New define.
3879 (grub_decompress_lzss): New proto.
3880 * include/grub/machoload.h (grub_macho_file): New fields to handle
3881 compressed.
3882 (grub_macho_contains_macho64): Remove proto.
3883 (grub_macho_contains_macho32): Likewise.
3884 * util/grub.d/30_os-prober.in: Use kernel cache if available.
3885
ebd17d6f
VS
38862012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3887
3888 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
3889
2702b4e4
VS
38902012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3891
3892 Fix make dist.
3893
3894 * Makefile.am (starfield_theme_files): New var.
3895 (starfield_DATA): Use starfield_theme_files.
3896 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
3897 Add bootcheck-related files.
3898 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
3899 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
3900 and font_char_metrics.txt.
3901 * grub-core/Makefile.core.def (kernel): Update extra_dist.
3902 (setjmp): Add lib/ia64/longjmp.S.
3903 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
3904 * po/POTFILES.in: Regenerate.
3905 * po/Rules-swiss: use DISTFILES.common.extra2 and not
3906 DISTFILES.common.extra1.
3907 * util/devicemap.c: Removed.
3908 * grub-core/lib/i386/relocator_backward.S: Likewise.
3909 * util/import_gcry.py: Remove unused files. Add extra_dist for
3910 ChangeLog.
3911
cf1adfdf
VS
39122012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3913
3914 * grub-core/gettext/gettext.c (grub_mofile_open): Call
3915 grub_gettext_delete_list before changing grub_gettext_max to avoid
3916 running out of array bounds.
3917
39182012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
3919
3920 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
3921 grub_vga_text_init/grub_vga_text_fini.
3922
cf1adfdf 39232012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
3924
3925 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
3926
541d92e9
VS
39272012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3928
3929 * configure.ac: Bump to 2.00~beta0.
3930
7931dddf
VS
39312012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3932
3933 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
3934 missing initialisation.
3935
f1b16fa3
VS
39362012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3937
3938 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
3939
83ddae23
VS
39402012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3941
3942 Support v2 xnu boot arguments.
3943
3944 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
3945 New argument fsbfreq_out.
3946 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
3947 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
3948 be used.
3949 * grub-core/loader/machoXX.c (grub_macho_load): New argument
3950 darwin_version.
3951 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
3952 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
3953 (grub_xnu_boot_params): Rename to ...
3954 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
3955 (grub_xnu_boot_params_v2): New struct.
3956
dc693fe6
VS
39572012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3958
3959 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
3960 zeroing of CRC field before computing CRC.
3961
5a6e39c2
VS
39622012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3963
3964 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
3965 Change order of allocations to decrease fragmentation.
3966
6c21f5d7
VS
39672012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3968
3969 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
3970
cfe456dc
CW
39712012-02-27 Colin Watson <cjwatson@ubuntu.com>
3972
3973 Use write-combining MTRR to speed up video with buggy BIOSes.
3974
3975 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
3976 (cpuid): New define.
3977 (rdmsr): Likewise.
3978 (wrmsr): Likewise.
3979 (mtrr_base): Likewise.
3980 (mtrr_mask): Likewise.
3981 (grub_vbe_enable_mtrr_entry): New function.
3982 (grub_vbe_enable_mtrr): Likewise.
3983 (grub_vbe_disable_mtrr): Likewise.
3984 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
3985 control off to BIOS.
3986 (grub_video_vbe_init): Fill mtrr.
3987 (grub_video_vbe_fini): Disable mtrr.
3988 (grub_video_vbe_get_info_and_fini): Likewise.
3989 (grub_video_vbe_setup): Enable mtrr.
3990
e3c78337
CW
39912012-02-27 Colin Watson <cjwatson@ubuntu.com>
3992
3993 * include/grub/partition.h (grub_partition_map): Change prototype of
3994 embed to take a maximum value for nsectors.
3995 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
3996 * include/grub/fs.h (grub_fs): Likewise.
3997 * grub-core/partmap/msdos.c (embed_signatures): New array.
3998 (pc_partition_map_embed): Check for and avoid sectors matching any
3999 of the signatures in embed_signatures, up to max_nsectors.
4000 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
4001 returned sector map to max_nsectors.
4002 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
4003 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
4004 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
4005 * util/grub-setup.c (setup): Allow for the embedding area being
4006 split into multiple blocklists. Tell dest_partmap->embed the
4007 maximum number of sectors we care about.
4008
40092012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4010
4011 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
4012 Specify blocklist_install and reserver_first_sector for all fs.
4013 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
4014 blocklists.
4015
984b973f
VS
40162012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4017
4018 * util/grub-install.in: Clarify strings.
4019 Fix source dir check.
4020
f122e0d6
RL
40212012-02-27 Richard Laager <rlaager@wiktel.com>
4022
4023 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
4024 "zfs" and "fuse.zfs" as synonyms.
4025
071114bb
VS
40262012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4027
4028 * configure.ac: Put platform and target_cpu substitutions back since
4029 they are used for directories.
4030
817e6abc
RL
40312012-02-27 Richard Laager <rlaager@wiktel.com>
40322012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4033
4034 * util/grub.d/10_linux.in: Add ZFS-related arguments.
4035 * util/grub.d/20_linux_xen.in: Likewise.
4036
897b7419
RL
40372012-02-27 Richard Laager <rlaager@wiktel.com>
4038
4039 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
4040 with full paths.
4041
a414bd15
RL
40422012-02-27 Richard Laager <rlaager@wiktel.com>
4043
4044 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
4045 unescape.
4046
30ac48c4
VS
40472012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4048
4049 Don't use insecure popen in getroot.
4050
4051 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
4052 (exec_pipe): ... here.
4053 (find_root_devices_from_poolname): Use exec_pipe.
4054
53f13848
VS
40552012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4056
4057 Remove platform and target_cpu replacement.
4058
4059 * configure.ac: Remove platform and target_cpu substitutions.
4060 * tests/util/grub-shell.in: Use modinfo.
4061 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
4062 explicitly.
4063
90cb2803
VS
40642012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4065
4066 Autodetect platform in grub-install but allow override.
4067
4068 * util/grub-install.in: Autodetect platform. Support --target and
4069 --directory. Read platform from modinfo.sh.
4070
b9136427
VS
40712012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4072
4073 Support btrfs multi-volume probe.
4074
4075 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
4076 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
4077 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
4078 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
4079 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
4080 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
4081 grub_find_root_devices_from_btrfs if on btrfs.
4082
c36e5cd1
VS
40832012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4084
4085 Remove any awareness of *.c util files about target.
4086
4087 * Makefile.util.def (grub-setup): Split to ...
4088 (grub-bios-setup): ... and this.
4089 (grub-sparc64-setup): ... and this.
4090 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
4091 * docs/man/grub-setup.h2m: Split into ...
4092 * docs/man/grub-sparc64-setup.h2m: ... this.
4093 * docs/man/grub-bios-setup.h2m: ... and this.
4094 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
4095 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
4096 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
4097 (grub_target_addr_t): Remove.
4098 (grub_target_size_t): Remove.
4099 (grub_target_ssize_t): Remove.
4100 * util/grub-install.in: Use new grub-*-setup.
4101 * util/grub-mkimagexx.c (Elf_Word): New define.
4102 (Elf_Half): Likewise.
4103 (Elf_Section): Likewise.
4104 (ELF_ST_TYPE): Likewise.
4105 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
4106 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
4107
584b2f8a
VS
41082012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4109
4110 Replace grub_target_addr with more appropriate types.
4111
4112 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
4113 grub_target_addr with grub_addr.
4114 * grub-core/commands/iorw.c (grub_cmd_read): Replace
4115 grub_target_addr with grub_port.
4116 (grub_cmd_write): Likewise.
4117 * grub-core/commands/memrw.c (grub_cmd_read): Replace
4118 grub_target_addr with grub_addr.
4119 (grub_cmd_write): Likewise.
4120 * grub-core/video/efi_uga.c (find_line_len): Likewise.
4121
5a0dc6fb
VS
41222012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4123
4124 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
4125 const qualifier for vendor_guid.
4126
786aff6e
VS
41272012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4128
4129 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
4130 const qualifier.
4131 (efiemu_memequal): Likewise.
4132 (find_variable): Likewise.
4133
49017b17
VS
41342012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4135
4136 Fix missing console prototype on qemu-mips.
4137
4138 * include/grub/mips/qemu_mips/console.h: New file.
4139
c5988629
MG
41402012-02-27 Matthew Garrett <mjg@redhat.com>
41412012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4142
4143 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
4144 * include/grub/efi/efi.h: Likewise.
4145 * include/grub/efi/api.h: Add guid for EFI-specified variables.
4146 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
4147 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
4148 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
4149 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
4150 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
4151
e33f8d69
MG
41522012-02-27 Matthew Garrett <mjg@redhat.com>
4153
4154 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
4155
fb312cd9
VS
41562012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4157
4158 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
4159 error.
4160
7134247c
VS
41612012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4162
4163 * configure.ac: Remove inappropriate use of program_transform_name
4164 on grubdir and bootdir but allow explicit specification of those
4165 variables.
4166
6a313124
VS
41672012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4168
4169 * util/grub-mknetdir.in (grub_prefix): Removed.
4170 (subdir): Use @bootdirname@ and @grubdirname@.
4171
2311c5ca
VS
41722012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4173
4174 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
4175
7d5d60f7
VS
41762012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4177
4178 * po/POTFILES.in: Regenerated.
4179
8151bc82
VS
41802012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4181
4182 Remove improper use of program_transform_name on pkglibrootdir.
4183
4184 * configure.ac (pkglibrootdir): Removed.
4185 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
4186 * util/grub-mkimage.c: Likewise.
4187
b4a6a533
VS
41882012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4189
4190 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
4191 warning.
4192
668f304f
VS
41932012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4194
4195 * util/grub-install.in: Use file identifier if no UUID is available
4196 or user explicitly prompted for it.
4197
665f2341
NP
41982012-02-27 Navdeep Parhar <nparhar@gmail.com>
4199
4200 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
4201 (freebsd_get_zfs): New function.
4202 (grub_freebsd_boot): Pass zfs UUID.
4203 (grub_cmd_freebsd): Set zfs UUID.
4204
8151bc82 42052012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
4206
4207 * conf/Makefile.common (platformdir): Base on pkglibdir and not
4208 pkglibrootdir.
4209
e4c498a1
MG
42102012-02-27 Mike Gilbert <floppym@gentoo.org>
4211
4212 Add configure flag to control libzfs integration.
4213
4214 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
4215
1e9a9a3f
VS
42162012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4217
4218 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
4219 device.
4220 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
4221 small devices.
4222
036985b8
VS
42232012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4224
4225 Remove grub_{modname}_init and grub_{modname}_fini. They should never
4226 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
4227 be used on non-modules.
4228
4229 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
4230 Rename to grub_boot_init.
4231 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
4232 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
4233 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
4234 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
4235 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
4236 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
4237 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
4238 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
4239 includes.
4240 (grub_machine_init): Remove empty inits.
4241 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
4242 includes.
4243 (grub_machine_init): Remove empty inits.
4244 * grub-core/term/arc/console.c: Remove explicit proto.
4245 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
4246 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
4247 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4248 grub_at_keyboard_fini.
4249 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
4250 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
4251 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4252 grub_gfxterm_fini.
4253 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
4254 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
4255 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4256 grub_vgatext_fini.
4257 * grub-core/term/ieee1275/console.c: Remove explicit proto.
4258 * grub-core/term/serial.c (GRUB_MOD_INIT)
4259 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
4260 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4261 grub_serial_fini.
4262 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
4263 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
4264 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4265 grub_terminfo_fini.
4266 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
4267 (GRUB_MOD_FINI): Likewise.
4268 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
4269 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
4270 (GRUB_MOD_FINI) [LOONGSON]: Rename to
4271 grub_video_radeon_fuloong2e_fini.
4272 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
4273 [LOONGSON]: Rename to grub_video_sis315pro_init.
4274 (GRUB_MOD_FINI) [LOONGSON]: Rename to
4275 grub_video_sis315pro_fini.
4276 * grub-core/video/sm712.c (GRUB_MOD_INIT)
4277 [LOONGSON]: Rename to grub_video_sm712_init.
4278 (GRUB_MOD_FINI) [LOONGSON]: Rename to
4279 grub_video_sm712_fini.
4280 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
4281 (grub_at_keyboard_fini): Likewise.
4282 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
4283 Don't declare grub_{modname}_init.
4284 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
4285 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
4286 New proto.
4287 (grub_keylayouts_fini) [!EMU]: Likewise.
4288 * include/grub/serial.h (grub_serial_init) [!EMU]:
4289 New proto.
4290 (grub_serial_fini) [!EMU]: Likewise.
4291 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
4292 New proto.
4293 (grub_terminfo_fini) [!EMU]: Likewise.
4294 * include/grub/video.h (grub_font_init) [!EMU]:
4295 New proto.
4296 (grub_font_fini) [!EMU]: Likewise.
4297 (grub_gfxterm_init) [!EMU]: Likewise.
4298 (grub_gfxterm_fini) [!EMU]: Likewise.
4299 (grub_video_sm712_init) [!EMU]: Likewise.
4300 (grub_video_sm712_fini) [!EMU]: Likewise.
4301 (grub_video_sis315pro_init) [!EMU]: Likewise.
4302 (grub_video_sis315pro_fini) [!EMU]: Likewise.
4303 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
4304 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
4305
d5534665
VS
43062012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4307
4308 Make nand a prefix for nand devices.
4309
4310 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
4311
10133b5f
VS
43122012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4313
4314 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
4315 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
4316
8e307a62
VS
43172012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4318
4319 * include/grub/env.h (grub_env_find): Remove prototype.
4320 * grub-core/kern/env.c (grub_env_find): Make static.
4321 (grub_env_set): Remove useless set.
4322
a4c65f34
VS
43232012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4324
4325 * grub-core/kern/i386/realmode.S: Remove useless align.
4326
d87893d5
VS
43272012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4328
4329 * include/grub/dl.h (grub_dl_load_file): Don't export.
4330
50159add
VS
43312012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4332
4333 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
4334 grub_dprintf.
4335
b2582b84
VS
43362012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4337
4338 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
4339 grub_errors.
4340 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
4341 not reloading whole superblock but only the part which is really needed.
4342 Remove useless grub_errors.
4343 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
4344 grub_errors.
4345
e2a83395
VS
43462012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4347
4348 Don't export grub_get_rtc.
4349
4350 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
4351 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
4352
e7d2a906
VS
43532012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4354
4355 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
4356
6cf1363b
VS
43572012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4358
4359 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 4360 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 4361
eece3349
VS
43622012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4363
4364 Remove prio_list.
4365
4366 * include/grub/list.h (grub_prio_list): Removed.
4367 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
4368 GRUB_COMMAND_PRIO_MASK.
4369 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
4370 GRUB_COMMAND_FLAG_ACTIVE.
4371 (grub_prio_list_insert): Removed.
4372 (grub_prio_list_remove): Likewise.
4373 (GRUB_AS_PRIO_LIST): Likewise.
4374 (GRUB_AS_PRIO_LIST_P): Likewise.
4375 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
4376 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
4377 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
4378 * grub-core/kern/command.c (grub_register_command_prio): Inline
4379 the prio_list code.
4380 (grub_unregister_command): Likewise.
4381
94f064b4
VS
43822012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4383
4384 Fix interrupt mixup from previous commit.
4385
4386 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
4387 (grub_realidt): New var.
4388 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
4389 Load idt.
4390 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
4391 New declaration.
4392 (grub_relocator16_boot): Set grub_relocator16_idt.
4393 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
4394 (LOCAL(realidt)): ... this.
4395 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
4396 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
4397 (grub_realidt): New variable.
4398
27317084
VS
43992012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4400
4401 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
4402 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
4403 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
4404 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
4405 Gettextize.
4406 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
4407 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
4408 * po/POTFILES.in: Regenerate.
4409
47b40053
VS
44102012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4411
4412 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
4413 errors.
4414
2b343101
VS
44152012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4416
4417 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
4418 \0.
4419 (add_length): Likewise.
4420
ff27c3dd
LK
44212012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
44222012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
4423
4424 GDB serial and backtrace support.
4425
4426 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
4427 (prot_to_real): Likewise.
4428 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
4429 * grub-core/Makefile.core.def (backtrace): New module.
4430 (gdb): Likewise.
4431 * grub-core/gdb/cstub.c: New file.
4432 * grub-core/gdb/gdb.c: Likewise.
4433 * grub-core/gdb/i386/idt.c: Likewise.
4434 * grub-core/gdb/i386/machdep.S: Likewise.
4435 * grub-core/gdb/i386/signal.c: Likewise.
4436 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 4437 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
4438 * include/grub/backtrace.h: Likewise.
4439 * include/grub/gdb.h: Likewise.
4440 * include/grub/i386/gdb.h: Likewise.
4441
44422012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
4443
4444 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
4445 New function.
4446 (add_length): Likewise.
4447 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
4448 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
4449 proto.
4450 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
4451 __argp_get_display_len.
4452
ff27c3dd 44532012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
4454
4455 $"..." support in scripts.
4456
4457 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
4458 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
4459 * grub-core/script/yylex.l: Likewise.
4460 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
4461 value.
4462
ff27c3dd 44632012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
4464
4465 * gentpl.py: Remove obsolete pkglib_DATA handling.
4466
ff27c3dd 44672012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
4468
4469 Don't transform PACKAGE_TARNAME following a discussion on autoconf
4470 mailing list.
4471
4472 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
4473 * util/grub-kbdcomp.in: Likewise.
4474 * util/grub-mkconfig.in: Likewise.
4475 * util/grub-mkconfig_lib.in: Likewise.
4476 * util/grub-mknetdir.in: Likewise.
4477 * util/grub-mkrescue.in: Likewise.
4478 * util/grub-mkstandalone.in: Likewise.
4479 * util/grub-reboot.in: Likewise.
4480 * util/grub-set-default.in: Likewise.
4481 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4482
ff27c3dd 44832012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
4484
4485 Remove GRUB_PREFIX.
4486
4487 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
4488 * util/grub.d/00_header.in: Compute prefix in the only place it's still
4489 used for backward compatibility.
4490
ff27c3dd 44912012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
4492
4493 Add new all_video module.
4494
4495 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
4496 * grub-core/Makefile.core.def (all_video): New module.
4497 * grub-core/genmoddep.awk: Generate dependency of all_video from
4498 video.lst.
4499 * grub-core/lib/fake_module.c: New file.
4500 * grub-core/normal/main.c (features): Add feature_all_video_module.
4501 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
4502 don't do explicit search again.
47454da5 4503 insmod all_video in load_video if available.
22c7ce85 4504
ff27c3dd 45052012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
4506
4507 Another round of string clarification and adding TRANSLATORS comments.
4508
ff27c3dd 45092012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
4510
4511 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
4512
ff27c3dd 45132012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
4514
4515 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
4516 to grub_ssize_t.
4517 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
4518 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
4519
ff27c3dd 45202012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
4521
4522 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
4523 trailing newline implicitly. All users updated.
4524
ff27c3dd 45252012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
4526
4527 Implement serial on IEEE1275 and EFI.
4528
4529 * docs/grub.texi (Platform-specific limitations): Fix the columen video
4530 on emu. Mention arc and emu as the only platforms without serial
4531 support.
4532 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
4533 ieee1275 platforms.
4534 * grub-core/term/efi/serial.c: New file.
4535 * grub-core/term/ieee1275/serial.c: Likewise.
4536 * grub-core/term/serial.c (grub_serial_find): Disable direct port
4537 specification if no ns8250 driver is available.
4538 (grub_cmd_serial): Likewise.
4539 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
4540 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
4541 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
4542 (grub_efi_parity_type_t): New type.
4543 (grub_efi_stop_bits_t): Likewise.
4544 (grub_efi_serial_io_interface): New struct.
4545 * include/grub/serial.h (grub_serial_port): Make 'broken' field
4546 available for all interfaces.
4547 Add EFI and IEEE1275 fields.
4548 (grub_ofserial_init): New proto.
4549 (grub_efiserial_init): Likeiwse.
4550 * util/grub.d/00_header.in: Don't check for the presence of serial
4551 module.
4552
ff27c3dd 45532012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
4554
4555 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
4556 name as if it was an alias.
4557
114076ef
VS
45582012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
4559
4560 * grub-core/commands/lsacpi.c (options): Fix typo.
4561
6a656b0e
VS
45622012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
4563
4564 Convert grub-emu to argp.
4565
4566 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
4567 emu.
4568 * util/argp_common.c: Rename to ...
4569 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
4570 Add missing includes.
4571 * grub-core/kern/emu/main.c: Convert to argp.
4572 * po/POTFILES.in: Regenerate.
4573 * util/grub-install.in (usage): Make first letter lowcase in messages
4574 for uniformity.
4575 * util/grub-setup.c (options): Likewise.
4576
1e3f8ae8
VS
45772012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4578
4579 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
4580 Put back accidently commented-out code.
4581
ed167a80
VS
45822012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4583
4584 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
4585 loop check using Brent algorithm.
4586 (grub_hfsplus_btree_search): Likewise.
4587
6753c0ec
VS
45882012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4589
4590 * util/grub-install.in: Fix usage of wrong device for PreP install.
4591
4e27343f
VS
45922012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4593
4594 * conf/Makefile.common (CFLAGS_GNULIB): Add
4595 -Wno-unsafe-loop-optimizations.
4596 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
4597 on tools.
4598 * grub-core/commands/legacycfg.c: Add pragma to skip
4599 -Wunsafe-loop-optimizations.
4600 (check_password_md5_real): Fix loop counter type.
4601 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
4602 reading.
4603 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
4604 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
4605 loop condition.
4606 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
4607 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
4608 * grub-core/net/net.c (grub_net_route_address): Add safety loop
4609 condition.
4610 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
4611 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
4612 avoid possible infinite loops.
4613 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
4614 and -Wunsafe-loop-optimizations.
4615 * grub-core/script/yylex.l: Likewise.
4616 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
4617 (print_glyphs): Avoid infinite loops.
4618 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
4619
697f18b0
GS
46202012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
4621
4622 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
4623 to avoid infinite loop.
4624 (disp_acpi_rsdt_table): Likewise.
4625
274416e8
VS
46262012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4627
4628 * grub-core/font/font.c (grub_font_load): Add support for default
4629 path for fonts ($prefix/fonts).
4630 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
4631 for checking if string is a path.
4632 * grub-core/normal/main.c (features): Add feature_default_font_path.
4633 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
4634 * util/grub.d/00_header.in: Use default directory if possible.
4635 * util/grub-install.in: Install unicode.pf2.
4636
b3e08622
VS
46372012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4638
4639 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
4640 * po/Rules-swiss: New file.
4641 * po/swiss.sed: Likewise.
4642
fe42ce09
VS
46432012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
4644
4645 * grub-core/fs/btrfs.c (find_device): Fix typos.
4646 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
4647 * util/grub-mkrelpath.c (argp_parser): Likewise.
4648 Reported by: Yuri Chornoivan.
4649
72f1d065
DO
46502012-02-23 Dalet Omega <daletomega@gmail.com>
4651
4652 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
4653 for usual informative messages.
4654
c5884973
DO
46552012-02-23 Dalet Omega <daletomega@gmail.com>
4656
4657 Starfield theme.
4658
4659 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
4660 * conf/Makefile.common: Define starfielddir.
4661 * configure.ac: Configure starfield.
4662 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
4663 * themes/starfield/README: Likewise.
4664 * themes/starfield/blob_w.png: Likewise.
4665 * themes/starfield/boot_menu_c.png: Likewise.
4666 * themes/starfield/boot_menu_e.png: Likewise.
4667 * themes/starfield/boot_menu_n.png: Likewise.
4668 * themes/starfield/boot_menu_ne.png: Likewise.
4669 * themes/starfield/boot_menu_nw.png: Likewise.
4670 * themes/starfield/boot_menu_s.png: Likewise.
4671 * themes/starfield/boot_menu_se.png: Likewise.
4672 * themes/starfield/boot_menu_sw.png: Likewise.
4673 * themes/starfield/boot_menu_w.png: Likewise.
4674 * themes/starfield/slider_c.png: Likewise.
4675 * themes/starfield/slider_n.png: Likewise.
4676 * themes/starfield/slider_s.png: Likewise.
4677 * themes/starfield/src/blob_nw.xcf: Likewise.
4678 * themes/starfield/src/bootmenu/: Likewise.
4679 * themes/starfield/src/bootmenu/center.xcf: Likewise.
4680 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
4681 * themes/starfield/src/bootmenu/side.xcf: Likewise.
4682 * themes/starfield/src/slider_c.xcf: Likewise.
4683 * themes/starfield/src/slider_n.xcf: Likewise.
4684 * themes/starfield/src/slider_s.xcf: Likewise.
4685 * themes/starfield/src/terminalbox/: Likewise.
4686 * themes/starfield/src/terminalbox/center.xcf: Likewise.
4687 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
4688 * themes/starfield/src/terminalbox/side.xcf: Likewise.
4689 * themes/starfield/starfield.png: Likewise.
4690 * themes/starfield/terminal_box_c.png: Likewise.
4691 * themes/starfield/terminal_box_e.png: Likewise.
4692 * themes/starfield/terminal_box_n.png: Likewise.
4693 * themes/starfield/terminal_box_ne.png: Likewise.
4694 * themes/starfield/terminal_box_nw.png: Likewise.
4695 * themes/starfield/terminal_box_s.png: Likewise.
4696 * themes/starfield/terminal_box_se.png: Likewise.
4697 * themes/starfield/terminal_box_sw.png: Likewise.
4698 * themes/starfield/terminal_box_w.png: Likewise.
4699 * themes/starfield/theme.txt: Likewise.
4700
17d73325
VS
47012012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
4702
4703 * util/grub.d/00_header.in: Add missing export theme.
4704
dbebaf92
VS
47052012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4706
4707 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
4708 already included.
4709 Reported by: Eren D.
4710
3d68bffb
VS
47112012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4712
4713 * conf/Makefile.common (grubdatadir): Removed.
4714 (Makefile.am): Move eveything grubdata to pkgdata.
4715
4b59234d
VS
47162012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4717
4718 * grub-core/commands/acpihalt.c (get_sleep_type):
4719 Remove unused variable.
4720
463dcadc
VS
47212012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4722
4723 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
4724 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
4725 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
4726 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
4727 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
4728 i18n with gettext no-op.
4729 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
4730 GRUB_ACPI_OPCODE_STRING_CONST.
4731 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
4732 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
4733
e5b90c82
VS
47342012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4735
4736 * po/POTFILES.in: Regenerate.
4737
2a704ca9
VS
47382012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4739
4740 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
4741 -Wno-error=missing-noreturn.
4742
84f9d341
VS
47432012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4744
4745 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
4746 condition to avoid possibly infinite loops.
4747 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
4748 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
4749
d46683f9
VS
47502012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4751
4752 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
4753 condition to avoid possibly infinite loops.
4754
c44866b2
VS
47552012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4756
4757 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
4758 on show_error.
4759
96790539
VS
47602012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4761
4762 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
4763
1ba7e295
VS
47642012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4765
4766 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
4767
21ffe8f1
VS
47682012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4769
4770 * util/bin2h.c (usage): Add missing attribute noreturn.
4771
0ccb6b3c
VS
47722012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4773
4774 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
4775 if the size isn't divisible by 512.
4776
b00d7fb6
VS
47772012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4778
4779 Make list_push and list_remove functions rather than inline functions
4780 to decrease size and avoid aliasing violations.
4781
4782 * include/grub/list.h (grub_list_push): Move to ...
4783 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
4784 * include/grub/list.h (grub_list_remove): Move to ...
4785 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
4786
9d369087
VS
47872012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4788
4789 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
4790 and -Wunused-result.
4791
af0250d9
VS
47922012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
4793
4794 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
4795 Reported by: Seth Goldberg
4796
aad32b14
VS
47972012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
4798
4799 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
4800
ac96441c
ST
48012012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
4802
4803 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
4804 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
4805 command line.
4806 * docs/grub.texi (Simple configuration): Document
4807 GRUB_CMDLINE_GNUMACH.
4808
48092012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
4810
4811 * conf/Makefile.common (platform_SCRIPTS): New variable.
4812 (platform_PROGRAMS): Likewise.
4813 * gentpl.py: Mark *,module and *.image for install.
4814 * grub-core/gdb_grub.in: Add a notice of expected environment.
4815 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
4816 (gmodule.pl): Likewise.
4817
ac96441c 48182012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
4819
4820 Replace grub_checkkey with grub_getkey_noblock.
4821
4822 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
4823 (grub_getkey_noblock): ... this. All users updated.
4824
ac96441c 48252012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
4826
4827 * grub-core/kern/emu/console.c: Move to ...
4828 * grub-core/term/emu/console.c: ...here.
4829 (grub_ncurses_getkey): Fix return value if no key is detected.
4830
e51b5666
VS
48312012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4832
4833 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
4834 (grub_unit_test_fini): Likewise.
4835 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
4836
48372012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4838
4839 * include/grub/test.h (GRUB_UNIT_TEST)
4840
d9a62292
VS
48412012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4842
4843 * grub-core/script/execute.c (grub_script_break): Clarify logic.
4844 Better error handling.
4845 (grub_script_return): Likewise.
4846 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
4847
77c9182f
VS
48482012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4849
4850 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
4851 rimplicit redifinition.
4852
edb13cf9
VS
48532012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4854
4855 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
4856 GRUB.
4857
a9e9dc7c
VS
48582012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4859
4860 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
4861 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
4862 prompt here.
4863
b4ba8e02
VS
48642012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4865
4866 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
4867 as GRUB_ERR_BUG. Don't malloc if no device is available.
4868
dded5540
VS
48692012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4870
4871 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
4872 Mark calling with invalid term as GRUB_ERR_BUG.
4873
0cf69874
VS
48742012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4875
4876 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
4877 packets rather than raising an error.
4878
59bfe502
VS
48792012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4880
4881 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
4882 in if.
4883
db5fc596
VS
48842012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4885
4886 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
4887 diagnostic to dprintf.
4888 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
4889
e4b7f404
VS
48902012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4891
4892 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
4893 device name.
4894
e7b02f9e
VS
48952012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4896
4897 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
4898 (grub_ntfs_iterate_dir): Likewise.
4899
0331e102
VS
49002012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4901
4902 Efiemu stylistic fixes and gettext.
4903
4904 * grub-core/efiemu/i386/loadcore32.c
4905 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
4906 * grub-core/efiemu/i386/loadcore64.c
4907 (grub_arch_efiemu_relocate_symbols64): Likewise.
4908 * grub-core/efiemu/i386/pc/cfgtables.c
4909 (grub_machine_efiemu_init_tables): Likewise.
4910 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
4911 (grub_efiemu_loadcore_initXX): Add a filename argument.
4912 All users updated.
4913 Improved error message.
4914 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
4915 Add a filename argument.
4916 All users updated.
4917 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
4918 Reclassify double relocation as GRUB_ERR_BUG.
4919
306fc074
VS
49202012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4921
4922 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
4923 handling.
4924
794d8ef2
VS
49252012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4926
4927 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
4928 on partition.
4929
49302012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
4931
4932 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
4933
794d8ef2 49342012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
4935
4936 Improve string. Gettextize.
4937
78dde88e
VS
49382012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4939
4940 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
4941 utils.
4942 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
4943
4786a90f
VS
49442012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4945
4946 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
4947 [GRUB_UTIL]: New function.
4948 (insert_array) [GRUB_UTIL]: Store partmaps.
4949 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
4950 partmaps.
4951 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
4952 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
4953 (probe_abstraction): Print diskfilter and not raid.
4954 Reported by: Lennart Sorensen
4955
0b6225bd
VS
49562012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4957
4958 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
4959 * util/grub-mkimagexx.c (MASK3): New define.
4960 (add_value_to_slot_20b): Use MASK3.
4961 (add_value_to_slot_21): Likewise.
4962 (relocate_addresses): Fix format specification.
4963 (load_image): Explicitly init symtab_section.
4964
b055f8f6
VS
49652012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4966
4967 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
4968 (grub_util_biosdisk_get_grub_dev): Fix format specification.
4969
b77c2fb7
VS
49702012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4971
4972 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
4973 on powerpc.
4974 Reported by: Lennart Sorensen
4975
e3ec28ab
VS
49762012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4977
4978 * gentpl.py: Add missing license header.
4979 * docs/grub.texi: Update copyright year.
4980
c8d9ead6
GS
49812012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
4982
4983 Source grub-mkconfig_lib from the build directory at build time.
4984 Suggested by: Vladimir Serbinenko.
4985
4986 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
4987 * util/grub-install.in: Define pkgdatadir if not already set, and source
4988 grub-mkconfig_lib from there.
4989 * util/grub-kbdcomp.in: Likewise.
4990 * util/grub-mkconfig.in: Likewise.
4991 * util/grub-mknetdir.in: Likewise.
4992 * util/grub-mkrescue.in: Likewise.
4993 * util/grub-mkstandalone.in: Likewise.
4994 * util/grub-reboot.in: Likewise.
4995 * util/grub-set-default.in: Likewise.
4996 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4997
ebcecdf1
VS
49982012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4999
5000 Increase warning level.
5001
5002 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
5003 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
5004 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
5005 (TARGET_CFLAGS): Likewise.
5006 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
5007 * grub-core/Makefile.core.def (decompressor_xz): Add
5008 -Wno-unreachable-code.
5009 (normal): Add -Wno-redundant-decls.
5010 (xzio): Add -Wno-unreachable-code.
5011 (lzopio): Add -Wno-redundant-decls -Wno-error.
5012 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
5013 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
5014 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
5015 * grub-core/kern/dl.c: Add exception to -Wcast-align.
5016 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
5017 * grub-core/kern/i386/coreboot/init.c: Add exception to
5018 -Wsuggest-attribute=noreturn.
5019 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
5020 * grub-core/kern/ia64/dl_helper.c: Likewise.
5021 * grub-core/kern/mips/dl.c: Likewise.
5022 * grub-core/kern/sparc64/dl.c: Likewise.
5023 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
5024 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
5025 (memcmp): Likewise.
5026 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
5027 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
5028 * grub-core/loader/mips/linux.c: Likewise.
5029 * grub-core/loader/multiboot_elfxx.c: Likewise.
5030 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
5031 * grub-core/video/sm712.c: Add exception to -Wcast-align.
5032 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
5033 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
5034 fixme.
5035 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
5036 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
5037 Fix prototype.
5038
37bb97fe
VS
50392012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5040
5041 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
5042 address.
5043
29a3550b
VS
50442012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5045
5046 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
5047 Avoid improper use of strings.
5048 (grub_cmd_legacy_initrdnounzip): Likewise.
5049
dfdffd0d
VS
50502012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5051
5052 * include/grub/emu/misc.h (grub_util_warn): Add missing format
5053 attribute.
5054 (grub_util_info): Likewise.
5055 (grub_util_error): Likewise.
5056
102fae4a
VS
50572012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5058
5059 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
5060 * util/grub-fstest.c (fstest): Likewise.
5061
7e94d044
VS
50622012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5063
5064 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
5065 (grub_md_sha512_real): Likewise.
5066 (grub_util_get_geli_uuid): Likewise.
5067 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
5068 (grub_util_biosdisk_open): Fix format specification.
5069 Respect format security.
5070 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
5071 (xrealloc): Likewise.
5072 (xasprintf): Likewise.
5073
5ebd9769
VS
50742012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5075
5076 * util/import_gcry.py: Include grub/crypto.h in init.c.
5077
495fc8c1
VS
50782012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5079
5080 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
5081 (generate_image): Make prefix a const char *.
5082 Fix format specifications. Respect format security.
5083 Avoid void * arithmetics.
5084 Avoid shadowing.
5085 (argp_parser): Remove unused variable. Respect format security.
5086 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
5087 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
5088 (count_funcs): Remove unused variable.
5089 (relocate_addresses): Fix format specification.
5090 Disable x86-64 with elf32. Remove unused variables.
5091 (add_fixup_entry): Avoid shadowing.
5092 (make_reloc_section): Fix format specification.
5093 Use assert.
5094 (locate_sections): Fix format specifications.
5095 (load_image): Avoid shadowing.
5096
043c2ea3
VS
50972012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5098
5099 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
5100 Fix format specifications. Respect format security.
5101 Don't translate already translated grub_errmsg.
5102 (argp_parser): Remove unused variable
5103
3ec65a81
VS
51042012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5105
5106 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
5107
a4d9fe4a
VS
51082012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5109
5110 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
5111 (main): Likewise. Use xmalloc. Respect format security.
5112
15b81d49
VS
51132012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5114
5115 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
5116 a const char *.
5117 (argp_parser): Remove unused variable.
5118
31731fc0
VS
51192012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5120
5121 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
5122 (add_pixel): Make static.
5123 (add_font): Likewise.
5124 (write_string_section): Make name and str a const char *.
5125 (write_be16_section): Make name a const char *.
5126 (print_glyphs): Make static.
5127 (write_font_ascii_bitmap): Likewise.
5128 (write_font_width_spec): Likewise.
5129 (write_font_pf2): Likewise.
5130 (argp_parser): Remove unused variable.
5131 Respect format security.
5132 (main): Avoid shadowing. Respect format security.
5133
0809527b
VS
51342012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5135
5136 * util/grub-editenv.c (argp_parser): Make static.
5137 (create_envblk_file): Use xmalloc.
5138 (open_envblk_file): Likewise.
5139 Resepect format security.
5140 (set_variables): Respect format security.
5141
45b0c8b7
VS
51422012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5143
5144 * util/getroot.c (grub_find_device): Respect format security.
5145 (get_mdadm_uuid): Remove unused variable.
5146 (grub_util_pull_device): Dont call gettext on already translated
5147 grub_errmsg.
5148 (find_system_device): Remove unused variable.
5149 (grub_util_get_grub_dev): Likewise.
5150 (grub_make_system_path_relative_to_its_root): Respect format security.
5151
1b024b4e
VS
51522012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5153
5154 * util/grub-fstest.c (execute_command): Make first argument
5155 a const char *.
5156 (read_file): Avoid shadowing.
5157 Reuse underlying error message if device open fails.
5158 (cmd_cmp): Respect format security.
5159 (root): Make const char *.
5160 (fstest): Remove args argument and use global copy.
5161 Respect format security.
5162 (argp_parser): Make static.
5163 (main): Make default_root const char *.
5164
5d1d4e28
VS
51652012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5166
5167 * util/grub-mount.c (root): Make const char *.
5168 (execute_command): Make first argument a const char *.
5169 (fuse_init): Respect format security.
5170 (argp_parser): Make static. Remove unused variable.
5171 (main): Make default_root a const char *.
5172 Respect format security.
5173
36eb7379
VS
51742012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5175
5176 * util/grub-probe.c (probe): Don't call gettext on already translated
5177 grub_errmsg.
5178 Remove unused variables.
5179 (argp_parser): Remove unused variable.
5180
76fb2ea9
VS
51812012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5182
5183 * util/grub-script-check.c (argp_parser): Remove unused variable.
5184 (main): Rename read to curread to avoid shadowing.
5185
56c98584
VS
51862012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5187
5188 * util/misc.c (grub_util_write_image_at): Fix format specification.
5189 (grub_util_write_image): Likewise.
5190 (grub_script_execute_argument_to_string): Removed (unused).
5191 (grub_script_execute_menuentry): Likewise.
5192 (grub_putchar): Likewise.
5193
164ebb48
VS
51942012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5195
5196 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
5197 (FUNCTION) [GRUB_UTIL]: Likewise.
5198 (VARIABLE) [GRUB_UTIL]: Likewise.
5199
44318d61
VS
52002012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5201
5202 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
5203 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
5204
31a26002
VS
52052012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5206
5207 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
5208 buffer.
5209
52102012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5211
5212 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
5213 (LzmaEnc_SaveState): Removed (unused).
5214 (LzmaEnc_RestoreState): Likewise.
5215 (LzmaEnc_InitPriceTables): Made static.
5216 (LzmaEnc_Construct): Likewise.
5217 (LzmaEnc_FreeLits): Likewise.
5218 (LzmaEnc_Destruct): Likewise.
5219 (LzmaEnc_Init): Likewise.
5220 (LzmaEnc_InitPrices): Likewise.
5221 (LzmaEnc_Finish): Likewise.
5222 (LzmaEnc_PrepareForLzma2): Removed (unused).
5223 (LzmaEnc_MemPrepare): Likewise.
5224 (LzmaEnc_GetNumAvailableBytes): Likewise.
5225 (LzmaEnc_GetCurBuf): Likewise.
5226 (LzmaEnc_CodeOneMemBlock): Likewise.
5227
6fa67967
VS
52282012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5229
5230 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
5231 (grub_util_ldm_embed): Likewise.
5232
9a7428e6
VS
52332012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5234
5235 * util/grub-editenv.c (print_var): Rename name to varname to
5236 avoid shadowing.
5237 (main): Rename index to curindex to avoid shadowing.
31a26002 5238 Make filename a const char *.
9a7428e6 5239
4f96abd1
VS
52402012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5241
5242 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
5243 to arg_getline to avoid shadowing.
5244
44d10dad
VS
52452012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5246
5247 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
5248 disk_ to avoid shadowing.
5249
340ba63e
VS
52502012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5251
5252 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
5253 curindex to avoid shadowing.
5254 Make static.
5255 (MatchFinder_GetNumAvailableBytes): Make static.
5256
22965bce
VS
52572012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5258
5259 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
5260 avoid shadowing.
5261
7b5784d4
VS
52622012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5263
5264 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
5265 argument from encrypt to do_encrypt to avoid shadowing.
5266
6f48ca01
VS
52672012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5268
5269 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
5270 incorrect nesting of #if's.
5271
a4ea2dff
VS
52722012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5273
5274 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
5275 checks which are always false on some platforms.
5276 (grub_cmd_lsacpi): Likewise.
5277 * grub-core/kern/misc.c (grub_strtoul): Likewise.
5278 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
5279 Likewise.
5280
def9fc1b
VS
52812012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5282
5283 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
5284 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
5285
a67b2a04
VS
52862012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5287
5288 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
5289 re_dfa_t to avoid breaking alignment invariants.
5290 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
5291 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
5292
44c6828d
VS
52932012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5294
5295 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
5296 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
5297
bebe0dd0
VS
52982012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5299
5300 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
5301 Fix declaration.
5302
a9cdb3cf
VS
53032012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5304
5305 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
5306 conserve alignment invariants.
5307 (grub_ehci_ehcc_read16): Likewise.
5308 (grub_ehci_oper_read32): Likewise.
5309 (grub_ehci_oper_write32): Likewise.
5310 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
5311 Conserve alignment invariants.
5312
ccc3b1b8
VS
53132012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5314
5315 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
5316 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
5317 declarations.
5318
987fbd95
VS
53192012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5320
5321 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
5322 Remove unused variable.
5323
0df363f3
VS
53242012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5325
5326 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
5327 Remove set in if.
5328
b2c0c4a6
VS
53292012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5330
5331 * include/grub/net.h: Remove double declarations.
5332
690c531f
VS
53332012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5334
5335 Remove "payload" command in ia64 Linux loader since I couldn't
5336 find any evidence of it being used for anything.
5337 Replace "relocate" command with an environment variable
5338
5339 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
5340 fields.
5341 (ia64_boot_payload): Removed.
5342 (last_payload): Likewise.
5343 (RELOCATE_OFF): Likewise.
5344 (RELOCATE_ON): Likewise.
5345 (RELOCATE_FORCE): Likewise.
5346 (relocate): Likewise.
5347 (free_pages): Don't free payloads.
5348 (grub_load_elf64): Use common error messages.
5349 Use "linux_relocate" variable.
5350 Increase the space after boot_params.
5351 (grub_cmd_payload): Removed.
5352 (grub_cmd_relocate): Likewise.
5353 (grub_cmd_fpswa): Improve messages.
5354 (cmd_payload): Removed.
5355 (cmd_relocate): Likewise.
5356 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
5357 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
5358
01783768
VS
53592012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5360
5361 Convert UHCI to DMA framework.
5362
5363 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
5364 (grub_uhci_pci_iter): Fill new members
5365 (grub_alloc_td): Use P2V and V2P functions.
5366 (grub_free_queue): Likewise.
5367 (grub_alloc_qh): Likewise.
5368 (grub_uhci_setup_transfer): Likewise.
5369 (grub_uhci_check_transfer): Likewise.
5370
43206939
VS
53712012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5372
5373 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
5374 Remove assignment in if while on it.
5375
571e140e
VS
53762012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5377
5378 * util/grub-mkstandalone.in: Fix modules directory.
5379
a9d96eeb
VS
53802012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5381
5382 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
5383 on i386-pc target.
5384 (argp_parser): Accept "auto" as compression specification.
5385
e4e37e8d
VS
53862012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5387
5388 Fix `help' with unloaded modules.
5389
5390 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
5391 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
5392 (grub_dyncmd_dispatcher): Small stylistic fix.
5393 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
5394 explicit help is requested.
5395
e1ea3ade
VS
53962012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5397
5398 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
5399 Explicitly init restart while on it.
5400
27556881
VS
54012012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5402
5403 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
5404 uninited variable.
5405
d65f6b36
VS
54062012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5407
5408 * util/grub-mknetdir.in: Use . rather than source for POSIX
5409 compatibility.
5410
0a1e473c
VS
54112012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5412
5413 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
5414
ce6647c8
VS
54152012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5416
5417 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
5418 variable.
5419
66747894
VS
54202012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5421
5422 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
5423 without quotes.
5424
71645f6e
VS
54252012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5426
5427 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
5428
0e1c1f61
VS
54292012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5430
5431 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
5432 iteration of partitions.
5433
9c4b5c13
VS
54342012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5435
5436 Improve gettext support. Stylistic fixes and error handling fixes while
5437 on it.
5438
215c90cb
VS
54392012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
5440
5441 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
5442 part. Instead setup the correct stack in RM.
5443 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
5444 for stack.
5445 * include/grub/i386/relocator_private.h: New file.
5446
b5c1f9bf
VS
54472012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5448
5449 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
5450 argument.
5451 * util/grub-fstest.c (options): Add missing DEVICE part.
5452
b525fd83
VS
54532012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5454
5455 Clarify and unify messages.
5456
5457 * grub-core/commands/hashsum.c (options): Unify messages.
5458 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
5459 literal-only message as translatable.
5460 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
5461 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
5462 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
5463 commands.
5464 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
5465 key, not the key used to unlock. Clarify what it's used for.
5466 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
5467 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
5468 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
5469 * util/grub-editenv.c (options): Unify "verbose" message.
5470 * util/grub-fstest.c (read_file): Unify error message.
5471 (fstest): Add quotes around commands.
5472 (options): Unify "verbose" message.
5473 * util/grub-install.in: Add quotes around variable name.
5474 * util/grub-kbdcomp.in: Unify error message.
5475 * util/grub-mkfont.c (main): Likewise.
5476 * util/grub-mkrescue.in: Likewise.
5477 * util/grub-mklayout.c (options): Unify "verbose" message.
5478 * util/grub-mkstandalone.in: Unify help and verbose messages.
5479 * util/grub-mount.c (options): Unify "verbose" message.
5480 * util/grub-probe.c (options): Likewise.
5481 * util/grub-script-check.c (options): Likewise.
5482 * util/grub-setup.c (setup): Unify no-terminator message.
5483 (options): Use DEVICE and not DEV.
5484 Unify "verbose" message.
5485 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
5486
0ae70393
VS
54872012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5488
5489 Improve and unify messages.
5490
5491 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
5492 name. All users updated.
5493 Print filename in error.
5494 (read_device_map): Print filename in error.
5495 * util/getroot.c (grub_guess_root_devices): Print filename in error.
5496 (grub_util_get_os_disk): Likewise.
5497 (grub_util_biosdisk_get_grub_dev): Likewise.
5498 (grub_util_check_block_device): Likewise.
5499 (grub_util_check_char_device): Likewise.
5500 (grub_make_system_path_relative_to_its_root): Likewise.
5501 * util/grub-editenv.c (create_envblk_file): Likewise.
5502 (open_envblk_file): Likewise.
5503 (write_envblk): Likewise.
5504 * util/grub-fstest.c (cmd_cp): Likewise.
5505 (cmd_cat): Likewise.
5506 (cmd_cmp): Likewise.
5507 * util/grub-menulst2cfg.c (main): Likewise.
5508 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
5509 (write_font_width_spec): Likewise.
5510 (write_font_pf2): Likewise.
5511 * util/grub-mkimage.c (generate_image): New argument outname.
5512 All users updated.
5513 Remove unreacheable message.
5514 (options): Unify messages.
5515 (help_filter): Likewise.
5516 * util/grub-mklayout.c (usage): Removed (unused).
5517 (main): Print filename in error.
5518 * util/grub-mkrescue.in: Fix wrong quoting.
5519 * util/grub-setup.c (setup): Print filename in error.
5520 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
5521 (check_sas): Likewise.
5522 * util/misc.c (grub_util_get_fp_size): Removed.
5523 (grub_util_get_image_size): Print filename in error.
5524 (grub_util_read_at): Removed.
5525 (grub_util_read_image): Print filename in error.
5526 (grub_util_load_image): Likewise.
5527 (grub_util_write_image_at): New argument filename. All users updated.
5528 Print filename in error.
5529 (grub_util_write_image): New argument filename. All users updated.
5530 Print filename in error.
5531 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
5532 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
5533
0a96117d
VS
55342012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5535
5536 * grub-core/Makefile.core.def (pxechain): New module.
5537 * grub-core/loader/i386/pc/pxechainloader.c: New file.
5538 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
5539 function.
5540 (grub_pc_net_config_real): Use grub_pxe_get_cached.
5541 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
5542
aca002f7
VS
55432012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5544
5545 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
5546 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
5547 * include/grub/err.h (grub_error_saved): New struct.
5548 (grub_errmsg): Make array size explicit.
5549 * include/grub/misc.h (grub_error_save): New function.
5550 (grub_error_load): Likewise.
5551 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
5552 (grub_error_push): Update `errno' member name.
5553 (grub_error_pop): Likewise
5554 * grub-core/net/tftp.c (tftp_data): New member save_err.
5555 (tftp_receive): Save error.
5556 (tftp_open): Restore error.
5557
a51dab13
VS
55582012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5559
5560 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
5561 to real mode down to execute A20-related code in protected mode as
5562 intended.
5563
eb6e6649
GS
55642012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
5565
5566 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
5567 NULL when the argument `level' has an unexpected value.
5568
92cd0f6e
VS
55692012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5570
5571 Move platform-dependent files from $prefix to $prefix/$platform.
5572
5573 * config.h.in (GRUB_TARGET_CPU): New definition.
5574 (GRUB_PLATFORM): Likewise.
5575 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
5576 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
5577 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
5578 * grub-core/kern/dl.c (grub_dl_load): Likewise.
5579 * grub-core/normal/autofs.c (read_fs_list): Likewise.
5580 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
5581 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
5582 * grub-core/normal/term.c (read_terminal_list): Likewise.
5583 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
5584 $prefix/locale.
5585 (grub_gettext_init_ext): Likewise.
5586 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
5587 grub_platform.
5588 * util/grub-install.in: Update directories.
5589 * util/grub-mknetdir.in: Likewise.
5590 * util/grub-mkrescue.in: Likewise.
5591
db606889
VS
55922012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5593
5594 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
5595 grub_error framework. All users updated.
5596
c39992a4
VS
55972012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5598
5599 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
5600 lists (by always binsearching), improve caching (cache strings
5601 used for binsearch, not only results), improve
5602 maintainability (by using more structured binary search) and correct
5603 error handling.
5604
1e5ec32f
VS
56052012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5606
5607 * grub-core/script/execute.c (grub_script_return): Fix warning.
5608
ac576cde
VS
56092012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5610
5611 * grub-core/script/execute.c (grub_script_return): Fix potential
5612 NULL-dereference.
5613 Reported by: Jim Meyering.
5614
498453f6
VS
56152012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5616
5617 * po/POTFILES.in: Regenerate.
5618 * util/grub-install.in: Gettextize the strings missed in first pass.
5619
8be63f2e
VS
56202012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5621
5622 * Makefile.util.def (grub-mkdevicemap): Removed.
5623 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
5624 * include/grub/util/deviceiter.h: Removed.
5625 * util/deviceiter.c: Likewise.
5626 * util/getroot.c (grub_util_get_os_disk): New function.
5627 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
5628 replacement for EFI.
5629 * util/grub-mkdevicemap.c: Removed.
5630 * util/grub-probe.c (probe): Handle PRINT_DISK.
5631 (argp_parser): Handle -t disk.
5632
8e1e4e39
VS
56332012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5634
5635 * util/grub-mkfont.c: Migrate to argp.
5636 * util/grub-mklayout.c: Likewise.
5637 * util/grub-mkpasswd-pbkdf2.c: Likewise.
5638 * util/grub-mkrelpath.c: Likewise.
5639 * util/grub-probe.c: Likewise.
5640 * util/grub-script-check.c: Likewise.
5641
4459819a
VS
56422012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5643
5644 * util/grub-reboot.in: Add missing datarootdir.
5645 Add missing newline.
5646 * util/grub-set-default.in: Add missing datarootdir.
5647 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
5648 * util/grub-mkrescue.in: Likewise.
5649
f65741c7
VS
56502012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5651
5652 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
5653
c1a33466
VS
56542012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5655
5656 * util/grub-kbdcomp.in: Add decent help and gettextize.
5657 * docs/man/grub-kbdcomp.h2m: New file.
5658
c76899a0
VS
56592012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5660
5661 Migrate grub-mkimage.c to argp.
5662
5663 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
5664 (grub-setup): Likewise.
5665 * util/grub-setup.c (print_version): Move to ...
5666 * util/argp_common.c (print_version): ... here.
5667 * util/grub-setup.c (argp_program_version_hook): Move to ...
5668 * util/argp_common.c (argp_program_version_hook): ... here.
5669 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
5670 safety.
5671 * util/grub-mkimage.c (main): Migrate to argp.
5672
57db0757
VS
56732012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5674
5675 * util/grub-mkrescue.in: Use same message as
5676 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
5677 for better translations.
5678
18534ad9
VS
56792012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5680
5681 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
5682 options with generic grub-mkrescue.in with the goal of future
5683 merge.
5684
c84ba308
VS
56852012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5686
5687 * grub-core/kern/mm.c: Add missing include of i18n.h
5688 * grub-core/lib/relocator.c: Likewise.
5689
347998c2
VS
56902012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5691
5692 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
5693 error.
5694 (allocate_pages): Check return value.
5695 Replace fatal with error.
5696 (grub_linux_boot): Replace printf with dprintf.
5697 Check find_mmap_size return value.
5698 Replace fatal with error.
5699 Don't call grub_machine_fini.
5700 (grub_load_elf64): Replace printf with dprintf.
5701 (grub_cmd_linux): Likewise.
5702 (grub_cmd_initrd): Likewise.
5703 (grub_cmd_payload): Likewise.
5704
c779226e
VS
57052012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5706
5707 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
5708 message.
5709 * grub-core/video/radeon_fuloong2e.c
5710 (grub_video_radeon_fuloong2e_setup): Likewise.
5711 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
5712 * grub-core/video/video.c (grub_video_set_mode): Don't override
5713 standard out of memory message.
5714
dc87d45a
GS
57152012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
5716
5717 NetBSD disk wedge support.
5718
5719 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
5720 [__NetBSD__]: Handle NetBSD disk wedges.
5721 * util/getroot.c (convert_system_partition_to_system_disk)
5722 [__NetBSD__]: Likewise.
5723
055f856f
MW
57242012-02-03 Mark Wooding <mdw@distorted.org.uk>
5725
5726 * util/grub-mkconfig.in: Use umask rather than chmod to create
5727 grub.cfg.new to avoid insecure grub.cfg.
5728
4a9f8346
VS
57292012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5730
5731 * grub-core/commands/ls.c: Gettextize.
5732 * grub-core/commands/setpci.c: Likewise.
5733 * grub-core/commands/videotest.c: Likewise.
5734 * grub-core/disk/geli.c: Likewise.
5735 * grub-core/kern/mm.c: Likewise.
5736 * grub-core/lib/relocator.c: Likewise.
5737 * grub-core/loader/efi/appleloader.c: Likewise.
5738 * grub-core/loader/i386/xnu.c: Likewise.
5739 * grub-core/loader/ia64/efi/linux.c: Likewise.
5740 * grub-core/loader/xnu.c: Likewise.
5741 * grub-core/net/dns.c: Likewise.
5742 * grub-core/net/net.c: Likewise.
5743 * grub-core/script/lexer.c: Likewise.
5744 * grub-core/script/parser.y: Likewise.
5745 * grub-core/script/yylex.l: Likewise.
5746 * util/getroot.c: Likewise.
5747 * util/grub-setup.c: Likewise.
5748
a646a366
VS
57492012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5750
5751 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
5752 number.
5753
54e2be26
VS
57542012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5755
5756 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
5757
f7c71e68
VS
57582012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5759
5760 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
5761 macro.
5762 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
5763 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
5764
a32d5c71
VS
57652012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5766
5767 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
5768 * util/grub-install.in: Gettextize.
5769 * util/grub-mkconfig.in: Likewise.
5770 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
5771 if not available.
5772 (grub_warn): Gettextize.
5773 * util/grub-mknetdir.in: Gettextize.
5774 * util/grub-mkrescue.in: Likewise.
5775 * util/grub-mkstandalone.in: Likewise.
5776 * util/grub-reboot.in: Likewise.
5777 * util/grub-set-default.in: Likewise.
5778 * util/grub.d/00_header.in: Likewise.
5779 * util/grub.d/10_hurd.in: Likewise.
5780 * util/grub.d/10_kfreebsd.in: Likewise.
5781 * util/grub.d/10_linux.in: Likewise.
5782 * util/grub.d/10_netbsd.in: Likewise.
5783 * util/grub.d/10_windows.in: Likewise.
5784 * util/grub.d/20_linux_xen.in: Likewise.
5785 * util/grub.d/30_os-prober.in: Likewise.
5786 * po/POTFILES-shell.in: Regenerate.
5787
69edd81a
RL
57882012-02-03 Richard Laager <rlaager@wiktel.com>
5789
5790 * util/grub-mkimage.c (main): Fix format-security warning.
5791 * util/grub-mkrelpath.c (main): Likewise.
5792 * util/grub-probe.c (main): Likewise.
5793
65f08dbf
RL
57942012-02-03 Richard Laager <rlaager@wiktel.com>
5795
5796 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
5797 failure.
5798 Put back lost PRINT_DRIVE.
5799
e9084abe
RL
58002012-02-03 Richard Laager <rlaager@wiktel.com>
5801
5802 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
5803 (grub_guess_root_devices): Replace strlen with sizeof.
5804 Avoid crash.
5805 (find_root_devices_from_poolname): Remove unused variable.
5806 Handle raidzN.
5807
cf5f7ee7
VS
58082012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5809
5810 Support install on multi-device filesystems.
5811
5812 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
5813 (grub_guess_root_devices): ...this. Return char **. All users updated.
5814 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
5815 Removed.
5816 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
5817 (find_root_devices_from_poolname): ... here.
5818 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
5819 Support zfs-fuse.
5820 (grub_guess_root_device): Rename to ...
5821 (grub_guess_root_devices): ... this. Return char **. All users updated.
5822 * util/grub-install.in: Handle multi-device filesystems.
5823 * util/grub-probe.c (probe). Make device_names a char **. Add delim
5824 argument. All users updated.
5825 Handle multi-device filesystems.
5826 Use 'delim' as separator.
5827 Remove device check to allow filesystems on file.
5828 (main): Support -0 argument. Handle multi-device.
5829 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
5830 Fix a cross-device check while on it.
5831 (arguments): Remove root_dev.
5832 (argp_parser): Remove -r.
5833 (main): Remove root_dev.
5834
2f53a9ed
VS
58352012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5836
5837 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
5838
17e1d934
VS
58392012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5840
5841 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
5842 symbol.
5843 Reported by: NODA, Kai <nodakai>.
5844
d3e3fab5
VS
58452012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5846
5847 Fix ehci on amd64.
5848
5849 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
5850 pointers.
5851 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
5852 (grub_ehci_setup_qh): Likewise.
5853 (grub_ehci_find_qh): Likewise.
5854 (grub_ehci_transaction): Likewise.
5855 (grub_ehci_setup_transfer): Likewise.
5856 (grub_ehci_check_transfer): Likewise.
5857 (grub_ehci_portstatus): Likewise.
5858 (grub_ehci_detect_dev): Likewise.
5859 (grub_ehci_transfer_controller_data): New field td_last_phys.
5860 (grub_ehci_setup_transfer): Fill td_last_phys.
5861 (grub_ehci_check_transfer): Use td_last_phys.
5862
3008675b
SG
58632012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
5864
5865 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
5866 if no submenu is present.
5867
fc9b5652
AN
58682012-02-01 Aleš Nesrsta <starous@volny.cz>
5869
5870 CBI support.
5871
5872 * include/grub/usb.h (grub_usbms_protocol_t): New values
5873 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
5874 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
5875 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
5876 (grub_usbms_dev): Add subclass, protocol and intrpt.
5877 Remove in_maxsz and out_maxsz.
5878 (grub_usbms_reset): Rename to ...
5879 (grub_usbms_bo_reset): .. this.
5880 (grub_usbms_cbi_cmd): New function.
5881 (grub_usbms_cbi_reset): Likewise.
5882 (grub_usbms_reset): Likewise.
5883 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
5884 (grub_usbms_transfer): Rename to ...
5885 (grub_usbms_transfer_bo): ... this.
5886 (grub_usbms_transfer_cbi): Likewise.
5887 (grub_usbms_transfer): Likewise.
5888
a2b81d53
AN
58892012-02-01 Aleš Nesrsta <starous@volny.cz>
58902012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5891
5892 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
5893 the support for the CS5536 modification thereos and few bugfixes.
5894
5895 * grub-core/Makefile.core.def (ehci): New module.
5896 * grub-core/bus/usb/ehci.c: New file.
5897 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
5898 port and hubaddr. All users updated.
5899 Save port and hubaddr into dev structure.
5900 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
5901 define.
5902 * include/grub/pci.h (grub_dma_phys2virt): New function.
5903 (grub_dma_virt2phys): Likewise.
5904 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
5905
b1d51f02
VS
59062012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5907
5908 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
5909 check as some mkfs implementations omit it.
5910
fc694106
VS
59112012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5912
5913 * docs/grub.texi (Unicode): Mention identifier and space limitations.
5914
6c0920e3
VS
59152012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5916
5917 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
5918 Add new member volname2.
5919 (grub_jfs_label): Use volname2 if available.
5920
d1a46f9a
VS
59212012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5922
5923 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
5924 over last_mounted as seen in image generated by mkfs.nilfs2.
5925 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
5926
dec8ed14
VS
59272012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5928
5929 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
5930 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
5931 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
5932
7397c69b
VS
59332012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5934
5935 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
5936 over the sector.
5937
b3fe42ad
VS
59382012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5939
5940 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
5941 subvolume name (by removing a bogus and useless check).
5942
10476bb0
VS
59432012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5944
5945 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
5946 sizeof while on it.
5947
9c08ad87
VS
59482012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5949
5950 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
5951 (grub_scsi_read_capacity10): ... this.
5952 (grub_scsi_read_capacity16): New function.
5953 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
5954 0xffffffff.
5955 Fix off-by-one error.
5956 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
5957 64-bit unsigned.
5958 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
5959 (grub_scsi_read_capacity10): ... this.
5960 (grub_scsi_read_capacity_data): Rename to ...
5961 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
5962 (grub_scsi_read_capacity16): New struct.
5963 (grub_scsi_read_capacity16_data): Likewise.
5964 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
5965 grub_scsi_cmd_read_capacity10.
5966 New command grub_scsi_cmd_read_capacity16.
5967
bc8d0f45
VS
59682012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5969
5970 SCSI >2TiB support.
5971
5972 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
5973 (grub_scsi_write16): Likewise.
5974 (grub_scsi_read): Use read16 when necessary.
5975 (grub_scsi_write): Likewise.
5976 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
5977 (grub_scsi_write16): Likewise.
5978 (grub_scsi_cmd_t): Add READ16 and WRITE16.
5979
cc774926
VS
59802012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5981
5982 SCSI write support (for usbms mainly).
5983
5984 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
5985 a const pointer.
5986 (grub_scsi_write): Implement.
5987 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
5988
67639fd7
VS
59892012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5990
5991 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
5992 variable.
5993
9079d3ed
VS
59942012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5995
5996 * grub-core/lib/posix_wrap/string.h (memchr): New function.
5997
c6a6f204
VS
59982012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5999
6000 * po/POTFILES.in: Regenerate.
6001
ecbf8cd1
VS
60022012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6003
6004 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
6005 with grub_printf to avoid unnecessary fatal failure.
6006
0b3b3b38
VS
60072012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6008
6009 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
6010 (INT_MAX): Likewise.
6011 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
6012 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
6013 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
6014 (strcpy): Likewise.
6015 (strstr): Likewise.
6016 (strchr): Likewise.
6017 (strncpy): Likewise.
6018 (strcat): Likewise.
6019 (strncat): Likewise.
6020 (strcoll): Likewise.
6021 * include/grub/types.h (GRUB_SHRT_MAX): New define.
6022 (GRUB_INT_MAX): Likewise.
6023
db7337a3
VS
60242012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6025
6026 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
6027 unexpected error.
6028 (optimize_utf8): Likewise.
6029 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
6030
f37c87e1
VS
60312012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6032
6033 * grub-core/boot/i386/pc/lnxboot.S: Use
6034 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
6035 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
6036 location.
6037 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
6038 definition.
6039 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
6040
63fe43f3
VS
60412012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6042
6043 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
6044 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
6045 now to avoid double free.
6046 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
6047 hostdisk.
6048 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
6049 * util/grub-probe.c (escape_of_path): Always return a new copy.
6050 (print_full_name): Escape path.
6051 (probe): Don't call grub_util_devname_to_ofpath on NULL.
6052 Fix hints on abstractions.
6053
ebe2c961
VS
60542012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6055
6056 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
6057 Don't add "root" line if no compatibility hont is available.
6058 Suggested by: Seth Goldberg.
6059
2b5336a2
VS
60602012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6061
6062 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
6063 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
6064 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
6065 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
6066
74310bd8
VS
60672012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6068
6069 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
6070
c30582ba
VS
60712012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6072
6073 * util/grub-pe2elf.c (ehdr): Make static.
6074 (shdr): Likewise.
6075 (num_sections): Likewise.
6076 (offset): Likewise.
6077
5f47782c
VS
60782012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6079
6080 Eliminate ofpath limits and possible overflows.
6081
6082 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
6083 (OF_PATH_MAX): Removed.
6084 (MAX_DISK_CAT): New const.
6085 (find_obppath): Use allocated rather than preallocated buffer.
6086 Return result. Argument of_path removed. All users updated.
6087 Add missing fdstat.
6088 (xrealpath): New function.
6089 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
6090 Allocate rather than use preallocated buffer. All users updated.
6091 (__of_path_common): Use allocated rather than preallocatecd buffer.
6092 Return result. Argument of_path removed. All users updated.
6093 (vendor_is_ATA): Read only needed part form the file.
6094 (check_sas): Allocate depending on contents rather than fixed.
6095 (main) [STANDALONE]: Handle NULL result.
6096
f990cbf9
VS
60972012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6098
6099 * grub-core/normal/completion.c (iterate_dev): Close the disk.
6100
9c6e84b8
VS
61012012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6102
6103 Cryptodisk write support.
6104
6105 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
6106 (grub_cryptodisk_decrypt): Moved logic to ...
6107 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
6108 (grub_cryptodisk_write): Implement.
6109 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
6110 (grub_util_fd_write): ... this. Make global.
6111 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
6112
87cf9744
VS
61132012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6114
6115 * include/grub/list.h (grub_list_remove): Don't crash if element is
6116 removed twice.
6117
ca8c0baf
VS
61182012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6119
6120 Rename ofconsole to console.
6121
6122 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
6123 as sysnonym to console.
6124 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
6125 * grub-core/term/ieee1275/console.c: ... this. All users updated.
6126 Rename grub_ofconsole_ to grub_console_. All users updated
6127 (grub_console_term_output): Rename "ofconsole" to "console".
6128 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
6129 as "console".
6130
64c8b8f6
VS
61312012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6132
6133 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
6134 handling.
6135 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
6136 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
6137 GRUB_DISK_DEVICE_FILE_ID.
6138
f6c434d5
VS
61392012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6140
6141 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
6142 and improve performance.
6143
5858b42d
VS
61442012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6145
6146 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
6147 missing ieee1275/ prefix on whole disk.
6148
4ed3c26b
VS
61492012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6150
6151 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
6152 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
6153
df71143e
VS
61542012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6155
6156 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
6157
076e7c0f
VS
61582012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6159
6160 Merge common RAID and LVM logic to an abstract diskfilter.
6161 Add LDM support using the same framework.
6162
6163 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
6164 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
6165 (libgrubmods): Remove grub-core/disk/raid.c and
6166 grub-core/partmap/gpt.c.
6167 * grub-core/Makefile.core.def (ldm): New module.
6168 (raid): Renamed to diskfilter. All users updated.
6169 * grub-core/disk/raid.c: Moved to ...
6170 * grub-core/disk/diskfilter.c: ... here.
6171 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
6172 (lv_num): New var.
6173 (find_array): Renamed to ...
6174 (find_lv): ... this. Support multi-LV. Skip nameless LVs
6175 (grub_is_array_readable): Renamed to ...
6176 (grub_is_lv_readable): ... this. Support multinode hierarchy.
6177 (insert_array): New argument id.
6178 (is_node_readable): New function.
6179 (scan_device): Rename to ...
6180 (scan_disk): .. this. Restrict to one disk.
6181 (scan_devices): New function.
6182 (grub_diskfilter_iterate): Support multi-LV.
6183 Skip invisible and nameless LVs.
6184 (grub_diskfilter_memberlist): Support multi-LV.
6185 (grub_diskfilter_read_node): New function.
6186 (grub_raid_read): Most of logic moved to ...
6187 (read_segment): ... here
6188 (read_lv): New function.
6189 (grub_diskfilter_get_vg_by_uuid): New function.
6190 (grub_diskfilter_make_raid): Likewise.
6191 * grub-core/disk/ldm.c: New file.
6192 * grub-core/disk/lvm.c (vg_list): Removed.
6193 (lv_count): Likewise.
6194 (scan_depth): Likewise.
6195 (is_lv_readable): Likewise.
6196 (grub_lvm_getvalue): Advance pointer past the number.
6197 (find_lv): Removed.
6198 (do_lvm_scan): Refactored into ...
6199 (grub_lvm_detect): ... this. Support raid.
6200 (grub_lvm_iterate): Removed.
6201 (grub_lvm_memberlist): Likewise.
6202 (grub_lvm_open): Likewise.
6203 (grub_lvm_close): Likewise.
6204 (read_lv): Likewise.
6205 (read_node): Likewise.
6206 (is_node_readable): Likewise.
6207 (is_lv_readable): Likewise.
6208 (grub_lvm_read): Likewise.
6209 (grub_lvm_write): Likewise.
6210 (grub_lvm_dev): Use diskfilter
6211 (GRUB_MOD_INIT): Likewise.
6212 (GRUB_MOD_FINI): Likewise.
6213 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
6214 new interface.
6215 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
6216 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
6217 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
6218 grub_diskfilter_read_node.
6219 Fix a bug with xor.
6220 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
6221 grub_diskfilter_read_node.
6222 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
6223 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
6224 (grub_disk_dev_iterate): Move from here...
6225 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
6226 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
6227 Make global.
6228 (grub_hostdisk_find_partition_start): Likewise.
6229 (grub_hostdisk_os_dev_to_grub_drive): New function.
6230 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
6231 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
6232 * util/getroot.c (make_device_name): ... here.
6233 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
6234 Move to ...
6235 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
6236 * grub-core/kern/emu/hostdisk.c
6237 (convert_system_partition_to_system_disk): Move to ...
6238 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
6239 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
6240 * util/getroot.c (device_is_wholedisk): ... here.
6241 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
6242 * util/getroot.c (find_system_device): ... here.
6243 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
6244 Move to ...
6245 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
6246 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
6247 Move to ...
6248 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
6249 Handle LDM.
6250 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
6251 Move to ...
6252 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
6253 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
6254 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
6255 DISKFILTER.
6256 * include/grub/raid.h: Renamed to ...
6257 * include/grub/diskfilter.h: ... this.
6258 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
6259 (GRUB_RAID_LAYOUT_*): Make into array.
6260 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
6261 (grub_diskfilter_vg): New struct.
6262 (grub_diskfilter_pv_id): Likewise.
6263 (grub_raid_member): Removed.
6264 (grub_raid_array): Likewise.
6265 (grub_diskfilter_pv): New struct.
6266 (grub_diskfilter_lv): Likewise.
6267 (grub_diskfilter_segment): Likewise.
6268 (grub_diskfilter_node): Likewise.
6269 (grub_diskfilter_get_vg_by_uuid): New proto.
6270 (grub_raid_register): Inline.
6271 (grub_diskfilter_unregister): Likewise.
6272 (grub_diskfilter_make_raid): New proto.
6273 (grub_diskfilter_vg_register): Likewise.
6274 (grub_diskfilter_read_node): Likewise.
6275 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
6276 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
6277 (grub_util_is_ldm): Likewise.
6278 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
6279 (grub_hostdisk_find_partition_start): Likewise.
6280 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
6281 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
6282 New definition.
6283 (grub_gpt_partition_map_iterate): New proto.
6284 * include/grub/lvm.h (grub_lvm_vg): Removed.
6285 (grub_lvm_pv): Likewise.
6286 (grub_lvm_lv): Likewise.
6287 (grub_lvm_segment): Likewise.
6288 (grub_lvm_node): Likewise.
6289 * util/getroot.c [...]
6290 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
6291 (probe_abstraction): Likewise.
6292 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
6293 (main): Remove dead logic.
6294
8a7f9b9c
VS
62952012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
6296
6297 Simplify root device discover and don't fail when trying to open
6298 incorrect devices.
6299
6300 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
6301 function.
6302 (get_diskname_from_path): Likewise.
6303 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
6304 of iterating.
6305
30545b85
VS
63062012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6307
6308 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
6309
28ea58cf
VS
63102012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6311
6312 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
6313 pastthe end.
6314
692dabca
VS
63152012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6316
6317 * util/grub-install.in: Add missing \.
6318 Reported by: gentoofan
6319
f6e4ea70
VS
63202012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
6321
6322 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
6323 (direct_read): Use correct compressed size.
6324 (grub_squash_read_data): Likewise.
6325
63262012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
6327
6328 * docs/grub.texi (Platform limitations): New section.
6329 (Platform-specific operations): Likewise.
6330 * docs/grub-dev.texi (Porting): Likewise.
6331
76261110
VS
63322012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6333
6334 IEEE1275 disk write support.
6335
6336 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
6337 const void *.
6338 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
6339 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
6340 and seek loginc to ...
6341 (grub_ofdisk_prepare): ... here.
6342 (grub_ofdisk_write): Implement.
6343
fc36d603
VS
63442012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6345
6346 ARC disk write support.
6347
6348 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
6349 (reopen): New argument writable. All users updated.
6350 Handle required access mode.
6351 (grub_arcdisk_write): Implement.
6352 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
6353 (grub_arc_firmware_vector): Make buffer to write a const buffer.
6354
e06c2e7a
VS
63552012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6356
6357 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
6358 (read_sblock): Don't attempt to read superblocks outside the disk size.
6359
ff447958
VS
63602012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6361
6362 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
6363 first superblock to find the second one when possible.
6364
9e88df39
VS
63652012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6366
6367 * util/grub-install.in: Fix an ARC bug.
6368 Print a warning if no platform-specific setup is available.
6369
bb26e4ff
VS
63702012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6371
6372 Use static allocation rather than scratch pointer in reed_solomon.
6373 It decreases its size significantly and avoids a variable in .text.
6374
6375 * grub-core/lib/reed_solomon.c (scratch): Removed.
6376 (chosenstat): New const or static array.
6377 (sigma): Likewise.
6378 (errpot): Likewise.
6379 (errpos): Likewise.
6380 (sy): Likewise.
6381 (mstat): Likewise.
6382 (errvals): Likewise.
6383 (eqstat): Likewise.
6384 (pol_evaluate): Replace x with log_x argument. All users updated.
6385 (syndroms): Removed.
6386 (gauss_solve): Use statically allocated arrays.
6387 (rs_recover): Likewise.
6388 Calculate syndroms directly.
6389 (decode_block): Use statically allocated arrays.
6390 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
6391 (main) [TEST]: Allow -DTEST -DSTANDALONE.
6392
2e13ede5
VS
63932012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6394
6395 Eliminate fixed limit on reed solomon decoder length.
6396
6397 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
6398 rather than hardcoding the address.
6399 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
6400 no_reed_solomon_length.
6401 Move gate_a20 to no-reed-solomon part.
6402 Don't force a particular size of no reed-solomon part.
6403 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
6404 Removed.
6405 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
6406 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
6407
f8a9ab12
VS
64082012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6409
6410 * grub-core/commands/wildcard.c (match_files): Handle filenames
6411 without explicit device.
6412 (wildcard_expand): Don't add explicit device if not already present.
6413 * tests/grub_script_echo1.in: Add a new expansion test.
6414
87edb894
VS
64152012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6416
6417 Replace single-linked with double-linked lists. It results in more
6418 compact and more efficient code.
6419
6420 * grub-core/kern/list.c (grub_list_push): Moved from here ...
6421 * include/grub/list.h (grub_list_push): ... to here. Set prev.
6422 (grub_list_remove): Moved from here ...
6423 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
6424 (grub_prio_list_insert): Set prev.
6425 * include/grub/list.h (grub_list): Add prev. All users updated.
6426
48b391e9
VS
64272012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6428
6429 Handle newer autotools. Add some missing quotes while on it.
6430
6431 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
6432 (pkglib_DATA): Move grub-mkconfig_lib from here ...
6433 (pkgdata_DATA): ... here.
6434 * Makefile.util.def (update-grub_lib): Removed.
6435 * conf/Makefile.common (pkglib_DATA): Removed.
6436 (pkglib_SCRIPTS): Likewise.
6437 (pkgdata_DATA): New variable.
6438 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
6439 needed.
6440 Add missing quotes.
6441 Remove unused variable while on it.
6442 * tests/util/grub-shell.in: Likewise.
6443 * util/grub-install.in: Likewise.
6444 * util/grub-mkconfig.in: Likewise.
6445 * util/grub-mknetdir.in: Likewise.
6446 * util/grub-mkrescue.in: Likewise.
6447 * util/grub-mkstandalone.in: Likewise.
6448 * util/grub.d/00_header.in: Likewise.
6449 * util/grub.d/10_hurd.in: Likewise.
6450 * util/grub.d/10_illumos.in: Likewise.
6451 * util/grub.d/10_kfreebsd.in: Likewise.
6452 * util/grub.d/10_linux.in: Likewise.
6453 * util/grub.d/10_netbsd.in: Likewise.
6454 * util/grub.d/10_windows.in: Likewise.
6455 * util/grub.d/20_linux_xen.in: Likewise.
6456 * util/grub.d/30_os-prober.in: Likewise.
6457 * util/update-grub_lib.in: Removed.
6458
64592012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
6460
6461 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
6462 a workaround for intel problem.
6463
66832792
PRP
64642012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
64652012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
64662012-01-23 pfsmorigo
6467
6468 * util/grub-install.in: Support dd'in into PreP partition.
6469 * util/grub-probe.c (probe): Support discovering partition type.
6470 (main): Support -t msdos_parttype.
6471
7816a17e
VS
64722012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
6473
6474 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
6475 infinite recursion using counter.
6476 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
6477 init to skip it if the magic check fails.
6478 (dec_stream_header): Init s->crc32.
6479
8f9d3a8c
ZB
64802012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
64812012-01-22 Zachary Bedell <pendorbound@gmail.com>
64822012-01-22 Richard Laager <rlaager@wiktel.com>
6483
6484 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
6485 All users updated.
6486 (find_bestub): Determine correct size.
6487 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
6488 (scan_disk): Align the size down.
6489 Call check pool before find_bestub to have ashift.
6490
b055dd32
VS
64912012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6492
6493 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
6494 dprintf in no-malloc zone.
6495
d779e9bd
ML
64962012-01-22 Mario Limonciello <mario_limonciello@dell.com>
6497
6498 * configure.ac: Add back in test for limits.h.
6499
b508af69
VS
65002012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6501
6502 Support 4K-sector NTFS.
6503
6504 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
6505 (grub_ntfs_data): Remove blocksize.
6506 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
6507 Remove data argument. All users updated.
6508
dad9c8b5
VS
65092012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6510
6511 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
6512 being in .text to avoid dprel references.
6513 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
6514 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
6515 (grub_arch_highmemsize): Likewise.
6516 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
6517 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
6518 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
6519
d43a777e
VS
65202012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6521
6522 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
6523
6524 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
6525 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
6526
34e4208f
VS
65272012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6528
6529 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
6530 GRUB_UTIL.
6531 (grub_set_datetime_cmos): Likewise.
6532
3ec0fc1c
VS
65332012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6534
6535 Make XZ compression parameters dependent on target and not host CPU.
6536
6537 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
6538 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
6539
22489834
VS
65402012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6541
6542 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
6543 set but not used variable.
6544
8502fbca
VS
65452012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6546
6547 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
6548 created when no uuid support is compiled into mkfs.reiser.
6549
76df2068
VS
65502012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6551
6552 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
6553 (utf8_to_macroman): Do the opposite.
6554 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
6555
64e3f8f6
VS
65562012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6557
6558 * configure.ac: Refise build qemu_mips w/o unifont.
6559
9c271078
VS
65602012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6561
6562 Eliminate grub_min/grub_max prone to overflow usage.
6563
6564 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
6565 (poll_nonroot_hub): Likewise.
6566 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
6567 (grub_affs_label): Likewise.
6568 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
6569 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
6570 (grub_hfs_label): Likewise.
6571 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
6572 * grub-core/fs/zfs/zfs.c (MIN): Remove.
6573 (zap_leaf_array_equal): Use grub_size. Remove MIN.
6574 (zap_leaf_array_get): Likewise.
6575 (dnode_get_path): Likewise.
6576 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
6577 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
6578 * grub-core/script/execute.c (grub_script_break): Likewise.
6579 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
6580 grub_max.
6581 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
6582 * include/grub/misc.h (grub_min): Removed.
6583 (grub_max): Likewise.
6584
80662dbc
VS
65852012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
6586
6587 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
6588 direct.inode = 0.
6589
e6da1467
VS
65902012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6591
6592 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
6593
b1ac4cb1
VS
65942012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6595
6596 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
6597
b4bf7c3b
VS
65982012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6599
6600 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
6601 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
6602
8ee1101a
VS
66032012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6604
6605 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
6606 rather than a hack for grub_strncasemap.
6607
66082012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6609
6610 Support multiple initrds
6611 Note: part of this was accidently committed in r3739.
6612
6613 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
6614 initrd.
6615 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
6616 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
6617 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
6618 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6619 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6620
4d1e2bc9
VS
66212012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6622
6623 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
6624 disks with unknown size.
6625 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
6626
75b49ebe
VS
66272012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6628
6629 Remove defines pertaining to arbitrary limits not affecting GRUB
6630 anymore.
6631
6632 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
6633 (EXT2_MAX_SYMLINKCNT): Likewise.
6634 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
6635 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
6636 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
6637 (GRUB_PXE_MAX_BLKSIZE): Likewise.
6638 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
6639 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
6640 (DN_MAX_OBJECT_SHIFT): Likewise.
6641 (DN_MAX_OFFSET_SHIFT): Likewise.
6642 (DN_MAX_OBJECT): Likewise.
6643 (DNODES_PER_LEVEL_SHIFT): Likewise.
6644 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
6645 (SPA_MAXBLOCKSIZE): Likewise.
6646 (SPA_BLOCKSIZES): Likewise.
6647 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
6648 (MZAP_MAX_BLKSZ): Likewise.
6649
74a1dce7
VS
66502012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6651
6652 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
6653 handle NULL appropriately.
6654 Remove MIN.
6655
30c7d3ce
VS
66562012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6657
6658 Fix efiemu.
6659
6660 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
6661 cpu/types.h.
6662 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
6663 * configure.ac: Fix efiemu check.
6664
3c76ea0c
VS
66652012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6666
6667 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
6668 grub_probe.
6669 Reported by: adamwill
6670
7e532280
SG
66712012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
6672
6673 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
6674
30492374
VS
66752012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6676
6677 Fix handling of wide characters in gfxterm.
6678
6679 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
6680 (clear_char): Likewise.
6681 (paint_char): Skip code == NULL chars.
6682 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
6683
e70cb72f
VS
66842012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6685
6686 * grub-core/normal/charset.c: Move comment to right place.
6687
5c827cf9
VS
66882012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6689
6690 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
6691 (GRUB_AFFS_FLAG_FFS): Put back where it was.
6692 (grub_affs_mount): Revert the correct version checking.
6693
53603892
VS
66942012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6695
6696 * docs/grub.texi (Unicode): Mention several other unsupported features.
6697
ff094b9b
VS
66982011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
6699
6700 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
6701 case statements as compile-time one.
6702 (direct_read): Prevent spurious warnings.
6703 (grub_squash_read_data): Likewise.
6704
c029da8a
VS
67052011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
6706
6707 Various squash4 fixes and LZO and XZ support.
6708
6709 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
6710 Add xzembed source files.
6711 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
6712 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
6713 (grub_squash_inode): New subtype long_dir.
6714 (SQUASH_TYPE_LONG_DIR): New inode type.
6715 (COMPRESSION): New enum.
6716 (XZBUFSIZ): New const.
6717 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
6718 (read_chunk): Use data->decompress.
6719 (zlib_decompress): New function.
6720 (lzo_decompress): Likewise.
6721 (xz_decompress): Likewise.
6722 (squash_mount): Set new data fields.
6723 (grub_squash_iterate_dir): Handle long dir.
6724 (squash_unmount): Free xzdec and xzbuf.
6725 (grub_squash_open): Check ino type.
6726 (direct_read): Stylistic fixes. Use data->decompress.
6727 (grub_squash_read_data): Likewise.
6728 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
6729 (get_byte): Likewise.
6730 (grub_zlib_disk_read): Removed.
6731 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
6732 (GRUB_POSIX_BOOL_DEFINED): New define.
6733 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
6734 * grub-core/lib/xzembed/xz.h: Addmissing includes.
6735 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
6736 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
6737
7a45a539
VS
67382011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
6739
6740 Don't override more informative errors.
6741
6742 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
6743 * grub-core/font/font.c (open_section): Likewise.
6744 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
6745 filename. Don't override errors.
6746 (grub_cmd_openbsd_ramdisk): Don't override errors.
6747 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
6748 (grub_cmd_initrd): Likewise.
6749 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
6750 (grub_cmd_initrd): Likewise.
6751 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
6752 (grub_cmd_linux): Likewise.
6753 (grub_cmd_initrd): Likewise.
6754 (grub_cmd_payload): Likewise.
6755 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
6756 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
6757 (grub_cmd_module): Likewise.
6758 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6759 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6760 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
6761 (grub_cmd_xnu_mkext): Likewise.
6762 (grub_cmd_xnu_ramdisk): Likewise.
6763 (grub_xnu_check_os_bundle_required): Likewise.
6764 (grub_xnu_load_kext_from_dir): Likewise.
6765 (grub_cmd_xnu_kextdir): Likewise.
6766 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
6767
b2d004db
VS
67682011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6769
6770 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
6771 as 1024 in block size field. Found on one of my test images.
6772 Small optimisation while on it.
6773
ec000eac
VS
67742011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6775
6776 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
6777 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
6778 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
6779 performance fixes while on it.
6780 (grub_sfs_close): Fix memory leak while on it.
6781 (grub_sfs_label): Convert Latin1 to UTF-8.
6782
f50e1165
VS
67832011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6784
6785 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
6786 space to avoid overflows.
6787 (grub_hfs_label): Convert from macroman to UTF-8.
6788
2ae254de
VS
67892011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6790
6791 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
6792
0108f491
VS
67932011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6794
6795 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
6796
f45f5f89
VS
67972011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6798
6799 * unicode: Import Unicode 6.0 data.
6800
4d8c4765
VS
68012011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6802
63fa8ef9
VS
6803 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
6804 outside of range.
6805
68062011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6807
6808 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
6809
6810 * include/grub/charset.h (grub_getend): New function.
6811 * grub-core/script/function.c (grub_script_function_find): Use
6812 grub_getend.
6813 * grub-core/normal/completion.c (add_completion): Likewise.
6814
f3cb4a4e
VS
68152011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6816
6817 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
6818 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
6819 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
6820 (GRUB_UNICODE_TAG_END): Likewise.
6821 (GRUB_UNICODE_LAST_VALID): Likewise.
6822
5da8dbc5
VS
68232011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6824
6825 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
6826 len and make it smaller. All users updated.
6827 * util/import_unicode.py: Put length and not end character.
6828 Check length.
6829
8569f13d
VS
68302011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6831
6832 Make better Unicode-compliant and unify some UTF-8 code pathes.
6833
6834 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
6835 valid character.
6836 (grub_is_valid_utf8): Use grub_utf8_process.
6837 Check resulting code range.
6838 (grub_utf8_to_ucs4): Use grub_utf8_process.
6839 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
6840 valid character.
6841
cc4fddf5
VS
68422011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6843
6844 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
6845
bbc47747
VS
68462011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6847
6848 * docs/grub.texi (Filesystems): Mention AFS.
6849
f63d6bf4
VS
68502011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6851
6852 * docs/grub.texi (Filesystems): Clarify restrictions.
6853 (Regexp): Mention non-Unicode regexp behaviour.
6854 (Other): Mention non-Unicode matching behaviour.
6855
74bbf0db
VS
68562011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6857
f63d6bf4 6858 Make HFS implementation use MacRoman.
74bbf0db
VS
6859
6860 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
6861 (macroman): New const array.
6862 (macroman_to_utf8): New function.
6863 (utf8_to_macroman): Likewise.
6864 (grub_hfs_find_dir): Use utf8_to_macroman.
6865 (grub_hfs_dir): Use macroman_to_utf8.
6866 Set case_insensitive.
6867
4ea0316e
VS
68682011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6869
6870 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
6871
d3c13cbd
VS
68722011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6873
6874 Integrate hints into autogeneration scripts.
6875
6876 * docs/grub.texi (Filesystems): Add a hostdisk example.
6877 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
6878 (grub-probe): Add ofpath.
6879 * gentpl.py: Remove group nosparc64.
6880 * grub-core/commands/search.c (cache_entry): New struct.
6881 (cache): New var.
6882 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
6883 * grub-core/commands/search_wrap.c (options): Add platform-specific
6884 hint options.
6885 (grub_cmd_search): Handle platform-specific hints.
6886 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
6887 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
6888 (grub_util_biosdisk_data): Likewise.
6889 (grub_util_biosdisk_open): Set device_map.
6890 (read_device_map): Handle "" as indication of no map.
6891 Set device_map.
6892 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
6893 (grub_util_biosdisk_get_compatibility_hint): New function.
6894 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
6895 * include/grub/emu/hostdisk.h
6896 (grub_util_biosdisk_get_compatibility_hint): New proto.
6897 * util/grub-install.in: Don't call grub-mkdevicemap.
6898 Add platform-specific hint to load.cfg.
6899 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
6900 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
6901 hints. Set root preliminary to compatibility hint, not to OS name.
6902 * util/grub-probe.c (PRINT_*): Add hints.
6903 (print): Make static.
6904 (escape_of_path): New function.
6905 (guess_bios_drive): Likewise.
6906 (guess_efi_drive): Likewise.
6907 (guess_baremetal_drive): Likewise.
6908 (print_full_name): Likewise.
6909 (probe): Handle hints.
6910 (main): Likewise.
6911 * util/ieee1275/devicemap.c: Removed.
6912 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
6913 updated.
6914 (grub_util_devname_to_ofpath): Return NULL on failure.
6915
6916 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
6917 resource leak.
6918 * util/getroot.c (grub_util_pull_device): Fix memory leak.
6919
6920 * po/POTFILES.in: Regenerated.
6921
6922 Allow purely long options
6923
6924 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
6925 (SHORT_ARG_USAGE): Likewise.
6926 (grub_arg_show_help): Compare opt with help_options.
6927 (parse_option): Receive opt as argument. If makes big simplificatons.
6928 All users updated
6929
00ce2df3
VS
69302011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6931
6932 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
6933 Restructure to avoid warning.
6934
e77e325f
VS
69352011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6936
6937 * util/grub-install.in: Account for possible escaped comma in device
6938 name.
6939
165099ea
VS
69402011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6941
6942 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
6943 channel.
6944
ce4a999d
VS
69452011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6946
6947 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
6948 allocation and zero-setting.
6949 (grub_ieee1275_get_devname): Check that alias is complete.
6950
379586ad
VS
69512011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6952
6953 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
6954 unaligned segments.
6955
9197b0ad
VS
69562011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6957
6958 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
6959 prefix.
6960 (grub_ofdisk_open): Check and discard ieee1275 prefix.
6961 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
6962 Add ieee1275 prefix.
6963
edddb7f9
VS
69642011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6965
6966 * docs/grub.texi (Filesystems): Update.
6967
a1a8b1b9
VS
69682011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6969
6970 Support odc, newc and bigendian cpio formats.
6971
6972 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
6973 * grub-core/Makefile.core.def (newc): New module.
6974 (odc): Likewise.
6975 (cpio_be): Likewise.
6976 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
6977 (MAGIC): Likewise.
6978 (MAGIC2): Likewise.
6979 (head) [MODE_ODC]: Adapt for the format.
6980 (head) [MODE_NEWC]: Likewise.
6981 (head) [!MODE_*]: Write fields of interest as arrays.
6982 (MAGIC_USTAR): Removed.
6983 (read_number) [MODE_NEWC]: Change to hex.
6984 (read_number) [!MODE_*]: Parse binary arrays.
6985 (grub_cpio_find_file): Factor out the code for better structure and
6986 always use read_number.
6987 (grub_cpio_mount): Use MAGIC and MAGIC2.
6988 (grub_cpio_dir): Exit on first hook non-0 return.
6989 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
6990 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
6991 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
6992 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
6993 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
6994 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
6995 * grub-core/fs/newc.c: New file.
6996 * grub-core/fs/odc.c: Likewise.
6997 * grub-core/fs/cpio_be.c: Likewise.
6998
58eba9ee
VS
69992011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7000
7001 Fix handling of tar numbers occupying the whole field.
7002
7003 * grub-core/fs/cpio.c (read_number): New function.
7004 (grub_cpio_find_file): Use read_number instead of strtoull.
7005
a54a0e12
VS
70062011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7007
7008 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
7009 occupying the whole field size.
7010
a6120aca
LA
70112011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
7012
7013 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
7014
a93964ce
VS
70152011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7016
7017 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
7018
3ea1ca46
SG
70192011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
7020
7021 * grub-core/Makefile.core.def (lzma_decompress): Add missing
7022 TARGET_IMG_LDFLAGS.
7023
b87f7ef2
VS
70242011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7025
7026 * util/getroot.c (ESCAPED_PATH_MAX): New define.
7027 (mountinfo_entry): Increase the field size to take escaping into
7028 account.
7029 (find_root_device_from_libzfs): Add one byte to size of strings for
7030 security.
7031
62092395
VS
70322011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7033
7034 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
7035 an assert.
7036 * util/grub-setup.c (setup): Likewise.
7037
1f0b1a77
VS
70382011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
7039
7040 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
7041 _LzmaDecodeA.
7042
8eba9997
VS
70432011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
7044
7045 * docs/grub.texi (Internationalisation): New section.
7046
dd0c91e9
VS
70472011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
7048
7049 * docs/grub.texi (Loopback booting): New section.
7050
70512011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
7052
7053 * util/grub-mkstandalone.in: Fix minor typo errors.
7054
198e150a
VS
70552011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
7056
7057 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
7058
7059 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
7060 net/icmp.c and net/icmp6.c.
7061 (http): New module.
7062 (priority_queue): Likewise.
7063 * grub-core/io/bufio.c: Rewritten.
7064 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
7065 TYPE_WITH_CONFIGFILE_OPTION.
7066 (legacy_commands): Add bootp and dhcp.
7067 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
7068 (grub_legacy_parse): Likewise.
7069 * grub-core/lib/priority_queue.c: New file.
7070 * grub-core/net/arp.c: Add missing license header.
7071 (arp_find_entry): Removed.
7072 (arp_find_entry): Likewise.
7073 (grub_net_arp_resolve): Rename to ...
7074 (grub_net_arp_send_request): ...this.
7075 (grub_net_arp_receive): New card argument.
7076 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
7077 Set router and DNS server.
7078 (grub_net_configure_by_dhcp_ack): Handle routing information.
7079 (grub_cmd_bootp): Set checksum.
7080 (grub_bootp_init): Remove net_dhcp.
7081 * grub-core/net/dns.c: New file.
7082 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
7083 completion.
7084 (get_card_packet): Handle allocation.
7085 (grub_efinet_findcards): Set mtu.
7086 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
7087 (get_card_packet): Handle allocation.
7088 (emucard): Set mtu.
7089 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
7090 (GRUB_MOD_INIT): Set mtu.
7091 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
7092 mtu.
7093 (get_card_packet): Handle allocation.
7094 (grub_ofnet_findcards): Set mtu.
7095 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
7096 assert.
7097 (grub_net_recv_ethernet_packet): Handle IPv6.
7098 * grub-core/net/http.c: New file.
7099 * grub-core/net/icmp.c: Likewise.
7100 * grub-core/net/icmp6.c: Likewise.
7101 * grub-core/net/ip.c (ip6addr): New type.
7102 (ip6hdr): Likewise.
7103 (reassemble): Likewise.
7104 (cmp): New function.
7105 (reassembles): New variable.
7106 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
7107 (id): New variable.
7108 (send_fragmented): New function.
7109 (grub_net_send_ip_packet): Rename to ...
7110 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
7111 Handle non-UDP.
7112 (grub_net_recv_ip_packets): Rename to ...
7113 (handle_dgram): ... this. Check checksum. Handle non-UDP.
7114 (free_rsm): New function.
7115 (free_old_fragments): Likewise.
7116 (grub_net_recv_ip4_packets): New function.
7117 (grub_net_send_ip6_packet): Likewise.
7118 (grub_net_send_ip_packet): Likewise.
7119 (grub_net_recv_ip6_packets): Likewise.
7120 (grub_net_recv_ip_packets): Likewise.
7121 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
7122 (LINK_LAYER_CACHE_SIZE): New const.
7123 (link_layer_find_entry): New function.
7124 (grub_net_link_layer_add_address): Likewise.
7125 (grub_net_link_layer_resolve_check): Likewise.
7126 (grub_net_link_layer_resolve): Likewise.
7127 (grub_net_ipv6_get_slaac): Likewise.
7128 (grub_net_ipv6_get_link_local): Likewise.
7129 (grub_cmd_ipv6_autoconf): Likewise.
7130 (parse_ip): Handle one number representation.
7131 (parse_ip6): New functoion.
7132 (match_net): Handle IPv6.
7133 (grub_net_resolve_address): Handle IPv6 and DNS.
7134 (grub_net_resolve_net_address): Handle IPv6.
7135 (route_cmp): New function.
7136 (grub_net_route_address): Find best route.
7137 (grub_net_addr_to_str): Handle IPv6.
7138 (grub_net_addr_cmp): New function.
7139 (grub_net_add_addr): Register local route.
7140 (print_net_address): Handle net address.
7141 (grub_net_poll_cards): Retransmit TCP.
7142 (grub_net_poll_cards_idle_real): Likewise.
7143 (have_ahead): New function.
7144 (grub_net_seek_real): Use underlying seek.
7145 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
7146 * grub-core/net/tcp.c: New file.
7147 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
7148 (cmp): New function.
7149 (ack): Likewise.
7150 (tftp_receive): Handle unordered input.
7151 (destroy_pq): New function.
7152 (tftp_close): Close pq.
7153 * grub-core/net/udp.c: Put missing license header.
7154 (grub_net_udp_socket): New function.
7155 (udp_socket_register): Likewise.
7156 (grub_net_udp_close): Likewise.
7157 (grub_net_recv_udp_packet): Check checksum.
7158 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
7159 * include/grub/misc.h (grub_memchr): New function.
7160 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
7161 (grub_net_card_driver): Return buf in recv.
7162 (grub_net_slaac_mac_list): New struct.
7163 (grub_network_level_protocol_id): Add ipv6.
7164 (grub_net_network_level_addr): Likewise.
7165 (grub_net_network_level_net_addr): Likewise.
7166 (grub_net_app_protocol): Add seek.
7167 (grub_net_socket): Removed.
7168 (grub_net_sockets): Likewise.
7169 (grub_net_socket_register): Likewise.
7170 (grub_net_socket_unregister): Likewise.
7171 (FOR_NET_SOCKETS): Likewise.
7172 (grub_net_add_addr): Add const.
7173 (GRUB_NET_BOOTP_*): New enum.
7174 (grub_net_addr_cmp): New proto.
7175 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
7176 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
7177 (grub_net_hwaddr_to_str): NEw proto.
7178 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
7179 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
7180 (grub_dns_init): New proto.
7181 (grub_dns_fini): Likewise.
7182 (grub_net_tcp_retransmit): Likewise.
7183 (grub_net_link_layer_add_address): Likewise.
7184 (grub_net_link_layer_resolve_check): Likewise.
7185 (grub_net_link_layer_resolve): Likewise.
7186 (grub_net_dns_lookup): Likewise.
7187 (grub_net_add_dns_server): Likewise.
7188 (grub_net_remove_dns_server): Likewise.
7189 (GRUB_NET_TRIES): New const.
7190 (GRUB_NET_INTERVAL): Likewise.
7191 * include/grub/net/arp.h: Mostly rewritten.
7192 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
7193 * include/grub/net/ip.h: Mostly rewritten.
7194 * include/grub/net/netbuff.h: Indent.
7195 * include/grub/net/tcp.h: New file.
7196 * include/grub/net/udp.h: Mostly rewritten.
7197 * include/grub/priority_queue.h: New file.
7198 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
7199 (grub_swap_bytes64_compile_time): Likewise.
7200 (grub_cpu_to_be16_compile_time): Likewise.
7201 (grub_cpu_to_be32_compile_time): Likewise.
7202 (grub_cpu_to_be64_compile_time): Likewise.
7203 (grub_be_to_cpu64_compile_time): Likewise.
7204
215c1800
VS
72052011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
7206
7207 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
7208 UINT_TO_PTR with cast.
7209
c17e546c
VS
72102011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7211
7212 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
7213 don't use them.
7214
ff6b18b6
VS
72152011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7216
7217 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
7218 already there.
7219
70ffcc93
VS
72202011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7221
7222 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
7223 confusing ipxe.
7224
e5f4d260
VS
72252011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7226
7227 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
7228 Add missing const attribute.
7229 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
7230 Likewise.
7231 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
7232 Likewise.
7233
8e54b4b7
VS
72342011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7235
7236 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
7237 misaligned access.
7238 (serpent_setkey): Likewise.
7239 (serpent_encrypt_internal): Likewise.
7240 (serpent_decrypt_internal): Likewise.
7241 (serpent_encrypt): Don't put an alignment-increasing cast.
7242 (serpent_decrypt): Likewise.
7243 (serpent_test): Likewise.
7244
813c0a2b
VS
72452011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7246
7247 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
7248
f2b60fbd
VS
72492011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7250
7251 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
7252
7253 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
7254 grub_addr_t casts.
7255 (PTR_TO_UINT64): Likewise.
7256 (PTR_TO_UINT32): Likewise.
7257
5ef5c511
VS
72582011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7259
7260 * util/grub-mkimage.c (generate_image): Decrease the higher limit
7261 because of stack.
7262 * util/grub-setup.c (setup): Don't add redundancy past the higher load
7263 limit.
7264
c476e6df
VS
72652011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7266
7267 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
7268 text_width > available width a bit more gracefully.
7269
384ad7cc
VS
72702011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7271
7272 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
7273 current address calculation.
7274
96f8caf8
VS
72752011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7276
7277 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
7278 stack.
7279 (encode_block): Likewise.
7280
276b7a8b
VS
72812011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7282
7283 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
7284 certainety.
7285
e3fd394a
VS
72862011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7287
7288 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
7289 non-RS part to avoid RS messing with GDT.
7290 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
7291 Increase to suit in realmode routines.
7292
72932011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7294
7295 * grub-core/kern/i386/realmode.S: Increase alignment.
7296 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
7297
ee9c2e7a
VS
72982011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7299
7300 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
7301 be deterministic.
7302 (syndroms): Compute 0 syndrom.
7303 (rs_recover): Use 0 syndrom.
7304
7a7f7cc9
VS
73052011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7306
7307 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
7308
a14b16d1
VS
73092011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7310
7311 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
7312 brackets.
7313
9f59e9fc
VS
73142011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7315
ca1b552c
VS
7316 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
7317 account.
7318 (get_top_pad): Likewise.
7319 (get_right_pad): Likewise.
7320 (get_bottom_pad): Likewise.
7321
73222011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7323
7324 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 7325
e739d698
VS
73262011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7327
7328 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
7329 attribute as the structure isn't guaranteed to be properly aligned.
7330 (grub_efi_pci_device_path): Likewise.
7331 (grub_efi_pccard_device_path): Likewise.
7332 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
7333 specify the size of `memory_type'.
7334 (grub_efi_vendor_device_path): Likewise.
7335 (grub_efi_controller_device_path): Likewise.
7336 (grub_efi_acpi_device_path): Likewise.
7337 (grub_efi_expanded_acpi_device_path): Likewise.
7338 (grub_efi_atapi_device_path): Likewise.
7339 (grub_efi_scsi_device_path): Likewise.
7340 (grub_efi_fibre_channel_device_path): Likewise.
7341 (grub_efi_1394_device_path): Likewise.
7342 (grub_efi_usb_device_path): Likewise.
7343 (grub_efi_usb_class_device_path): Likewise.
7344 (grub_efi_i2o_device_path): Likewise.
7345 (grub_efi_mac_address_device_path): Likewise.
7346 (grub_efi_ipv4_device_path): Likewise.
7347 (grub_efi_ipv6_device_path): Likewise.
7348 (grub_efi_infiniband_device_path): Likewise.
7349 (grub_efi_uart_device_path): Likewise.
7350 (grub_efi_vendor_messaging_device_path): Likewise.
7351 (grub_efi_hard_drive_device_path): Likewise.
7352 (grub_efi_cdrom_device_path): Likewise.
7353 (grub_efi_vendor_media_device_path): Likewise.
7354 (grub_efi_file_path_device_path): Likewise.
7355 (grub_efi_protocol_device_path): Likewise.
7356 (grub_efi_piwg_device_path): Likewise.
7357 (grub_efi_bios_device_path): Likewise.
7358
cb8f88ea
VS
73592011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7360
7361 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
7362 (grub_ucs4_to_utf8_alloc): Likewise.
7363 (grub_ucs4_to_utf8): Likewise.
7364 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
7365 (grub_ucs4_to_utf8_alloc): Likewise.
7366
309e5352
VS
73672011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7368
7369 AFFS never uses unicode.
7370
7371 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
7372 (grub_latin1_to_utf8): New inline function.
7373 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
7374
e7987e1b
VS
73752011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7376
7377 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
7378 overflow.
7379
efc2616e
VS
73802011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7381
7382 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
7383 (grub_squash_dirent_header): Likewise.
7384 (read_chunk): Don't double swap.
7385 (grub_squash_iterate_dir): Fix swap sizes.
7386
3c349f5a
VS
73872011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7388
7389 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
7390
b453412d
VS
73912011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7392
7393 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
7394 (grub_hfs_iterate_dir): Likewise.
7395
12e9d4d1
VS
73962011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7397
7398 Fix video on platforms where unaligned access is forbidden.
7399 Make several optimisations while on it.
7400
7401 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
7402 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
7403 (grub_video_fbblit_replace_32bit_1bit): Likewise.
7404 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
7405 Disable.
7406 (grub_video_fbblit_replace_16bit_1bit):
7407 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
7408 (grub_video_fbblit_replace_8bit_1bit): Likewise.
7409 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
7410 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
7411 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
7412 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
7413 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
7414 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
7415 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
7416 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
7417 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
7418 (grub_video_fbblit_replace_index_RGB888): Likewise.
7419 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
7420 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
7421 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
7422 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
7423 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
7424 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
7425 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
7426 Disable.
7427 (grub_video_fbblit_blend_XXX565_1bit):
7428 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
7429 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
7430 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
7431 void *.
7432 * grub-core/video/fb/video_fb.c (common_blitter)
7433 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
7434 (grub_video_fb_create_render_target_from_pointer)
7435 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
7436 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
7437 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
7438 definition.
7439 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
7440
ace96609
VS
74412011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7442
7443 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
7444 HH22 and HM10 relocations.
7445
fd261d73
VS
74462011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7447
7448 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
7449
e59b7857
VS
74502011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7451
7452 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
7453 allocation succeeded.
7454
9b4baaa4
VS
74552011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7456
7457 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
7458 argument a u8 pointer. All users updated.
7459 Handle unaligned buffers.
7460
dc713193
VS
74612011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7462
7463 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
7464 add_part to workaround compiler bug.
7465
30dd48c2
VS
74662011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7467
7468 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
7469
0c6087a8
VS
74702011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7471
7472 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
7473 Reserve alignment invariants.
7474 (grub_multiboot_load): Likewise.
7475 (retrieve_video_parameters): Likewise.
7476 (grub_multiboot_make_mbi): Likewise.
7477
c2e77777
VS
74782011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7479
7480 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
7481 incorrect pointer.
7482
b70b6d11
VS
74832011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7484
7485 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
7486 (grub_pata_pio_write): Likewise.
7487
02a2bf83
VS
74882011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7489
7490 Add noreturn attributes and remove unreachable code.
7491
7492 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
7493 code.
7494 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
7495 code. Mark as noreturn.
7496 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
7497 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
7498 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
7499 unreachable code.
7500 * grub-core/kern/main.c (grub_main): Mark as noreturn.
7501 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
7502 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
7503 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
7504 * include/grub/kernel.h (grub_main): Mark as noreturn.
7505 * include/grub/reader.h (grub_rescue_run): Likewise.
7506
2019d09e
VS
75072011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7508
7509 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
7510 redundant declaration.
7511
d1c501ee
VS
75122011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7513
7514 * include/grub/net.h (grub_net_network_level_interfaces): Remove
7515 redundant declaration.
7516 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
7517
61664420
VS
75182011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7519
7520 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
7521 to ensure alignment.
7522 (grub_hdparm_print_identify): Make argument uint16 * to ensure
7523 alignment. Ensure tmp alignment.
7524 (grub_cmd_hdparm): Ensure buf alignment.
7525 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
7526 to ensure alignment.
7527 (grub_ata_dumpinfo): Ensure text alignment.
7528 (grub_atapi_identify): Preserve alignment invariant.
7529 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
7530
0d51ee20
VS
75312011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7532
7533 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
7534 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
7535 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
7536 * include/grub/misc.h (grub_reboot)
7537 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
7538 (grub_halt) [__mips__]: Likewise.
7539
753ef8c1
VS
75402011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7541
7542 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
7543 Remove redundant declaration.
7544 (grub_mmap_get_post64): Likewise.
7545 (grub_mmap_get_upper): Likewise.
7546 (grub_mmap_get_lower): Likewise.
7547
85c85365
VS
75482011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7549
7550 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
7551 uint32_t * to ensure alignment.
7552 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
7553
a23f2cc4
VS
75542011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7555
93018f64
VS
7556 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
7557 uint16_t * to ensure alignment.
7558 (sun_pc_partition_map_iterate): Make `block' a union to ensure
7559 alignment.
7560
75612011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7562
7563 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
7564 to ensure alignment.
7565 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
7566
58acccd6
VS
75672011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7568
7569 * grub-core/fs/ntfs.c (u16at): Make into inline function.
7570 Handle unaligned pointers.
7571 (u32at): Likewise.
7572 (u64at): Likewise.
7573 (fixup): Use byte access instead of v16at.
7574 (find_attr): Fix imporper usage of v32at.
7575 (read_data): Likewise.
7576 (list_file): Handle byte-swapping and unaligned strings.
7577 (grub_ntfs_label): Likewise.
7578
9b05cad7
VS
75792011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7580
7581 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
7582 as it's not necessarily aligned.
7583
b3950b84
VS
75842011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7585
7586 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
7587 redundant declaration.
7588 (grub_serial_init): Likewise.
7589 (grub_terminfo_init): Likewise.
7590
fcd232b7
VS
75912011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7592
7593 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
7594 function.
7595 (ZAP_HASH_IDX): Likewise.
7596 (ZAP_LEAF_HASH_SHIFT): Likewise.
7597 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
7598 (LEAF_HASH): Likewise.
7599 (ZAP_LEAF_NUMCHUNKS): Likewise.
7600 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
7601 alignment invariants. Return pointer. All users updated.
7602 (ZAP_LEAF_ENTRY): Make into inline function.
7603 (NBBY): Removed.
7604 (xor): LIkewise.
7605 (xor_out): Use grub_crypto_xor.
7606 (dnode_get_path): Use grub_get_unaligned.
7607 (nvlist_find_value): Likewise.
7608 (grub_zfs_nvlist_lookup_uint64): Likewise.
7609 (grub_zfs_nvlist_lookup_string): Likewise.
7610 (get_nvlist_size): Likewise.
7611 (grub_zfs_open): Likewise.
7612 (fill_fs_info): Likewise.
7613 (grub_zfs_dir): Likewise.
7614 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
7615 alignment invariants.
7616 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
7617 necessarily aligned.
7618
f138623a
VS
76192011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7620
7621 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
7622
564840dc
VS
76232011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7624
7625 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
7626 arithmetic to conserve alignment invariants.
7627
9b40df20
VS
76282011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7629
7630 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
7631 redundant declaration.
7632 (grub_efiemu_mm_obtain_request): Likewise.
7633 (grub_efiemu_prepare): Likewise.
7634
d1c930f9
VS
76352011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7636
7637 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
7638 to match types.
7639
4c5f3056
VS
76402011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7641
7642 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
7643 case of aunaligned recptr.
7644 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
7645 alignment.
7646 (grub_hfsplus_btree_search): Handle unaligned index.
7647
728cba91
VS
76482011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7649
7650 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
7651 to get freetag and skip.
7652
eb561f31
VS
76532011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7654
7655 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
7656 array.
7657 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
7658 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
7659
20993fbb
VS
76602011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7661
7662 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
7663 name for checksum and fix allocation algorithm.
7664
1f313b94
VS
76652011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7666
7667 * include/grub/types.h (grub_properly_aligned_t): New type.
7668 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
7669 (grub_get_unaligned16): Add explicit casts.
7670 (grub_get_unaligned32): Likewise.
7671 (grub_get_unaligned64): Likewise.
7672 (grub_set_unaligned16): New function.
7673 (grub_set_unaligned32): Likewise.
7674
47ae27ec
VS
76752011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7676
7677 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
7678
78c2cd1c
VS
76792011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7680
7681 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
7682 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
7683 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
7684
53072f9b
VS
76852011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7686
7687 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
7688 conditionals.
7689
055dc239
VS
76902011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7691
7692 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
7693 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
7694
496bd074
VS
76952011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7696
7697 Unify and improve RAID and crypto xor.
7698
7699 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
7700 changed to grub_crypto_xor
7701 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
7702 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
7703 Use bigger types when possible.
7704
ef6e4335
VS
77052011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7706
7707 * grub-core/disk/raid.c (scan_devices): Fix condition.
7708
5d048bf2
VS
77092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7710
7711 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
7712 Make name a const ptr.
7713
ee533335
VS
77142011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7715
7716 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
7717 first argument a const pointer.
7718 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
7719 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
7720 proto.
7721 (grub_children_iterate): Likewise.
7722 (grub_machine_mmap_iterate): Remove redundant declaration.
7723
cc8f3668
VS
77242011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7725
7726 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
7727 (grub_cmd_acpi) [!x86]: Disable EBDA.
7728
c5fc563a
VS
77292011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7730
7731 Enable UTF8 in gnulib regexp.
7732
7733 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
7734 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
7735 (isupper): Use grub_isupper.
7736 (isascii): New inline function.
7737 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
7738 * grub-core/lib/posix_wrap/wctype.h: Likewise.
7739 * grub-core/normal/charset.c (grub_utf8_process): New function.
7740 (grub_utf8_to_utf16): Use grub_utf8_process.
7741 (grub_encode_utf8_character): New function.
7742 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
7743 * include/grub/charset.h (grub_utf8_process): New declaration.
7744 (grub_encode_utf8_character): Likewise.
7745 * include/grub/misc.h (grub_islower): New inline function.
7746 (grub_isupper): Likewise.
7747 (grub_strchrsub): Moved down to fix the definitions.
7748
0af2346f
VS
77492011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7750
7751 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
7752 specification.
7753
74dbd244
VS
77542011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7755
7756 * include/grub/loader.h (grub_loader_register_preboot_hook):
7757 Use struct preboot * and not void * for handle. All users updated.
7758 (grub_loader_unregister_preboot_hook): Likewise.
7759
1bc8f60d
VS
77602011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
7761
7762 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
7763 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
7764 UTF-16-BE. All users updated.
7765 (grub_hfsplus_cmp_catkey): Fix unicode handling.
7766 (grub_hfsplus_iterate_dir): Likewise.
7767 (grub_hfsplus_label): Likewise.
7768
48d6e456
VS
77692011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
7770
7771 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
7772
bf3a3857
VS
77732011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
7774
7775 Add missing const qualifiers.
7776
7777 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
7778 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
7779 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
7780 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
7781 (grub_lvm_check_flag): Likewise.
7782 * grub-core/efiemu/i386/coredetect.c
7783 (grub_efiemu_get_default_core_name): Likewise
7784 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
7785 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
7786 * grub-core/fs/ntfs.c (fixup): Likewise.
7787 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
7788 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
7789 (fzap_lookup): Likewise.
7790 (zap_lookup): Likewise.
7791 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
7792 * grub-core/lib/legacy_parse.c (check_option): Likewise.
7793 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
7794 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
7795 (grub_freebsd_add_meta_module): Likewise.
7796 (grub_cmd_freebsd_module): Likewise.
7797 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
7798 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
7799 (grub_xnu_writetree_get_size): Likewise.
7800 (grub_xnu_writetree_toheap_real): Likewise.
7801 (grub_xnu_find_key): Likewise.
7802 (grub_xnu_create_key): Likewise.
7803 (grub_xnu_create_value): Likewise.
7804 (grub_xnu_register_memory): Likewise.
7805 (grub_xnu_check_os_bundle_required): Likewise.
7806 (grub_xnu_scan_dir_for_kexts): Likewise.
7807 (grub_xnu_load_kext_from_dir): Likewise.
7808 * grub-core/normal/color.c (color_list): Likewise.
7809 * grub-core/normal/completion.c (current_word): Likewise.
7810 * grub-core/normal/menu_entry.c (insert_string): Likewise.
7811 * grub-core/term/serial.c (grub_serial_find): Likewise.
7812 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
7813 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
7814 Likewise.
7815 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
7816 (grub_freebsd_add_meta_module): Likewise.
7817 * include/grub/lib/arg.h (grub_arg_option): Likewise.
7818 * include/grub/net.h (grub_net_card_driver): Likewise.
7819 (grub_net_card): Likewise.
7820 (grub_net_app_protocol): Likewise.
7821 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
7822 * include/grub/serial.h (grub_serial_find): Likewise.
7823 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
7824 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
7825 (grub_xnu_create_value): Likewise.
7826 (grub_xnu_find_key): Likewise.
7827 (grub_xnu_scan_dir_for_kexts): Likewise.
7828 (grub_xnu_load_kext_from_dir): Likewise.
7829
7830 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
7831 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
7832 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
7833 Moved from here ...
7834 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
7835
112b4837
CW
78362011-11-28 Colin Watson <cjwatson@ubuntu.com>
7837
7838 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
7839
49e891ac
VS
78402011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
7841
7842 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
7843 (read_device): Fix size calculation.
7844
fd258e5c
RM
78452011-11-25 Robert Millan <rmh@gnu.org>
7846
7847 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
7848 (find_root_device_from_libzfs): Add zpool output parser to be used
7849 as fallback when libzfs isn't available.
7850
78845dc2
SG
78512011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
7852
7853 * po/Makefile.in.in: Add missing escape-continuation.
7854
adac5211
VS
78552011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
7856
7857 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
7858
10b64f1c
VS
78592011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7860
7861 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
7862
bb416954
VS
78632011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7864
7865 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
7866
bdfe9eeb
VS
78672011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7868
7869 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
7870
581ffa8a
VS
78712011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7872
7873 * grub-core/lib/adler32.c: Add missing license specification.
7874 * grub-core/lib/crc64.c: Likewise.
7875 * grub-core/loader/i386/pc/plan9.c: Likewise.
7876 * grub-core/partmap/plan.c: Likewise.
7877
2536cf64
LK
78782011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
7879
7880 Add facility to debug GRUB with gdb under qemu.
7881
7882 * grub-core/gdb_grub.in: New file.
7883 * grub-core/gmodule.pl.in: Likewise.
7884 * grub-core/Makefile.core.def (gmodule.pl): New script.
7885 (gdb_grub): Likewise.
7886
bc108a4a
VS
78872011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7888
7889 * util/grub-mount.c (argp_parser): Accept relative pathes.
7890 * util/grub-fstest.c (argp_parser): Likewise.
7891
111c1778
VS
78922011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7893
7894 Plan9 support.
7895
7896 * Makefile.util.def (libgrubmods): Add
7897 grub-core/partmap/plan.c.
7898 * docs/grub.texi: Notice Plan9 support.
7899 * grub-core/Makefile.core.def (plan9): New module.
7900 (part_plan): Likewise.
7901 * grub-core/loader/i386/pc/plan9.c: New file.
7902 * grub-core/partmap/plan.c: Likewise.
7903 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
7904 define.
7905 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
7906 * include/grub/mm.h (grub_extend_alloc): New inline function.
7907
c30be3b6
VS
79082011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7909
7910 Make Reed-Solomon faster by using power of generator representation of
7911 GF(256)*.
7912
7913 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
7914 (gf_double_t): Likewise.
7915 (gf_invert): Removed.
7916 (gf_powx): New array.
7917 (gf_powx_inv): Likewise.
7918 (scratch): Move higher.
7919 (gf_reduce): Removed.
7920 (gf_mul): Use powx.
7921 (gf_invert): Likewise.
7922 (init_inverts): Replaced with ...
7923 (init_powx): ...this. All users updated.
7924 (pol_evaluate): Replace multiplications with additions.
7925 (rs_encode): Likewise.
7926 (gauss_eliminate): Call gf_invert.
7927 (grub_reed_solomon_add_redundancy): Call init_powx.
7928 (grub_reed_solomon_recover): Call init_powx unconditionally.
7929
fa5aeffc
VS
79302011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7931
7932 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
7933
a346b81c
VS
79342011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7935
7936 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
7937 disk->partiton for safety.
7938
d89ee414
VS
79392011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7940
7941 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
7942 Fix a memory leak.
7943 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
7944
91ee7b6d
VS
79452011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7946
7947 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
7948
91e5a33d
VS
79492011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7950
7951 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
7952
9edd7be2
VS
79532011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7954
7955 Fix spaces handling in proc/self/mountinfo.
7956
7957 * util/getroot.c (unescape): New function.
7958 (grub_find_root_device_from_mountinfo): Use unescape.
7959
ba102053
VS
79602011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7961
7962 Support ZFS embedding.
7963
7964 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
7965 (grub_zfs_fs): Register grub_zfs_embed.
7966
aa94b870
VS
79672011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7968
7969 Fix MIPS compilation.
7970
7971 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
7972 * include/grub/offsets.h: Rename decompressor fields from
7973 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
7974 * util/grub-mkimage.c (image_targets): Use new names.
7975
5fbdac14
VS
79762011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7977
7978 Defer multiboot device parsing until we're in compressed part.
7979
7980 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
7981 bsd_part. setdevice has fallen into disuse.
7982 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
7983 (bsd_part): Likewise.
7984 (boot_dev): New variable.
7985 (multiboot_trampoline): Don't parse multiboot device.
7986 Pass multiboot device in %edx.
7987 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
7988 grub_boot_device.
7989 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
7990 Likewise.
7991 * grub-core/kern/i386/pc/startup.S: Save edx.
7992 (grub_boot_drive): Removed.
7993 (grub_install_dos_part): Likewise.
7994 (grub_install_bsd_part): Likewise.
7995 (grub_boot_device): New variable.
7996 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
7997 (grub_install_bsd_part): Likewise.
7998 (grub_boot_drive): Likewise.
7999 (grub_boot_device): New variable.
8000 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
8001 Removed.
8002 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
8003 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
8004 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
8005 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
8006 * util/grub-install.in: Remove redundant condition.
8007
691cbb58
VS
80082011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8009
8010 Fix bug introduced by previous commit.
8011
8012 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
8013
60240b8b
VS
80142011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8015
8016 Use decompressors framework on i386-pc. It increases core size
8017 by 46 bytes but improves compatibility and maintainability.
8018
8019 * grub-core/Makefile.core.def (lzma_decompress): New image.
8020 (kernel): Add i386_pc_ldflags.
8021 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
8022 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
8023 to real_to_prot, prot_to_real and device info.
8024 * include/grub/offsets.h: Renamed decompressor offsets.
8025 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
8026 (image_target_desc): Remove raw_size and rename decompressor fields.
8027 (compress_kernel): Handle lzma.
8028 (generate_image): Handle decompressors on i386-pc.
8029
e9d3421c
VS
80302011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8031
8032 * configure.ac: Add -fno-asynchronous-unwind-tables.
8033
2b23074a
VS
80342011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8035
8036 Move assembly code to C by using intwrap. It increases core size
8037 by 88 bytes but improves compatibility and maintainability.
8038
8039 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
8040 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
8041 ... here. Translated to C.
8042 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
8043 * grub-core/term/i386/pc/console.c (grub_console_getkey):
8044 ... here. Translated to C.
8045 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
8046 * grub-core/term/i386/pc/console.c (grub_console_getxy):
8047 ... here. Translated to C.
8048 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
8049 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
8050 ... here. Translated to C.
8051 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
8052 * grub-core/term/i386/pc/console.c (grub_console_cls):
8053 ... here. Translated to C.
8054 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
8055 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
8056 ... here. Translated to C.
8057 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
8058 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
8059 Translated to C.
8060 * grub-core/term/i386/pc/console.c (int10_9): New function.
8061 (grub_console_putchar): Likewise.
8062 * include/grub/i386/pc/console.h: Removed the not anymore shared
8063 functions.
8064
678f4b67
VS
80652011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
8066
8067 Move grub_chainloader_real_boot out of the kernel.
8068
8069 * grub-core/Makefile.am: Remove machine/loader.h.
8070 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
8071 Removed.
8072 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
8073 variable.
8074 (grub_relocator16_keep_a20_enabled): Likewise.
8075 (grub_relocator16_boot): Fill new variables.
8076 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
8077 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
8078 relocator.
8079 (grub_chainloader_unload): Likewise.
8080 (grub_chainloader_cmd): Likewise.
8081 * include/grub/i386/pc/loader.h: Removed.
8082 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
8083 and esi. All initialisers updated.
8084
4626edf6
VS
80852011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
80862011-11-12 Colin Watson <cjwatson@ubuntu.com>
8087
8088 * Makefile.util.def (grub-mount): New util.
8089 * .bzrignore: Add grub-mount.
8090 * configure.ac: Check for fuse and enable grub-mount if available.
8091 * docs/man/grub-mount.h2m: New file.
8092 * util/grub-mount.c: Likewise.
8093
10f0117b
VS
80942011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8095
8096 * grub-core/commands/efi/fixvideo.c: Gettextize.
8097 * grub-core/commands/hashsum.c: Likewise.
8098 * grub-core/commands/i386/cmostest.c: Likewise.
8099 * grub-core/commands/i386/pc/drivemap.c: Likewise.
8100 * grub-core/commands/i386/pc/lsapm.c: Likewise.
8101 * grub-core/commands/i386/pc/sendkey.c: Likewise.
8102 * grub-core/commands/lsmmap.c: Likewise.
8103 * grub-core/commands/menuentry.c: Likewise.
8104 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
8105 * grub-core/commands/setpci.c: Likewise.
8106 * grub-core/loader/i386/bsd.c: Likewise.
8107 * grub-core/loader/i386/linux.c: Likewise.
8108 * util/getroot.c: Likewise.
8109 * util/grub-editenv.c: Likewise.
8110 * util/grub-fstest.c: Likewise.
8111 * util/grub-mkfont.c: Likewise.
8112 * util/grub-mkimage.c: Likewise.
8113 * util/grub-mkpasswd-pbkdf2.c: Likewise.
8114 * util/grub-pe2elf.c: Likewise.
8115 * util/grub-probe.c: Likewise.
8116 * util/grub-setup.c: Likewise.
8117 * util/ieee1275/ofpath.c: Likewise.
8118 * util/misc.c: Likewise.
8119 * util/raid.c: Likewise.
8120
566f779b
RM
81212011-11-11 Robert Millan <rmh@gnu.org>
8122
8123 * util/getroot.c (grub_util_get_geom_abstraction): Remove
8124 __attribute__((unused)) from `os_dev', which *is* being used.
8125
b50787de
VS
81262011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8127
8128 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
8129 forgotten define.
8130 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
8131 GRUB_IA64_DL_GOT_ALIGN.
8132 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
8133 GRUB_IA64_DL_TRAMP_ALIGN.
8134
119d11c8
VS
81352011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8136
8137 Replace grub_fatal with normal errors in i386 linux loader.
8138
8139 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
8140 (allocate_pages): Check find_efi_mmap_size return value.
8141 (grub_e820_add_region): Return error.
8142 (grub_linux_boot): Check mmap return value.
8143
6e0632e2
VS
81442011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8145
8146 * grub-core/commands/acpihalt.c: Gettextized.
8147 * grub-core/commands/cacheinfo.c: Likewise.
8148 * grub-core/commands/cmp.c: Likewise.
8149 * grub-core/commands/efi/loadbios.c: Likewise.
8150 * grub-core/commands/gptsync.c: Likewise.
8151 * grub-core/commands/ieee1275/suspend.c: Likewise.
8152 * grub-core/commands/legacycfg.c: Likewise.
8153 * grub-core/commands/memrw.c: Likewise.
8154 * grub-core/commands/minicmd.c: Likewise.
8155 * grub-core/commands/parttool.c: Likewise.
8156 * grub-core/commands/time.c: Likewise.
8157 * grub-core/commands/videoinfo.c: Likewise.
8158 * grub-core/disk/geli.c: Likewise.
8159 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
8160 * grub-core/disk/luks.c: Likewise.
8161 * grub-core/disk/lvm.c: Likewise.
8162 * grub-core/font/font_cmd.c: Likewise.
8163 * grub-core/fs/zfs/zfscrypt.c: Likewise.
8164 * grub-core/fs/zfs/zfsinfo.c: Likewise.
8165 * grub-core/gfxmenu/view.c: Likewise.
8166 * grub-core/kern/emu/hostdisk.c: Likewise.
8167 * grub-core/kern/emu/main.c: Likewise.
8168 * grub-core/kern/emu/misc.c: Likewise.
8169 * grub-core/kern/emu/mm.c: Likewise.
8170 * grub-core/kern/mips/arc/init.c: Likewise.
8171 * grub-core/kern/mips/loongson/init.c: Likewise.
8172 * grub-core/kern/partition.c: Likewise.
8173 * grub-core/lib/i386/halt.c: Likewise.
8174 * grub-core/lib/mips/arc/reboot.c: Likewise.
8175 * grub-core/lib/mips/loongson/reboot.c: Likewise.
8176 * grub-core/loader/i386/pc/chainloader.c: Likewise.
8177 * grub-core/loader/i386/xnu.c: Likewise.
8178 * grub-core/loader/multiboot.c: Likewise.
8179 * grub-core/net/bootp.c: Likewise.
8180 * grub-core/net/net.c: Likewise.
8181 * grub-core/normal/term.c: Likewise.
8182 * grub-core/partmap/bsdlabel.c: Likewise.
8183 * grub-core/parttool/msdospart.c: Likewise.
8184 * grub-core/term/gfxterm.c: Likewise.
8185 * grub-core/term/terminfo.c: Likewise.
8186 * grub-core/video/i386/pc/vbe.c: Likewise.
8187 * util/grub-menulst2cfg.c: Likewise.
8188 * util/grub-mkdevicemap.c: Likewise.
8189 * util/grub-mklayout.c: Likewise.
8190 * util/grub-mkrelpath.c: Likewise.
8191 * util/grub-script-check.c: Likewise.
8192 * util/ieee1275/grub-ofpathname.c: Likewise.
8193 * util/resolve.c: Likewise.
8194
073aa7a9
VS
81952011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8196
8197 Support %1$d syntax.
8198
8199 * tests/printf_unit_test.c: New file.
8200 * Makefile.util.def (printf_test): New test.
8201 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
8202
c76b5417
VS
82032011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8204
8205 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
8206 fix.
8207
df067ad1
VS
82082011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8209
8210 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
8211 dprintf.
8212 * grub-core/font/font.c (grub_font_load): Likewise.
8213
5b289bc5
VS
82142011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8215
8216 * util/grub-macho2img.c: Add comment concerning gettext.
8217 * grub-core/lib/legacy_parse.c: Likewise.
8218
c1860f87
VS
82192011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8220
8221 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
8222 (grub_xvasprintf): Likewise.
8223
d35d0d37
VS
82242011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8225
8226 Add const keyword to grub_env_get and gettextize week days.
8227
8228 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
8229 (grub_read_hook_datetime): Return const char *.
8230 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
8231 updated.
8232 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
8233 Mark for gettext.
8234 (grub_get_weekday_name): Return const char *. Call gettext.
8235 * grub-core/script/argv.c (grub_script_argv_append): Receive const
8236 char * and len as the argument. All users updated.
8237 (grub_script_argv_split_append): Receive const char *.
8238 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
8239 * include/grub/env.h (grub_env_get): Likewise.
8240 (grub_env_read_hook_t): Return const char *.
8241 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
8242 (grub_script_argv_split_append): Likewise.
8243
9aed8a71
VS
82442011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8245
8246 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
8247
067fdf00
VS
82482011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8249
8250 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
8251 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
8252
a8bd9d39
VS
82532011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8254
8255 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
8256 Fix prototype.
8257
f7ce5baf
VS
82582011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8259
8260 Fix mips compilation.
8261
8262 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
8263 normal decoder.
8264 (hashes): Use in embed decoder as well (for sizes).
8265 (dec_stream_header): Fix embed decompressor logic.
8266 (dec_stream_footer): Likewise.
8267
9bb182f3
VS
82682011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8269
8270 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
8271 an error and not a fatal on unrecognised relocation types.
8272
63a9e6f6
VS
82732011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8274
8275 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
8276 Issue error rather than printf on unknown arguments.
8277
4c458569
VS
82782011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8279
8280 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
8281 Make buf a const.
8282
e2d22baf
VS
82832011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8284
8285 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
8286 Fix module name.
8287
53dc8590
VS
82882011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8289
8290 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
8291 leftover debug printf.
8292
6c189294
VS
82932011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8294
8295 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
8296
f7688369
VS
82972011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8298
8299 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
8300 A stylistic fix.
8301
11a775a3
VS
83022011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8303
8304 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
8305
33f784e8
SL
83062011-11-10 Shea Levy <slevy@tieronedesign.com>
8307
8308 Allow all modules to perform serial IO
8309
8310 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
8311 * include/grub/serial.h (grub_serial_port_configure): New inline
8312 function.
8313 (grub_serial_port_fetch): Likewise.
8314 (grub_serial_port_put): Likewise.
8315 (grub_serial_port_fini): Likewise.
8316 (grub_serial_find): New proto.
8317
f6276525
VS
83182011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8319
8320 Put symlink at the end of the node and fix a potential
8321 memory corruption.
8322
8323 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
8324 Make symlink into an array.
8325 (set_rockridge): Set have_symlink and alloc_dirents.
8326 (grub_iso9660_read_symlink): Use new layout.
8327 (grub_iso9660_iterate_dir): Fix memory corruption.
8328 Use new layout.
8329 (grub_iso9660_dir): Set have_symlink.
8330 (grub_iso9660_open): Likewise.
8331
c3591189
VS
83322011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8333
8334 Remove local keyword.
8335
8336 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
8337 (version_test_gt): Likewise.
8338 (version_find_latest): Likewise.
8339 (gettext_printf): Likewise.
8340 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
8341
cb544caa
VS
83422011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8343
8344 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
8345
45bd824d
VS
83462011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8347
8348 Fix ZFS memory and resource leaks.
8349
8350 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
8351 All users updated.
8352 Free type on exit.
8353 (fill_vdev_info): New parameter inserted. All users updated.
8354 (check_pool_label): Likewise.
8355 (scan_disk): Likewise.
8356 (scan_devices): Close non-inserted disks.
8357 (fzap_iterate): Free l.
8358 (unmount_device): Free children descripto memory.
8359
ad9a2f44
VS
83602011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8361
8362 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
8363 argument (access out of bounds).
8364
6b68db81
VS
83652011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8366
8367 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
8368 >= 6 drives.
8369
28840fda
VS
83702011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8371
8372 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
8373 Fix declaration.
8374
8a5a3a5b
VS
83752011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8376
8377 Fix several memory leaks.
8378
8379 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
8380 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
8381 (grub_cpio_dir): Likewise.
8382 * grub-core/fs/fat.c (grub_fat_label): Likewise.
8383 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
8384 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
8385 (grub_romfs_label): Likewise.
8386 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
8387 (squash_unmount): New function.
8388 (grub_squash_dir): Fix memory leak.
8389 (grub_squash_open): Likewise.
8390 (grub_squash_read): Likewise.
8391 (grub_squash_mtime): Likewise.
8392 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
8393 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
8394 * util/grub-fstest.c (fstest): Likewise.
8395
57b01250
VS
83962011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8397
8398 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
8399 avoid accessing beyond the array.
8400
19e81ba7
VS
84012011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8402
8403 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
8404
52b656c0
VS
84052011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8406
8407 Several AFFS fixes.
8408
8409 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
8410 (GRUB_AFFS_FLAG_FFS): Removed.
8411 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
8412 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
8413 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
8414 (grub_fshelp_node): Make block 32-bit.
8415 Add block_cache and last_block_cache.
8416 (grub_affs_read_block): Fill and use block cache.
8417 (grub_affs_read_file): Removed.
8418 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
8419 boot block.
8420 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
8421 safety.
8422 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
8423 space.
8424 (grub_affs_close): Free block cache.
8425 (grub_affs_read): Use grub_fshelp_read_file directly.
8426
438a746a
VS
84272011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8428
8429 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
8430 with no error set.
8431
49a45021
VS
84322011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8433
8434 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
8435 used variable.
8436 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
8437 Likewise.
8438
3ae17eb8
VS
84392011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8440
8441 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
8442
8443 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
8444 byteswap when needed.
8445
27610c38
VS
84462011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8447
8448 Fix FreeBSD compilation.
8449
8450 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
8451 to avoid circular dependency.
8452 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
8453 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
8454 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
8455
4a19b601
VS
84562011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8457
8458 Fix ZFS crypto error types.
8459
8460 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
8461 (grub_gcm_decrypt): Likewise.
8462 (grub_zfs_load_key_real): Fix error code type. Handle possible error
8463 from PBKDF2.
8464
958ee221
VS
84652011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8466
8467 Illumos support.
8468
8469 * Makefile.util.def (10_illumos): New script.
8470 * configure.ac: Set COND_HOST_ILLUMOS.
8471 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
8472 Support Illumos calls.
8473 (find_partition_start) [__sun__]: Likewise.
8474 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
8475 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
8476 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
8477 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
8478 device.
8479 * util/grub-probe.c (probe) [__sun__]: Do character check.
8480 * util/grub.d/10_illumos.in: New file.
8481
cac14fb6
VS
84822011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8483
8484 Support escaped commas in hostdisk.
8485
8486 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
8487 (find_grub_drive): Use unescape_cmp.
8488 (make_device_name): Escape commas.
8489
78e08dc3
VS
84902011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8491
8492 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
8493
9f421dd1
VS
84942011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8495
8496 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
8497 variable.
8498
ed64e9e2
VS
84992011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8500
8501 Support trampoline jumps on powerpc.
8502
8503 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
8504 __ia64__ path.
8505 (grub_dl_load_segments): Set mod->sz.
8506 (grub_dl_flush_cache): Flush whole space occupied by module, not just
8507 segments.
8508 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
8509 (jump): Likewise.
8510 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
8511 function.
8512 (trampoline): New struct.
8513 (trampoline_template): New const.
8514 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
8515 * include/grub/dl.h (grub_dl): Add sz element.
8516 [__powerpc__]: Follow __ia64__.
8517 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
8518 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
8519 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
8520 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
8521
3084ede4
VS
85222011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
8523
8524 ZFS crypto support.
8525
8526 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
8527 * grub-core/Makefile.core.def (zfscrypt): New module.
8528 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
8529 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
8530 it. All users updated.
8531 (grub_zfs_decrypt): New var.
8532 (grub_zfs_load_key): Likewise.
8533 (zio_checksum_functions): Add SHA256+MAC.
8534 (zio_checksum_verify): Handle incomplete comparison due to MAC.
8535 (zio_read): Handle encrypted blocks.
8536 (zap_verify): Remove incorrect check.
8537 (fzap_iterate): Handle non-standard fzap.
8538 (zap_iterate): Likewise.
8539 (zap_iterate_u64): New function.
8540 (dnode_get_fullpath): Load keys.
8541 * grub-core/fs/zfs/zfscrypt.c: New file.
8542 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
8543 (grub_crypto_ecb_encrypt): Make input const.
8544 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
8545 (grub_crypto_ecb_encrypt): Make input const.
8546 (GRUB_CIPHER_AES): New macro.
8547 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
8548 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
8549 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
8550 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
8551 prefix. All users updated.
8552 (grub_zfs_add_key): New proto.
8553 (grub_zfs_decrypt): Likewise.
8554 (grub_zfs_load_key): Likewise.
8555 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
8556 * util/grub-fstest.c (options): Add -K option.
8557 (argp_parser): Likewise.
8558
b632b404
VS
85592011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
8560
8561 Support zle compression on ZFS.
8562
8563 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
8564 (decomp_table): Add zle.
8565 * include/grub/zfs/zio.h (zio_compress): Add zle.
8566
c7ba4f69
VS
85672011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
8568
8569 Support BtrFS embedding.
8570
8571 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
8572 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
8573 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
8574 * util/grub-setup.c (setup): Use fs embedding if available.
8575 Add additional sanity check.
8576
455377d9
VS
85772011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
8578
8579 * util/grub-install.in: Fix condition for config_opt.
8580
c2fd16ca
VS
85812011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8582
8583 Support third redundancy strip on raidz3.
8584
8585 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
8586 Return error on singularity. All users updated.
8587 (read_device): Don't stop on 3rd failure on raidz3.
8588
8622923b
VS
85892011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8590
8591 Support case-insensitive ZFS subvolumes.
8592
8593 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
8594 All users updated.
8595 (zap_hash): Likewise.
8596 (name_cmp): New function.
8597 (zap_leaf_array_equal): New parameter case_insensitive.
8598 All users updated.
8599 (zap_leaf_lookup): Likewise.
8600 (fzap_lookup): Likewise.
8601 (zap_lookup): Likewise.
8602 (dnode_get_path): New parameter case_insensitive. Retrieve case
8603 sensitiviness of a volume. All users updated.
8604 (dnode_get_fullpath): New parameter case_insensitive.
8605 All users updated.
8606 (grub_zfs_dir): Set info.case_insensitiveness.
8607
95f2e860
VS
86082011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8609
8610 Support second redundancy strip on raidz(2,3).
8611
8612 * grub-core/fs/zfs/zfs.c (powx): New array.
8613 (powx_inv): Likewise.
8614 (poly): New const.
8615 (xor_out): New function.
8616 (gf_mul): Likewise.
8617 (recovery): Likewise.
8618 (read_device): Use second redundancy strip.
8619
11ee4389
VS
86202011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8621
8622 Use a power of generator representation of GF(256) multiplication group
8623 to save space time and complexity.
8624
8625 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
8626 (raid6_table2): Likewise.
8627 (powx): New array.
8628 (powx_inv): Likewise.
8629 (poly): New const.
8630 (grub_raid_block_mul): Replace with ...
8631 (grub_raid_block_mulx): ...this.
8632 (grub_raid6_init_table): Rewritten.
8633 (grub_raid6_recover): Use power of generator representation.
8634
09e2763f
VS
86352011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8636
8637 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
8638 for the right device.
8639
8bec9a28
VS
86402011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8641
8642 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
8643 expected by grub-mkimage and it's more clear since there is no implicit
8644 padding.
8645
dbd3a32e
VS
86462011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8647
8648 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
8649 disk.
8650 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
8651
182c872a
PMH
86522011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
8653
8654 * util/grub-mkrescue.in: Fix handling xorriso option.
8655
1e51cabd
VS
86562011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8657
8658 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
8659 NULL.
8660
9cc3581d 86612011-11-03 crocket <crockabiscuit@gmail.com>
8662
8663 * util/grub.d/10_linux.in: Add Slackware initrd naming.
8664
158dc1ea
VS
86652011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8666
8667 XZ CRC64 and SHA256 support.
8668
8669 * Makefile.util.def (libgrubmods): Add crc64.c.
8670 * grub-core/Makefile.core.def (crc64): New module.
8671 * grub-core/lib/crc64.c: New file.
8672 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
8673 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
8674 Fix the type.
8675 (MAX_HASH_SIZE): New define.
8676 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
8677 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
8678 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
8679 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
8680 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
8681 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
8682 Handle non-crc32 hashes.
8683 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
8684 (dec_stream_header): Handle non-crc32 hashes.
8685 (dec_stream_footer): Likewise.
8686 (dec_block_header): Likewise.
8687 (dec_main): Likewise.
8688 (xz_dec_init): Likewise.
8689 (xz_dec_reset): Likewise.
8690 (xz_dec_end): Likewise.
8691 * util/import_gcry.py: Add CRC64 line.
8692
9d9b3d2f
VS
86932011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8694
8695 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
8696 as well.
8697
7d0ac931
VS
86982011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8699
8700 Make reiserfs label retrieval similar to other *_label functions.
8701
8702 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
8703 (REISERFS_MAX_LABEL_LENGTH): Removed.
8704 (REISERFS_LABEL_OFFSET): Likewise.
8705 (grub_reiserfs_label): Rewritten.
8706
87072011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8708
8709 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
8710 field.
8711
cf5ba824
VS
87122011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8713
8714 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
8715
17744004
VS
87162011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
8717
8718 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
8719 drive failure on both raidz and raidz2.
8720
aca5aefc
VS
87212011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
8722
8723 Fix RAIDZ(2) for >= 5 devices.
8724
8725 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
8726 asize argument. All users updated.
8727
ce8ca56e
VS
87282011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
8729
8730 Fix RAIDZ(2).
8731
8732 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
8733 (fill_vdev_info_real): Set ashift.
8734 (read_device): Rewrite RAIDZ part based on reverse engineering.
8735
7c01e783
VS
87362011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
8737
8738 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
8739 don't report potentially unavialiable fields in debug output.
8740 (find_path): Fix double-free and memory leak.
8741
ce109e84
VS
87422011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
8743
8744 Read label on UFS1.
8745
8746 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
8747 (grub_ufs_fs): Always set .label.
8748
87661123
VS
87492011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
8750
8751 Use shifts in UFS.
8752
8753 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
8754 (grub_ufs_data): New field log2_blksz.
8755 (grub_ufs_read_file): Use shifts.
8756 (grub_ufs_mount): Check block size and logarithm it.
8757
46bc1dc2
VS
87582011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
8759
8760 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
8761 long symlinks.
8762
19ee2987
VS
87632011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8764
8765 Handle symlinks and long names on tar and cpio.
8766
8767 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
8768 (ATTR_FILE): Likewise.
8769 (ATTR_DIR): Likewise.
8770 (ATTR_LNK): Likewise.
8771 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
8772 (grub_cpio_find_file): Fill mode, handle linkname field as well as
8773 L and K entries.
8774 (grub_cpio_mount): Zero-fill data.
8775 (handle_symlink): New function.
46bc1dc2
VS
8776 (grub_cpio_dir): Handle symlinks.
8777 (grub_cpio_open): Likewise.
8778 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 8779
c83a08d8
VS
87802011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8781
8782 Fix iso9660 filename limitations and fix memory leaks.
8783
8784 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
8785 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
8786
45cdd3ea
VS
87872011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8788
8789 Fix JFS file name length limitations.
8790
8791 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
8792 (grub_jfs_diropen): Fix maximum filename length.
8793 (grub_jfs_getent): Fix filename length.
8794 (grub_jfs_lookup_symlink): Fix size checks.
8795
94ef05c2
VS
87962011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8797
8798 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
8799 string.
8800
785ab8c7
VS
88012011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8802
eb0b6b45
VS
8803 Leverage BFS implementation to read AFS.
8804
8805 * Makefile.util.def (libgrubmods): Add afs.c.
8806 * grub-core/Makefile.core.def (afs): New module
8807 * grub-core/fs/afs.c: New file.
8808 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
8809
88102011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8811
8812 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 8813
c4a1628f
VS
88142011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8815
8816 * grub-core/fs/bfs.c: Run indent.
8817
5825b379
VS
88182011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8819
8820 BFS implementation based on the specification.
8821
8822 * grub-core/fs/bfs.c: New file.
8823 * Makefile.util.def (libgrubmods): Add bfs.c.
8824 * grub-core/Makefile.core.def (bfs): New module.
8825
42b2a706
VS
88262011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8827
8828 * util/grub-fstest.c (cmd_cp): Clarify error message.
8829 (cmd_cmp): Likewise.
8830
61b99bfc
YB
88312011-10-30 Yves Blusseau <blusseau@zetam.org>
8832
8833 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
8834 and befs_be.
8835
faba3d16
VS
88362011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
8837
8838 Remove afs and befs because of copyright problem.
8839
8840 * grub-core/fs/afs.c: Removed.
8841 * grub-core/fs/afs_be.c: Removed.
8842 * grub-core/fs/befs.c: Removed.
8843 * grub-core/fs/befs_be.c: Removed.
8844 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
8845 * grub-core/Makefile.core.def (afs): Removed.
8846 (afs_be): Likewise.
8847 (befs): Likewise.
8848 (befs_be): Likewise.
8849
c39224b0
VS
88502011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8851
8852 Prefer rockridge over Joliet.
8853
8854 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
8855 to ...
8856 (set_rockridge): ... here.
8857 (grub_iso9660_mount): Check rockridge on the primary label when
8858 discovering. Ignore Joliet if Rockridge is present.
8859
e551115a
VS
88602011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8861
8862 Use shifts in nilfs2.
8863
8864 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
8865 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
8866 (grub_nilfs2_palloc_entries_per_group): Replace with ...
8867 (grub_nilfs2_log_palloc_entries_per_group): ... this.
8868 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
8869 (grub_nilfs2_entries_per_block): Replaced with ...
8870 (grub_nilfs2_log_entries_per_block_log): ... this.
8871 (grub_nilfs2_blocks_per_group): Replaced with ...
8872 (grub_nilfs2_blocks_per_group_log): ... this.
8873 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
8874 (grub_nilfs2_blocks_per_desc_block_log): ... this.
8875 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
8876 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
8877 (grub_nilfs2_palloc_entry_offset): Replaced ...
8878 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
8879 (grub_nilfs2_dat_translate): Use shifts.
8880 (grub_nilfs2_read_inode): Likewise.
8881 (GRUB_MOD_INIT): Ensure that logs are correct.
8882
564dd58c
VS
88832011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8884
8885 Use shifts in minix filesystem.
8886
8887 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
8888 (GRUB_MINIX_ZONE2SECT): Likewise.
8889 (grub_minix_data): Replace block_size with log_block_size.
8890 (grub_minix_read_file): Use shifts.
8891 (grub_minix_mount): Check block size and take a logarithm.
8892
ed9ba06d
VS
88932011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8894
8895 Use shifts in squash4.
8896
8897 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
8898 (squash_mount): Check block size and take logarithm.
8899 (direct_read): Use shifts.
8900
ad03fe76
VS
89012011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8902
8903 Correct befs block counting logic.
8904
8905 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
8906 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
8907 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
8908 (grub_afs_read_inode): Use block_shift.
8909 (RANGE_SHIFT): New definition.
8910 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
8911 unexpected conditions, use shifts and appropriate types.
8912 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
8913
6563f63d
VS
89142011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8915
8916 * grub-core/disk/raid.c (scan_devices): Check partition.
8917 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
8918
5b1ae25f
VS
89192011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
8920
8921 Support BFS (befs) UUID.
8922
8923 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
8924 (grub_afs_small_data_element_header): New struct.
8925 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
8926 (grub_afs_read_attribute) [MODE_BFS]: New function.
8927 (grub_afs_iterate_dir): Allocate for complete inode.
8928 (grub_afs_mount): Likewise.
8929 (grub_afs_uuid) [MODE_BFS]: New function.
8930 (grub_afs_fs) [MODE_BFS]: Add .uuid.
8931
f8d82408
VS
89322011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
8933
8934 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
8935 (zfs_unmount): Fix memory leak.
8936
5773fb64
VS
89372011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8938
8939 Support NTFS reparse points.
8940
8941 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
8942 (symlink_descriptor): New struct.
8943 (grub_ntfs_read_symlink): New function.
8944 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
8945 (grub_ntfs_open): Likewise.
8946
91c3fdde
VS
89472011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8948
8949 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
8950
3be82e10
VS
89512011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8952
8953 fstest xnu_uuid subcommand.
8954
8955 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
8956 grub-core/commands/xnu_uuid.c.
8957 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
8958 (fstest): Handle xnu_uuid.
8959 (options): Document xnu_uuid.
8960 (argp_parser): Parse xnu_uuid.
8961
8e32442e
VS
89622011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8963
8964 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
8965 -l argument. Add newline at the end if printing.
8966 (GRUB_MOD_INIT): Document -l.
8967
52a05075
VS
89682011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8969
8970 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
8971
1869edb5
VS
89722011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8973
8974 ZFS multi-device and version 33 support.
8975
8976 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
8977 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
8978 (grub_zfs_data): Add multidev-ice-related fields.
8979 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
8980 (dva_get_offset): Make dva const.
8981 (zfs_fetch_nvlist): New function.
8982 (fill_vdev_info_real): Likewise.
8983 (fill_vdev_info): Likewise.
8984 (check_pool_label): Likewise.
8985 (scan_disk): Likewise.
8986 (scan_devices): Likewise.
8987 (read_device): Likewise.
8988 (read_dva): Likewise.
8989 (zio_read_gang): Use read_dva.
8990 (zio_read_data): Likewise.
8991 (zap_leaf_lookup): Add missing endian conversion.
8992 (zap_verify): Add missing endian conversion. All users updated.
8993 (fzap_lookup): Likewise.
8994 (fzap_iterate): Likewise.
8995 (dnode_get_path): Handle SA bonus.
8996 (nvlist_find_value): Make input const. All users updated.
8997 (unmount_device): New function.
8998 (zfs_unmount): Use unmount_device.
8999 (zfs_mount): Use scan_disk.
9000 (zfs_mtime): New function.
9001 (grub_zfs_open): Handle system attributes.
9002 (fill_fs_info): Likewise.
9003 (grub_zfs_dir): Likewise.
9004 (grub_zfs_fs): Add mtime.
9005 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
9006 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
9007 (SA_MTIME_OFFSET): Likewise.
9008 (SA_SYMLINK_OFFSET): Likewise.
9009 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
9010 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
9011 (fstest): Support zfsinfo.
9012 (argp_parser): Likewise.
9013
186b4028
VS
90142011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
9015
9016 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
9017 error.
9018
90192011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
9020
9021 ZFS fixes.
9022
9023 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
9024 sharing the same block. Iterate over correct number of indices.
9025 (dnode_get_path): Handle symlinks correctly.
9026
c0584900
VS
90272011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9028
9029 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
9030
67e2bd71
VS
90312011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9032
9033 Read label on HFS+.
9034
9035 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
9036 (grub_hfsplus_btree_search): Fix types.
9037 (grub_hfsplus_label): Implement.
9038
e9cc6b7b
VS
90392011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9040
9041 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
9042
19832ddb
VS
90432011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9044
9045 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
9046
66b40850
VS
90472011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9048
9049 Fix symlink handling on iso9660.
9050
9051 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
9052 All users updated.
9053 (grub_iso9660_susp_iterate): Accept zero-size iterate.
9054 (grub_iso9660_read_symlink): Moved most of code ...
9055 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
9056
db821363
VS
90572011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9058
9059 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
9060 Use union to avoid breaking strict-aliasing rules.
9061
e1211949
VS
90622011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9063
9064 Support multi-extent iso files.
9065
9066 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
9067 Add node.
9068 (grub_fshelp_node): Revamp. All users updated.
9069 (FLAG_*): New enum.
9070 (read_node): New function.
9071 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
9072 All users updated.
9073 (grub_iso9660_mount): Don't attempt to read sua when there is none.
9074 (get_node_size): New function.
9075 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
9076 entries.
9077 Fix memory leak on . and ..
9078 (grub_iso9660_read): Use read_node.
9079 (grub_iso9660_close): Free node.
9080
d4888031
VS
90812011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9082
9083 Fix tar 4G limit and handle paths containing dot.
9084
9085 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
9086 (canonicalize): New function.
9087 (grub_cpio_find_file): Use canonicalize. Store offs in
9088 grub_disk_addr_t.
9089 (grub_cpio_dir): Use grub_disk_addr_t.
9090 (grub_cpio_open): Likewise.
9091
9f12e664
VS
90922011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9093
9094 Fix handling of uncompressed blocks on squashfs and break 4G limit.
9095
9096 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
9097 unused flags.
9098 (grub_squash_inode): Add long_file and block_size.
9099 (grub_squash_cache_inode): New struct.
9100 (grub_squash_dirent): Make types into enum.
9101 (SQUASH_TYPE_LONG_REGULAR): New type.
9102 (grub_squash_frag_desc): Add field size.
9103 (SQUASH_BLOCK_FLAGS): New enum.
9104 (grub_squash_data): Use grub_squash_cache_inode.
9105 (grub_fshelp_node): Make ino_chunk 64-bit.
9106 (read_chunk): Minor argument change. All users updated.
9107 (squash_mount): Use correct le_to_cpu.
9108 (grub_squash_open): Handle LONG_REGULAR.
9109 (direct_read): New function.
9110 (grub_squash_read_data): Handle blocks correctly.
9111
9f326fba
VS
91122011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9113
9114 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
9115
f4d9b64b
VS
91162011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9117
9118 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
9119
5bbd28b8
VS
91202011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
9121
9122 Fix 2G limit on ZFS.
9123
9124 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
9125 types.
9126 (uberblock_verify): Likewise.
9127 (dmu_read): Likewise.
9128 (grub_zfs_read): Likewise. Remove invalid cast.
9129
68c72069
VS
91302011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
9131
9132 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
9133 (grub_jfs_blkno): Fix incorrect shift.
9134 (grub_jfs_read_file): Use more appropriate types.
9135
6e536dc8
VS
91362011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
9137
9138 Support triple indirect on minix2 and minix3.
9139
9140 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
9141 Declare triple_indir_zone.
9142 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
9143 indirect.
9144
e0864e7a
VS
91452011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
9146
9147 Minix FS fixes.
9148
9149 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
9150 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
9151 Rename ctime to mtime. All users updated.
9152 (grub_minix_get_file_block): Fix types and double indirect computations.
9153
89481cab
VS
91542011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9155
9156 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
9157 if no label is found.
9158 (grub_fat_iterate_dir): Fix file size type.
9159 (grub_fat_iterate_dir): Likewise.
9160
f646e143
VS
91612011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9162
9163 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
9164 save some space.
9165 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
9166 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
9167
534d769e
VS
91682011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9169
9170 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
9171
e084ba18
VS
91722011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9173
9174 * util/import_gcry.py: Accept space between # and include.
9175
3471ecdf
VS
91762011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9177
9178 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
9179
124df5f6
VS
91802011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9181
9182 Fine grainely disable warnings on lexer. Remove Wno-error on it.
9183
9184 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
9185 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
9186 yylex_strncpy.
9187 * grub-core/script/yylex.l: Add fine-grained #pragma.
9188
4defb8d5
VS
91892011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9190
9191 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
9192 New inline function.
9193 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
9194 Likewise.
9195 (memset) [GRUB_UTIL]: Likewise.
9196 (memcmp) [GRUB_UTIL]: Likewise.
9197
4e94ae65
VS
91982011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9199
9200 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
9201 inline function rather than a define.
9202
18c575e5
VS
92032011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9204
9205 * util/grub-setup.c: Add missing include.
9206
f8bc22a8
VS
92072011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9208
9209 * util/ieee1275/grub-ofpathname.c: Add missing include.
9210
3ce69fc9
VS
92112011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9212
9213 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
9214 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
9215 Likewise.
9216
d1e293bb
VS
92172011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9218
9219 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
9220 grub_memcmp usage.
9221
7a5c54a4
VS
92222011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9223
9224 * util/grub-install.in: Add datarootdir as per automake manual
9225 suggestion.
9226 * util/grub-mknetdir.in: Likewise.
9227
92282011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
9229
9230 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
9231 suggestion.
9232 * util/grub.d/10_kfreebsd.in: Likewise.
9233 * util/grub.d/10_linux.in: Likewise.
9234 * util/grub.d/10_netbsd.in: Likewise.
9235 * util/grub.d/10_windows.in: Likewise.
9236 * util/grub.d/20_linux_xen.in: Likewise.
9237
766f7d08
VS
92382011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
9239
9240 Remove redundant grub_kernel_image_size.
9241
9242 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
9243 _edata and _start.
9244 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
9245 the small code. It moves it only by few bytes but simplifies the code.
9246 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
9247 _start.
9248 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
9249 (grub_kernel_image_size): Removed.
9250 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
9251 (grub_kernel_image_size): Removed.
9252 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
9253 compiled with Apple toolchain.
9254 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
9255 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
9256 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
9257 (grub_total_module_size): Likewise.
9258 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
9259 Removed.
9260 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
9261 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
9262 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
9263 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
9264 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
9265 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
9266 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
9267 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
9268 Removed.
9269 (grub_total_module_size): Removed.
9270 * util/grub-mkimage.c (image_target_desc): Remove image_size.
9271 (image_targets): Likewise.
9272 Set .compressed_size to no field on sparc.
9273 (generate_image): Remove kernel_image_size handling.
9274
fcf1d672
SJ
92752011-10-19 Szymon Janc <szymon@janc.net.pl>
9276
9277 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
9278 NULL pointer dereference.
9279
de9c615e
VS
92802011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9281
9282 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
9283 done with a dedicated section.
9284
9285 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
9286 Ensure the correct position of boot_path.
9287 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
9288 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
9289 other fields.
9290 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
9291 * include/grub/boot.h: Removed. All references removed.
9292 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
9293 Removed.
9294 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
9295
e55599dc
VS
92962011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9297
9298 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
9299 name.
9300
36dd20ad
VS
93012011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9302
9303 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
9304
f8f72eb8
VS
93052011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9306
9307 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
9308 Don't add the bogus brackets.
9309
a374751b
VS
93102011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9311
9312 ExFAT support.
9313
9314 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
9315 * grub-core/Makefile.core.def (exfat): New module.
9316 * grub-core/fs/exfat.c: New file.
9317 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
9318 (GRUB_FAT_ATTR_*): Make into an enum.
9319 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
9320 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
9321 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
9322 (GRUB_FAT_MAXFILE): Removed.
9323 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
9324 (grub_current_fat_bpb_t): New type.
9325 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
9326 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
9327 (grub_fat_dir_node_t): New type.
9328 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
9329 (fat_log2) [MODE_EXFAT]: Removed.
9330 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
9331 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
9332 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
9333 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
9334 (grub_fat_label) [MODE_EXFAT]: New function.
9335 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
9336 reserved_first_sector to 0.
9337
544c2487
VS
93382011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9339
9340 Move grub_reboot out of the kernel.
9341
9342 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
9343 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
9344 * grub-core/lib/efi/reboot.c: ... here.
9345 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
9346 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
9347 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
9348 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
9349 * grub-core/lib/i386/reboot_trampoline.S: ... here.
9350 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
9351 * grub-core/lib/ieee1275/reboot.c: ... here.
9352 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
9353 * grub-core/lib/mips/arc/reboot.c: ... here.
9354 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
9355 * grub-core/lib/mips/loongson/reboot.c: ...here.
9356 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
9357 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
9358 * include/grub/emu/misc.h (grub_reboot): New function declaration.
9359 * include/grub/i386/reboot.h: New file.
9360 * include/grub/mips/loongson/ec.h: Fix includes.
9361 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
9362 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
9363 * grub-core/lib/i386/reboot.c: New file.
9364
a97501d2
VS
93652011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
9366
9367 Make grub_prefix into module to fix the arbitrary limit and save
9368 some space.
9369
9370 * grub-core/kern/emu/main.c (grub_prefix): Removed.
9371 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
9372 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
9373 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
9374 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
9375 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
9376 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
9377 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
9378 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
9379 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
9380 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
9381 * include/grub/ia64/efi/kernel.h: Removed.
9382 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
9383 (grub_prefix): Removed.
9384 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
9385 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
9386 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
9387 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
9388 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
9389 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
9390 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
9391 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
9392 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
9393 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
9394 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
9395 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
9396 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
9397 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
9398 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
9399 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
9400 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
9401 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
9402 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
9403 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
9404 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
9405 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
9406 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
9407 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
9408 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
9409 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
9410 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
9411 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
9412 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
9413 from module.
9414 * util/grub-mkimage.c (image_target_desc): Removed prefix and
9415 prefix_end.
9416 (image_targets): Likewise.
9417 (generate_image): Put prefix as a module.
9418
39705fad
VS
94192011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9420
9421 Replace grub_module_iterate with FOR_MODULES.
9422
9423 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
9424 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
9425 (grub_efi_modules_addr): ...this.
9426 * grub-core/kern/efi/init.c (grub_modbase): New variable.
9427 (grub_efi_init): Set grub_modbase.
9428 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
9429 (grub_modbase): New variable.
9430 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
9431 (grub_modbase): New variable.
9432 (grub_machine_init): Set grub_modbase.
9433 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
9434 (grub_modbase): New variable.
9435 (grub_machine_init): Set grub_modbase.
9436 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
9437 (grub_modbase): New variable.
9438 (grub_machine_init): Set grub_modbase.
9439 * grub-core/kern/main.c (grub_module_iterate): Remove.
9440 (grub_modules_get_end): Use grub_modbase.
9441 (grub_load_modules): Use FOR_MODULES.
9442 (grub_load_config): Likewise.
9443 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
9444 (grub_modbase): New variable.
9445 (grub_machine_init): Set grub_modbase.
9446 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
9447 (grub_modbase): New variable.
9448 (grub_machine_init): Set grub_modbase.
9449 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
9450 Removed.
9451 (grub_modbase): New variable.
9452 (grub_machine_init): Set grub_modbase.
9453 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
9454 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
9455 (grub_module_iterate): Likewise.
9456 (grub_modbase): New variable declaration.
9457 (FOR_MODULES): New macro.
9458
2afb7f6c
VS
94592011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9460
9461 * configure.ac: Check for __ctzdi2 and __ctzsi2.
9462 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
9463
366e34fa
VS
94642011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9465
9466 Fix few obvious type discrepancies.
9467
9468 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
9469 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
9470 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
9471 variable.
9472 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
9473 and connected types.
9474 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
9475 offset.
9476 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
9477 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
9478 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
9479 and connected types.
9480
177b960e
VS
94812011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9482
9483 Fix python 3.x incompatibilities.
9484
9485 * gentpl.py: Put brackets around print strings.
9486 * util/import_gcry.py: Open explicitly as utf-8.
9487 Use in instead of has_key.
9488
3b619ae1
VS
94892011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9490
9491 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
9492 (GRUB_XFS_INO_AGBITS): Make into inline function.
9493 (GRUB_XFS_INO_INOINAG): Likewise.
9494 (GRUB_XFS_INO_AG): Likewise.
9495 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
9496 (GRUB_XFS_EXTENT_OFFSET): Likewise.
9497 (GRUB_XFS_EXTENT_BLOCK): Likewise.
9498 (GRUB_XFS_EXTENT_SIZE): Likewise.
9499 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
9500 (GRUB_XFS_NEXT_DIRENT): Likewise.
9501 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
9502 (grub_xfs_read_file): Fix offset type.
9503
8bcebcb8
RM
95042011-10-15 Robert Millan <rmh@gnu.org>
9505
9506 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
9507
0017e5ef
RM
95082011-10-15 Robert Millan <rmh@gnu.org>
9509
9510 Fix build problem on FreeBSD and GNU/kFreeBSD.
9511
9512 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
9513
d8919552
VS
95142011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
9515
9516 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
9517
9518 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
9519 types.
9520 (grub_hfsplus_btree_recoffset): Likewise.
9521 (grub_hfsplus_btree_recptr): Likewise.
9522 (grub_hfsplus_find_block): Likewise.
9523 (grub_hfsplus_btree_search): Likewise.
9524 (grub_hfsplus_read_block): Likewise.
9525 (grub_hfsplus_read_file): Likewise.
9526 (grub_hfsplus_mount): Likewise.
9527 (grub_hfsplus_btree_iterate_node): Likewise.
9528 (grub_hfsplus_btree_search): Likewise.
9529 (grub_hfsplus_iterate_dir): Likewise.
9530 (grub_hfsplus_read): A small code simplification.
9531
c81296b6
VS
95322011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
9533
9534 * grub-core/kern/emu/hostdisk.c
9535 (convert_system_partition_to_system_disk): Don't assume that children
9536 of mapper nodes are mapper nodes.
9537
0eb8ffb1
VS
95382011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
9539
9540 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
9541 * include/grub/misc.h (grub_isxdigit): New function.
9542 * grub-core/video/colors.c (my_isxdigit): Removed. All users
9543 switched to grub_isxdigit.
9544 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
9545 number starting with a letter.
9546
a98f4a08
RM
95472011-10-09 Robert Millan <rmh@gnu.org>
9548
9549 LVM support for FreeBSD and GNU/kFreeBSD.
9550
9551 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
9552 GNU/kFreeBSD.
9553 (LVM_DEV_MAPPER_STRING): Move from here ...
9554 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
9555 * util/getroot.c: Include `<grub/util/lvm.h>'.
9556 (grub_util_get_dev_abstraction): Enable
9557 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
9558 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
9559 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
9560 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
9561 support it.
9562 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
9563 GNU/kFreeBSD.
9564 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
9565 when LVM abstraction is required for ${GRUB_DEVICE}.
9566
050e8e90
SJ
95672011-10-06 Szymon Janc <szymon@janc.net.pl>
9568
9569 Add support for LZO compression in GRUB:
9570 - import of minilzo library,
9571 - LZO decompression for btrfs,
9572 - lzop files decompression.
9573
9574 * grub-core/io/lzopio.c: New file.
9575 * grub-core/lib/adler32.c: Likewise.
9576 * grub-core/lib/minilzo/lzoconf.h: Likewise.
9577 * grub-core/lib/minilzo/lzodefs.h: Likewise.
9578 * grub-core/lib/minilzo/minilzo.c: Likewise.
9579 * grub-core/lib/minilzo/minilzo.h: Likewise.
9580 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
9581 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
9582 grub-core/lib/minilzo/minilzo.c to common.
9583 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
9584 cflags in cppflags.
9585 * grub-core/Makefile.core.def (btrfs): Likewise.
9586 * grub-core/Makefile.core.def (lzopio): New module.
9587 (adler32): Likewise.
9588 * grub-core/fs/btrfs.c: Include minilzo.h.
9589 (GRUB_BTRFS_COMPRESSION_LZO): New define.
9590 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
9591 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
9592 (grub_btrfs_lzo_decompress): New function.
9593 (grub_btrfs_extent_read): Add support for LZO compression type.
9594 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
9595 (GRUB_USHRT_MAX): Likewise.
9596 (GRUB_UINT_MAX): Likewise.
9597 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
9598 (UINT_MAX): Likewise.
9599 (CHAR_BIT): Likewise.
9600 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
9601 grub-core/lib/posix_wrap/limits.h
9602 (UCHAR_MAX): Likewise.
9603 * include/grub/file.h (grub_file_filter_id): New compression filter
9604 GRUB_FILE_FILTER_LZOPIO.
9605 * include/grub/file.h (grub_file_filter_id): Set
9606 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
9607 * include/grub/types.h (grub_get_unaligned16): New function.
9608 (grub_get_unaligned32): Likewise.
9609 (grub_get_unaligned64): Likewise.
9610 * util/import_gcry.py (cryptolist): Add adler32.
9611
0eb8ffb1
VS
96122011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
9613
9614 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
9615 in perspective decreases the complexity of build system and fixes
9616 compilation right now.
9617
ce79cc99 96182011-10-01 Ales Nesrsta <starous@volny.cz>
9619
9620 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
9621 (fixed problem related to using UHCI with coreboot).
9622
8667a314
BC
96232011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
9624
9625 * gentpl.py: Use Autogen macros so that the output template file
9626 (Makefile.tpl) size is reduced.
9627
fc5efcc0
MK
96282011-09-29 Mads Kiilerich <mads@kiilerich.com>
9629
9630 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
9631 extra_dist.
9632
d1ab689d
ML
96332011-09-29 Mario Limonciello <mario_limonciello@dell.com>
9634
9635 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
9636 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
9637
c05de032
ML
96382011-09-29 Mario Limonciello <mario_limonciello@dell.com>
9639
9640 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
9641 _fullpath.
9642
cca7ccd8
ML
96432011-09-29 Mario Limonciello <mario_limonciello@dell.com>
9644
9645 Remove extra declaration of sleep for mingw32.
9646
9647 * util/misc.c (sleep) [__MINGW32__]: Removed.
9648 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
9649
e0b0dc83
GS
96502011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
9651
9652 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
9653 type and packname.
9654 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
9655 Resurrected.
9656 (NETBSD_BTINFO_BOOTWEDGE): New definition.
9657 (grub_netbsd_btinfo_bootwedge): New struct.
9658 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
9659 New function.
9660 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
9661
91a1a164
TH
96622011-09-28 Thomas Haller <thomas.haller@fen-net.de>
9663
9664 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
9665 loader.
9666
2ded951e
AB
96672011-09-28 Andreas Born <futur.andy@googlemail.com>
9668
9669 Fix incorrect identifiers in bash-completion.
9670
9671 * util/bash-completion.d/grub-completion.bash.in
9672 (_grub_mkpasswd-pbkdf2): Rename to ...
9673 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
9674 (_grub_script-check): Rename to ...
9675 (_grub_script_check): ... this. All users updated.
9676
69915030
VS
96772011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
9678
9679 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
9680 Return 0 if disk isn't biosdisk.
9681
20fd15f9
GS
96822011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
9683
9684 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
9685 on NetBSD.
9686 * Makefile.util.def (grub-fstest): Likewise.
9687
1a7d7db9
GS
96882011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
9689
9690 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
9691 Get sector size from disk label.
9692
2221ab6c
CW
96932011-09-05 Colin Watson <cjwatson@ubuntu.com>
9694
9695 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
9696 */README* as well as README*.
9697 Reported by: Axel Beckert.
9698
ca51c4a0
VS
96992011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9700
9701 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
9702 case of less than 256 MiB of RAM.
9703
ab80f326
VS
97042011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9705
9706 * grub-core/commands/wildcard.c (make_regex): Handle @.
9707
4155e697
VS
97082011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9709
9710 * util/grub-install.in: Move cryptodisk logic to appropriate place.
9711
ab178c08
SJ
97122011-08-21 Szymon Janc <szymon@janc.net.pl>
9713
9714 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
9715 AC_LANG_CONFTEST macros.
9716
7dc3c686
SJ
97172011-08-20 Szymon Janc <szymon@janc.net.pl>
9718
9719 Add grub-fstest option to uncompress data for commands.
9720
9721 * util/grub-fstest.c (uncompress): New var.
9722 (options): New option -u.
9723
fe8d4a7b
SJ
97242011-08-20 Szymon Janc <szymon@janc.net.pl>
9725
9726 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
9727 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
9728
a5219af1
SJ
97292011-08-20 Szymon Janc <szymon@janc.net.pl>
9730
9731 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
9732 file type was not recognized correctly (not gzip or corrupted).
9733
f87abff5
VS
97342011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9735
9736 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
9737 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
9738
d94497ea
VS
97392011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9740
9741 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
9742 loongson.
9743 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
9744 video_radeon_fuloong2e.
9745 * grub-core/video/radeon_fuloong2e.c: New file.
9746 * include/grub/video.h (grub_video_id_t): Add new ID
9747 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
9748
0d1fd011
VS
97492011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9750
9751 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
9752 define.
9753 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
9754 that PRID matches the detected subplatform and reset the subplatform
9755 if it doesn't.
9756
84beb0ee
VS
97572011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9758
9759 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
9760
1227c133
VS
97612011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9762
9763 Fix PCI iterating on functions >= 4.
9764
9765 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
9766 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
9767 Removed.
9768 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
9769 (grub_pci_read): Fix bitmask.
9770 (grub_pci_read_word): Likewise.
9771 (grub_pci_read_byte): Likewise.
9772 (grub_pci_write): Likewise.
9773 (grub_pci_write_word): Likewise.
9774 (grub_pci_write_byte): Likewise.
9775
9594c689
VS
97762011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9777
9778 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
9779 can still be specified in TARGET_CFLAGS)
9780
14a2562c
VS
97812011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9782
9783 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
9784
9785 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
9786 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
9787 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
9788 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
9789 (FULOONG): Rename to ...
9790 (FULOONG2F): ... this. All users updated.
9791 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
9792 (machtype_fuloong2f_str): ... this.
9793 (machtype_fuloong2e_str): New string.
9794 Check for machtype_fuloong2e_str.
9795 * grub-core/loader/mips/linux.c (loongson_machtypes)
9796 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
9797 * grub-core/term/serial.c (loongson_defserial)
9798 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
9799 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
9800 loongson_defserial.
9801 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
9802 Rename to ...
9803 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
9804 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
9805 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
9806 to IMAGE_FULOONG2F_FLASH. All users updated.
9807 (image_targets): Rename images.
9808 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
9809
b526cbb6
SJ
98102011-08-19 Szymon Janc <szymon@janc.net.pl>
9811
9812 Make enable of disk cache statistics code configurable.
9813
9814 * configure.ac: --enable-cache-stats added.
9815 * config.h.in (DISK_CACHE_STATS): New define.
9816 * grub-core/Makefile.core.def (cacheinfo): New command.
9817 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
9818 * grub-core/commands/cacheinfo.c: New file.
9819 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
9820 moved to cacheinfo.c.
9821 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
9822 debug code.
9823 * include/grub/disk.h: Likewise.
9824
fb739ccd
SJ
98252011-08-19 Szymon Janc <szymon@janc.net.pl>
9826
9827 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
9828 * grub-core/Makefile.am: Likewise.
9829
2bba8cfd
VS
98302011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9831
9832 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
9833 non-zero pull.
9834
43526629
VS
98352011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9836
9837 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
9838 All users updated.
9839 (grub_jfs_lookup_symlink): Use correct starting inode.
9840
5c144cc8
VS
98412011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9842
9843 * util/grub-setup.c (main): Add missing gcry initialisation.
9844
b1257f65
VS
98452011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9846
9847 Don't accept text modes on EFI when booting Linux.
9848
9849 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
9850 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
9851
828bc390
ML
98522011-08-15 Mario Limonciello <mario_limonciello@dell.com>
98532011-08-15 Colin Watson <cjwatson@ubuntu.com>
9854
9855 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
9856 use of "/path/.." as in grub-install for EFI as well as handling
9857 symlinks correctly.
9858 Fixes Debian bug #637768.
9859
5f60ccac
CW
98602011-08-15 Colin Watson <cjwatson@ubuntu.com>
9861
9862 * util/grub-probe.c: Remove duplicate #include.
9863
6dc212f9
RM
98642011-08-10 Robert Millan <rmh@gnu.org>
9865
9866 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
9867
9868 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
9869 function.
9870 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
9871 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
9872
66816d85
RM
98732011-08-03 Robert Millan <rmh@gnu.org>
9874
9875 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
9876 la_array as packed.
9877 Reported by: Zachary Bedell
9878
20168fca
CW
98792011-07-26 Colin Watson <cjwatson@ubuntu.com>
9880
9881 * configure.ac: The Loongson port requires grub-mkfont due to its
9882 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
9883 be built.
9884
303b6246
CW
98852011-07-26 Colin Watson <cjwatson@ubuntu.com>
9886
9887 * util/grub-install.in: Don't source grub-mkconfig_lib until after
9888 processing arguments (otherwise help2man fails when GRUB has not yet
9889 been installed).
9890
6795300e
VS
98912011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9892
41aa28ea
VS
9893 New script grub-mkstandalone.
9894
9895 * Makefile.util.def (grub-mkstandalone): New script.
9896 * docs/man/grub-mkstandalone.h2m: New file.
9897 * util/grub-mkstandalone.in: Likewise.
9898
98992011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9900
9901 Support ATA disks with 4K sectors.
6795300e
VS
9902
9903 * include/grub/ata.h (grub_ata): New member log_sector_size.
9904 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
9905 (grub_ata_identify): Read sector size.
9906 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
9907
92227597
VS
99082011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9909
9910 * util/grub-install.in: Don't use uhci outside of x86.
9911
c77069f5
VS
99122011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9913
9914 * util/grub-mkrescue.in: Add missing quotes.
9915
99162011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
9917
9918 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
9919 dereference.
9920
583168a2
VS
99212011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
9922
9923 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
9924
6be1c01f
VS
99252011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
9926
9927 * include/grub/video.h: add missing EXPORT_FUND on
9928 grub_video_edid_checksum and grub_video_edid_preferred_mode.
9929
a1167439
VS
99302011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
9931
9932 * include/grub/mips/kernel.h: Fix define conflict.
9933
bf66054f
VS
99342011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
9935
9936 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
9937 all four ways.
9938
8fc4fa45
CW
99392011-07-21 Colin Watson <cjwatson@ubuntu.com>
9940
9941 Preferred resolution detection for VBE.
9942
9943 * grub-core/video/video.c (grub_video_edid_checksum): New function.
9944 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
9945 the Flat Panel extension, in line with the X.org VESA driver.
9946 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
9947 New function.
9948 (grub_vbe_bios_get_ddc_capabilities): Likewise.
9949 (grub_vbe_bios_read_edid): Likewise.
9950 (grub_vbe_get_preferred_mode): Likewise.
9951 (grub_video_vbe_setup): When the mode is "auto", try to get the
9952 preferred mode from VBE, and use the largest mode that is no larger
9953 than the preferred mode (some BIOSes expose a preferred mode that is
9954 not in their mode list!). If this fails, fall back to 640x480 as a
9955 safe conservative choice.
9956 (grub_video_vbe_get_edid): New function.
9957 (grub_video_vbe_adapter): Add get_edid.
9958 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
9959 (struct grub_video_adapter): Add get_edid.
9960 (grub_video_edid_checksum): Add prototype.
9961 (grub_video_edid_preferred_mode): Likewise.
9962 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
9963 structure.
9964
9965 * grub-core/commands/videoinfo.c (print_edid): New function.
9966 (grub_cmd_videoinfo): Print EDID if available.
9967
9968 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
9969 is more appropriate on a wider range of platforms than 640x480.
9970 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
9971 documentation.
9972
ca5572a9
VS
99732011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9974
9975 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
9976
e4bcf625
VS
99772011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9978
9979 * po/POTFILES.in: Regenerate.
9980
c4edd548
VS
99812011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9982
9983 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
9984 incorrect memory usage.
9985
16a2bab0
VS
99862011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9987
9988 * util/grub-install.in: Source grub-mkconfig_lib.
9989
2e418de6
VS
99902011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
9991
9992 Remove getroot.c from core on emu platform.
9993
9994 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
9995 kern/emu/raid.c.
9996 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
9997 useless.
9998 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
9999 * util/getroot.c (get_win32_path): ... here.
10000 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
10001 * util/getroot.c (fini_libzfs): ... here.
10002 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
10003 * util/getroot.c (grub_get_libzfs_handle): ... here.
10004 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
10005 Moved from here...
10006 * util/getroot.c (grub_find_zpool_from_dir): ... here.
10007 * grub-core/kern/emu/misc.c
10008 (grub_make_system_path_relative_to_its_root): Moved from here...
10009 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
10010 * grub-core/kern/emu/getroot.c: Moved from here ...
10011 * util/getroot.c: ... here. All users updated.
10012 * grub-core/kern/emu/raid.c: Moved from here ...
10013 * util/raid.c: ... here. All users updated.
10014
def9832a
VS
100152011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
10016
10017 * po/POTFILES.in: Regenerate.
10018
cd8fe79a
VS
100192011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
10020
10021 Fix compilation on GNU/Linux.
10022
10023 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
10024 Disable geli.
10025 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
10026 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
10027 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
10028
a251b719
VS
100292011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
100302011-07-07 Michael Gorven <michael@gorven.za.net>
100312011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
10032
10033 LUKS and GELI support.
10034
10035 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
10036 grub-core/disk/luks.c, grub-core/disk/geli.c,
10037 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
10038 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
10039 grub-core/lib/arg.c.
10040 (libgrubmods.a): Remove gcrypts cflags and cppflags.
10041 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
10042 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
10043 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
10044 (grub-bin2h): Add libgcry.a.
10045 (grub-mkimage): Likewise.
10046 (grub-mkrelpath): Likewise.
10047 (grub-script-check): Likewise.
10048 (grub-editenv): Likewise.
10049 (grub-mkpasswd-pbkdf2): Likewise.
10050 (grub-pe2elf): Likewise.
10051 (grub-fstest): Likewise.
10052 (grub-mkfont): Likewise.
10053 (grub-mkdevicemap): Likewise.
10054 (grub-probe): Likewise.
10055 (grub-ofpath): Likewise.
10056 (grub-mklayout): Likewise.
10057 (example_unit_test): Likewise.
10058 (grub-menulst2cfg): Likewise.
10059 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
10060 * grub-core/Makefile.core.def (cryptodisk): New module.
10061 (luks): Likewise.
10062 (geli): Likewise.
10063 * grub-core/disk/AFSplitter.c: New file.
10064 * grub-core/disk/cryptodisk.c: Likewise.
10065 * grub-core/disk/geli.c: Likewise.
10066 * grub-core/disk/luks.c: Likewise.
10067 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
10068 grub_util_is_lvm.
10069 (grub_util_get_dm_abstraction): New function.
10070 (grub_util_follow_gpart_up): Likewise.
10071 (grub_util_get_geom_abstraction): Likewise.
10072 (grub_util_get_dev_abstraction): Use new functions.
10073 (grub_util_pull_device): Pull GELI and LUKS.
10074 (grub_util_get_grub_dev): Handle LUKS and GELI.
10075 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
10076 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
10077 (follow_geom_up): Removed.
10078 (grub_util_fd_seek): New function.
10079 (open_device): Use grub_util_fd_seek.
10080 (nread): Rename to ..
10081 (grub_util_fd_read): ... this. All users updated.
10082 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
10083 (grub_crypto_cbc_decrypt): Likewise.
10084 (grub_crypto_hmac_write): Likewise.
10085 (grub_crypto_hmac_buffer): Likewise.
10086 (grub_password_get): Extend to util.
10087 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
10088 New member modname.
10089 (gcry_md_spec) [GRUB_UTIL]: Likewise.
10090 * include/grub/cryptodisk.h: New file.
10091 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
10092 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
10093 LUKS and GELI.
10094 (grub_util_follow_gpart_up): New proto.
10095 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
10096 (grub_util_fd_read): Likewise.
10097 (grub_cryptodisk_cheat_mount): Likewise.
10098 (grub_util_cryptodisk_print_uuid): Likewise.
10099 (grub_util_get_fd_sectors): Likewise.
10100 * util/grub-fstest.c (mount_crypt): New var.
10101 (fstest): Mount crypto if requested.
10102 (options): New option -C.
10103 (argp_parser): Parse -C.
10104 (main): Init and fini gcry.
10105 * util/grub-install.in: Support cryptodisk install.
10106 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
10107 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
10108 cryptodisk.
10109 (prepare_grub_to_access_device): Likewise.
10110 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
10111 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
10112 (probe_cryptodisk_uuid): New function.
10113 (probe_abstraction): Likewise.
10114 (probe): Use new functions.
10115 * util/import_gcry.py: Create Makefile.utilgcry.def.
10116 Add modname member.
10117
9bfdcbbc
VS
101182011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
10119
10120 Lazy device scanning.
10121
10122 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
10123 (grub-setup): Remove util/raid.c.
10124 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
10125 * grub-core/disk/lvm.c (scan_depth): New variable.
10126 (grub_lvm_iterate): Rescan if necessary.
10127 (find_lv): New function based on grub_lvm_open.
10128 (grub_lvm_open): Use find_lv. Rescan on error.
10129 (is_node_readable): New function.
10130 (is_lv_readable): Likewise.
10131 (grub_lvm_scan_device): Skip already found disks.
10132 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
10133 Stop if searched device is found and readable.
10134 * grub-core/disk/raid.c (inscnt): New variable.
10135 (scan_depth): Likewise.
10136 (scan_devices): New function based on grub_raid_register. Abort if
10137 looked for device is found.
10138 (grub_raid_iterate): Rescan if needed.
10139 (find_array): NEw function based on -grub_raid_open.
10140 (grub_raid_open): Use find_array and rescan.
10141 (insert_array): Set became_readable_at.
10142 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
10143 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
10144 New function.
10145 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
10146 (grub_util_pull_device): New function.
10147 (grub_util_get_grub_dev): Call grub_util_pull_device.
10148 * util/raid.c: Moved to ..
10149 * grub-core/kern/emu/raid.c: ... here.
10150 (grub_util_raid_getmembers): New parameter "bootable".
10151 All users updated. Support 1.x.
10152 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
10153 All users updated.
10154 * include/grub/disk.h (grub_disk_pull_t): New enum.
10155 (grub_disk_dev): Change iterate prototype.
10156 All users updated.
10157 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
10158 New proto.
10159 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
10160 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
10161 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
10162 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
10163 All users updated.
10164 * include/grub/util/raid.h: Removed.
10165
1c358e59
VS
101662011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
10167
10168 * po/POTFILES.in: Regenerate.
10169
abee94ed
VS
101702011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
10171
10172 Unify sparc init with other ieee1275.
10173
10174 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
10175 instead of kern/sparc64/ieee1275/init.c.
10176 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
10177 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
10178 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
10179 grub/machine/kernel.h.
10180 (grub_ieee1275_original_stack) [__sparc__]: New variable.
10181 (grub_claim_heap) [__sparc__]: Use sparc version.
10182 (grub_machine_init): Moved args parsing to
10183 (grub_parse_cmdline): ...this.
10184 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
10185 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
10186 New definition.
10187 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
10188
10189 Move BOOTP to separate file.
10190
10191 * grub-core/Makefile.core.def (net): Add net/bootp.c.
10192 * grub-core/net/net.c: Move all BOOTP functions to
10193 * grub-core/net/bootp.c: ... here.
10194
10195 Use frame interface on PXE.
10196
10197 * grub-core/Makefile.core.def (pxecmd): Removed.
10198 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
10199 * grub-core/commands/i386/pc/pxecmd.c: Removed.
10200 * grub-core/i386/pc/pxe.c: Moved from here ...
10201 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
10202 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
10203 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
10204
10205 EFI network support.
10206
10207 * grub-core/Makefile.core.def (efinet): New module.
10208 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
10209 here...
10210 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
10211 All users updated.
10212 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
10213 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
10214 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
10215 * grub-core/net/drivers/efi/efinet.c: New file.
10216 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
10217 (grub_efi_net_config): New extern var.
10218
10219 Various cleanups and bugfixes.
10220
10221 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
10222 error.
10223 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
10224 disk declared as partition.
10225 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
10226 leak on failure.
10227 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
10228 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
10229 (grub_debug_zalloc): Likewise.
10230 (grub_debug_realloc): Likewise.
10231 (grub_debug_memalign): Likewise.
10232 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
10233 Check that target is IPv4.
10234 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
10235 local-mac-address as fallback.
10236 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
10237 memory leak.
10238 * grub-core/net/ip.c (ipchksum): Rename to ...
10239 (grub_net_ip_chksum): ... this. All users updated.
10240 (grub_net_recv_ip_packets): Special handling for DHCP.
10241 * util/grub-mkimage.c (generate_image): Zero-out aout header.
10242
10243 Unify prefix handling
10244
10245 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
10246 (grub_machine_get_bootlocation): ... this.
10247 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
10248 (grub_machine_get_bootlocation): ... this.
10249 (grub_prefix): New variable.
10250 (prefix): Removed.
10251 (root_dev): New variable.
10252 (dir): Likewise.
10253 (main): Use new variables.
10254 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
10255 Revamped into ...
10256 (grub_machine_get_bootlocation): ... this.
10257 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
10258 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
10259 (grub_machine_get_bootlocation): ... this.
10260 (grub_machine_set_prefix): Removed.
10261 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
10262 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
10263 Revamped into ...
10264 (grub_machine_get_bootlocation): ... this.
10265 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
10266 (grub_set_prefix_and_root): ... this. All users updated.
10267 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
10268 Revamped into ...
10269 (grub_machine_get_bootlocation): ... this.
10270 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
10271 (grub_machine_get_bootlocation): New proto.
10272 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
10273
10274 Less intrusive and more reliable seek on network implementation.
10275
10276 * grub-core/kern/file.c (grub_file_net_seek): Removed.
10277 (grub_file_seek): Don't call grub_file_net_seek.
10278 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
10279 (grub_net_fs_read_real): .. this.
10280 (grub_net_seek_real): Use net->offset.
10281 (grub_net_fs_read): Seek if necessary.
10282
10283 Unify IEEE1275 netwotk config with the other platforms.
10284
10285 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
10286 New variable.
10287 (grub_machine_get_bootlocation): Support network.
10288 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
10289 Support type and device parsing.
10290 (grub_ieee1275_get_device_type): New function.
10291 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
10292 into ...
10293 (grub_ieee1275_net_config_real): ... this.
10294 (grub_ofnet_probecards): Removed.
10295 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
10296 * include/grub/ieee1275/ofnet.h: Removed.
10297 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
10298 extern var.
10299 (grub_ieee1275_get_device_type): New function.
10300
10301 Unify network device closing across platforms and make more robust.
10302
10303 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
10304 grub_grubnet_fini.
10305 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
10306 already.
10307 * grub-core/net/net.c (grub_net_network_level_interface_register):
10308 Update num_ifaces.
10309 (grub_net_card_unregister): Close all interfaces.
10310 (receive_packets): Don't poll if no iterfaces are registered.
10311 Open if necessary.
10312 (grub_net_fini_hw): New function.
10313 (grub_net_restore_hw): Likewise.
10314 (fini_hnd): New variable.
10315 (GRUB_MOD_INIT): Register preboot hook.
10316 (GRUB_MOD_FINI): Run and unregister preboot hook.
10317
10318 Poll network cards when idle.
10319
10320 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
10321 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
10322 * grub-core/net/net.c (receive_packets): Save last poll time.
10323 (grub_net_poll_cards_idle_real): New function.
10324 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
10325 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
10326 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
10327
10328 Rename ofnet interfaces.
10329
10330 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
10331 (grub_ofnet_findcards): Use ofnet_%s names.
10332
10333 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
10334
10335 Cleanup socket opening.
10336
10337 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
10338 (grub_net_fs_close): Likewise.
10339 (grub_net_fs_read_real): Use eof member.
10340 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
10341 (+grub_net_udp_close): New inline function.
10342
10343 * include/grub/net/tftp.h: Moved to the top of ...
10344 * grub-core/net/tftp.c: ... here.
10345 * include/grub/net/ip.h: Moved mostly to the top of ...
10346 * grub-core/net/ip.c: ... here.
10347 * include/grub/net/ethernet.h: Moved mostly to the top of ...
10348 * grub-core/net/ethernet.c: ... here.
10349
10350 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
10351
10352 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
10353 FS name.
10354
10355 * include/grub/net/ip.h (ipv4_ini): Removed.
10356 (ipv4_fini): Likewise.
10357
10358 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
10359 (grub_net_send_ip_packets): Likewise.
10360
cf1337aa
VS
103612011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10362
10363 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
10364 grub_read_cmos prototype.
10365
93c06ff9
VS
103662011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10367
10368 VGA text support in qemu-mips
10369
10370 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
10371 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
10372 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
10373 text.
10374 * grub-core/kern/i386/qemu/init.c: Renamed to ...
10375 * grub-core/kern/vga_init.c: ... this.
10376 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
10377 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
10378 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
10379 Adjust.
10380 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
10381 GRUB_MACHINE_PCI_IO_BASE.
10382
748ccabe
VS
103832011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10384
10385 MIPS qemu flash support.
10386
10387 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
10388 magic.
10389 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
10390 (grub_machine_init): Probe memory if its size isn't known.
10391 * util/grub-mkimage.c (image_targets): Add flash targets.
10392 (generate_image): Handle flash targets.
10393
d7345994
VS
103942011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10395
10396 MIPS qemu at_keyboard support.
10397
10398 * gentpl.py (videoinkernel): Add qemu-mips.
10399 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
10400 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
10401 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
10402 modules.
10403 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
10404 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
10405 * grub-core/term/serial.c (grub_serial_register)
10406 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
10407
a07a81b3
VS
104082011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10409
10410 CMOS support on sparc.
10411
10412 * gentpl.py (cmos): Add powerpc and sparc.
10413 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
10414 powerpc and sparc.
10415 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
10416 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
10417 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
10418 grub_set_datetime_cmos.
10419 * grub-core/lib/ieee1275/cmos.c: New file.
10420 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
10421 (find_rtc): Set no_ieee1275_rtc on error.
10422 (grub_get_datetime): Call grub_get_datetime_cmos on error.
10423 (grub_set_datetime): Call grub_set_datetime_cmos on error.
10424 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
10425 fail. Move value to argument. All users updated
10426 (grub_cmos_write): Likewise.
10427 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
10428 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
10429 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
10430 grub_get_datetime_cmos and grub_set_datetime_cmos.
10431
77546584
GS
104322011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
10433
10434 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
10435 sourcing grub-mkconfig_lib.
10436 * util/update-grub_lib.in: Likewise.
10437 * util/grub.d/00_header.in: Likewise.
10438 * util/grub.d/10_hurd.in: Likewise.
10439 * util/grub.d/10_kfreebsd.in: Likewise.
10440 * util/grub.d/10_linux.in: Likewise.
10441 * util/grub.d/10_netbsd.in: Likewise.
10442 * util/grub.d/10_windows.in: Likewise.
10443 * util/grub.d/20_linux_xen.in: Likewise.
10444 * util/grub.d/30_os-prober.in: Likewise.
10445
54894791
CW
104462011-06-28 Colin Watson <cjwatson@ubuntu.com>
10447
10448 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
10449 default_bg_color rather than black.
10450 (grub_gfxterm_fullscreen): Likewise.
10451 (grub_gfxterm_background_color_cmd): Save new background color in
10452 default_bg_color.
10453
8d5d8444
VS
104542011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10455
10456 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
10457
5afeb5bd
VS
104582011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10459
10460 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
10461 mismerge.
10462
ba7df45e
VS
104632011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10464
10465 Chainloading on coreboot support.
10466
10467 * grub-core/Makefile.core.def (chain): Add coreboot.
10468 * grub-core/loader/i386/coreboot/chainloader.c: New file.
10469
d0b526b2
VS
104702011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10471
10472 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
10473 if it happens.
10474
5ff1d945
VS
104752011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10476
10477 Implement time command.
10478
10479 * grub-core/Makefile.core.def (time): New module.
10480 * grub-core/commands/time.c: New file.
10481 * grub-core/script/parser.y: Remove "time" keyword.
10482 * grub-core/script/yylex.l: Likewise.
10483
5ebaad7e
VS
104842011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10485
10486 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
10487
bdea3798
VS
104882011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10489
10490 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
10491 when handling leftovers.
10492
b28c5655
VS
104932011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10494
10495 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
10496 so that help2man doesn't fail.
10497
b6f945dc
VS
104982011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10499
10500 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
10501 type in pointers on sparc64.
10502 (get_card_packet): Likewise.
10503
f9b75e8a
CW
105042011-06-27 Colin Watson <cjwatson@ubuntu.com>
10505
10506 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
10507 with `*'.
10508 (grub_cmd_videoinfo): Fetch current video mode.
10509
1e3d9b86
VS
105102011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10511
10512 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
10513 because of underlying system restrictions.
10514
efff4b1c
VS
105152011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10516
10517 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
10518 necessary.
10519
9fc9ce37
VS
105202011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10521
10522 Coreboot video support.
10523
10524 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
10525 (vbe): Likewise.
10526 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
10527 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
10528 here ...
10529 * grub-core/kern/i386/int.S: ... here.
10530 * grub-core/video/i386/pc/vbe.c: Updated includes.
10531 * grub-core/video/i386/pc/vga.c: Likewise.
10532 * include/grub/i386/coreboot/memory.h
10533 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
10534 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
10535 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
10536 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
10537 Disable interrupts.
10538 * include/grub/i386/pc/vga.h: Removed. All users updated.
10539
41bec7fe
VS
105402011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10541
10542 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
10543 definitions for dprintf.
10544 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
10545
ca80309d
VS
105462011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10547
10548 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
10549 prototype.
10550 (get_card_packet): Likewise.
10551
9e322ce8
YB
105522011-06-26 Yves Blusseau <blusseau@zetam.org>
10553
10554 Display the path of the file when file is not found
10555
10556 * grub-core/fs/fat.c: Display the filename when file is not found.
10557 * grub-core/fs/fshelp.c: Likewise.
10558 * grub-core/fs/hfs.c: Likewise.
10559 * grub-core/fs/jfs.c: Likewise.
10560 * grub-core/fs/minix.c: Likewise.
10561 * grub-core/fs/ufs.c: Likewise.
10562 * grub-core/fs/btrfs.c: Likewise.
10563 * grub-core/commands/i386/pc/play.c: Likewise.
10564
cbf597af
SJ
105652011-06-26 Szymon Janc <szymon@janc.net.pl>
10566
10567 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
10568 pointer checks before calling grub_free().
10569 * grub-core/commands/wildcard.c (match_devices): Likewise.
10570 * grub-core/commands/wildcard.c (match_files): Likewise.
10571 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
10572 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
10573 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
10574 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
10575 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
10576 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
10577 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
10578 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
10579 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
10580
6295b32f
P
105812011-06-25 Patrick <p55@mailinator.com>
10582
10583 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
10584
77c0840b
VS
105852011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
10586
10587 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
10588 (grub_pxe_send): Likewise.
10589 (GRUB_MOD_INIT): Fix types.
10590
40ea05de
SJ
105912011-06-24 Szymon Janc <szymon@janc.net.pl>
10592
10593 * grub-core/io/xzio.c: Fix code style issues
10594
90162423
MRA
105952011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
105962011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
10597
10598 Network infrastructure.
10599 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
10600
10601 * include/grub/net/arp.h: New file.
90162423
MRA
10602 * include/grub/net/device.h: Likewise.
10603 * include/grub/net/ethernet.h: Likewise.
10604 * include/grub/net/ip.h: Likewise.
10605 * include/grub/net/netbuff.h: Likewise.
10606 * include/grub/net/tftp.h: Likewise.
10607 * include/grub/net/udp.h: Likewise.
10608 * include/grub/ieee1275/ofnet.h: Likewise.
10609 * include/grub/emu/export.h: Likewise.
10610 * include/grub/net.h: Likewise.
10611 * grub-core/net/arp.c: Likewise.
10612 * grub-core/net/ethernet.c: Likewise.
10613 * grub-core/net/ip.c: Likewise.
10614 * grub-core/net/udp.c: Likewise.
10615 * grub-core/net/tftp.c: Likewise.
10616 * grub-core/net/netbuff.c: Likewise.
10617 * grub-core/net/net.c: Likewise.
10618 * grub-core/net/drivers/emu/emunet.c: Likewise.
10619 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
10620 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
10621 export.h.
10622 * grub-core/Makefile.core.def (net): New module.
10623 (tftp): Likewise.
10624 (ofnet): Likewise.
10625 (emunet): Likewise.
10626 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
10627 network protocols.
10628 * grub-core/kern/device.c (grub_net_open) : New variable.
10629 (grub_device_open): Handle network device.
10630 (grub_device_close): Likewise.
10631 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
10632 (grub_grubnet_fini): Likewise.
10633 (grub_file_seek): Seek in network device.
10634 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
10635 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
10636 network root.
10637 (grub_machine_fini): Call grub_grubnet_fini.
10638 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
10639 network.
10640 (grub_ieee1275_get_aliasdevname): New function.
10641 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
10642 Add unofficial Solaris network info.
10643 (grub_multiboot_make_mbi): Likewise.
10644 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
10645 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
10646 * include/grub/device.h (grub_fs): Removed.
10647 * include/grub/err.h (grub_err_t): Add network-related values.
10648 * include/grub/i386/pc/pxe.h: Removed bootp parts.
10649 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
10650 (grub_ieee1275_get_aliasdevname): New proto.
10651 * include/grub/net.h: Rewritten.
423a1849 10652
031f22a0
VS
106532011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10654
10655 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
10656 names.
10657
4388ca72
VS
106582011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10659
10660 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
10661 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
10662 it truncates the output.
10663 Reported by: Ximin Luo.
10664
98e2f506
VS
106652011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10666
10667 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
10668
2a5e94d8
VS
106692011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10670
10671 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
10672 partmap before abstraction.
10673
535c1910
AK
106742011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
10675
10676 * util/grub-mkconfig_lib.in: Add missing quotes.
10677
bc09e1a2
VS
106782011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10679
10680 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
10681 old method if mountinfo would return /dev/root and /dev/root doesn't
10682 exist.
10683
290766fb
VS
106842011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10685
10686 ZFS zlib support
10687
10688 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
10689 (decomp_table): Add zlib entries.
10690 (zio_read): USe 8 bits for compression function rather than 3.
10691 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
10692
106932011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10694
10695 * grub-core/disk/ahci.c: Add missing license statements.
10696 * grub-core/fs/romfs.c: Likewise.
10697 * grub-core/lib/ia64/setjmp.S: Likewise.
10698 * grub-core/loader/i386/pc/freedos.c: Likewise.
10699 * grub-core/loader/ia64/efi/linux.c: Likewise.
10700 * grub-core/video/colors.c: Likewise.
10701 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
10702
5ab3f48a
VS
107032011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10704
10705 AHCI support.
10706
10707 * grub-core/Makefile.core.def (ata_pthru): Removed.
10708 (ahci): New module.
10709 (pata): Likewise.
10710 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
10711 on unload.
10712 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
10713 readwrite.
10714 (grub_hdparm_do_check_powermode_cmd): Likewise.
10715 (grub_hdparm_do_smart_cmd): Likewise.
10716 (grub_hdparm_set_val_cmd): Likewise.
10717 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
10718 * grub-core/disk/ahci.c: New file.
10719 * grub-core/disk/ata.c: Factor out the low-level part into ...
10720 * grub-core/disk/pata.c: ... here.
10721 * grub-core/disk/ata_pthru.c: Contents moved to ...
10722 * grub-core/disk/pata.c: ... here.
10723 * grub-core/disk/scsi.c (grub_scsi_names): New array.
10724 (grub_scsi_iterate): Use grub_scsi_names.
10725 (grub_scsi_open): Likewise.
10726 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
10727 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
10728 (grub_ata_regs_t): New struct.
10729 (grub_disk_ata_pass_through_parms): Likewise.
10730 (grub_ata_device): Renamed to ...
10731 (grub_ata): ... this.
10732 (grub_ata_dev): New struct.
10733 Removed all low-level inline functions.
10734 * include/grub/scsi.h: Add PATA and AHCI subsystems.
10735 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
10736 iterate hooks and open. All users updated.
10737 * util/grub-install.in: Handle AHCI disk module.
10738
c31dc5f5
SJ
107392011-06-23 Szymon Janc <szymon@janc.net.pl>
10740
10741 Add support for DRI and RSTn markers in JPEG files.
10742
10743 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
10744 (JPEG_MARKER_RST0): Likewise.
10745 (JPEG_MARKER_RST1): Likewise.
10746 (JPEG_MARKER_RST2): Likewise.
10747 (JPEG_MARKER_RST3): Likewise.
10748 (JPEG_MARKER_RST4): Likewise.
10749 (JPEG_MARKER_RST5): Likewise.
10750 (JPEG_MARKER_RST6): Likewise.
10751 (JPEG_MARKER_RST7): Likewise.
10752 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
10753 (grub_jpeg_decode_dri): New function.
10754 (grub_jpeg_decode_sos): Move image data related part into
10755 grub_jpeg_decode_data function.
10756 (grub_jpeg_decode_data): New function.
10757 (grub_jpeg_reset): New function.
10758 (grub_jpeg_decode_jpeg): Handle new markers.
10759
fe12fd5b
VS
107602011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10761
10762 * util/ieee1275/ofpath.c (check_sas): Close fd.
10763 (main): Free of_path.
10764 Reported by: David Volgyes <dvolgyes>.
10765
03147f46
VS
107662011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10767
10768 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
10769 Reported by: David Volgyes <dvolgyes>.
10770
cad3237f
VS
107712011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10772
10773 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
10774 file after stat.
10775 Reported by: David Volgyes <dvolgyes>.
10776
13548d26
VS
107772011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10778
10779 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
10780
10781 Reported by: David Volgyes <dvolgyes>.
10782
e061a1b5
VS
107832011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10784
10785 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
10786 Prevent memory leak.
10787
1abe47dc
VS
107882011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10789
10790 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
10791 (main): Close file.
e061a1b5 10792 Reported by: David Volgyes <dvolgyes>.
1abe47dc 10793
fbc62666
VS
107942011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10795
10796 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
10797 to continue if allocation is failed.
10798
10799 Reported by: David Volgyes <dvolgyes>.
10800
e98c83e9
DV
108012011-06-23 David Volgyes <dvolgyes>
10802
10803 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
10804 dereference.
10805
a199a8cd
VS
108062011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10807
10808 Fix spurious warning.
10809
10810 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
10811 (acorn_partition_map_find): Use .bin member.
10812
e2d1dba0
VS
108132011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10814
10815 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
10816 /dev/root as a valid device.
10817
8a5d6919
JM
108182011-06-23 Jim Meyering <meyering@redhat.com>
10819
e2d1dba0
VS
10820 Avoid NULL deref in grub_device_open.
10821
8a5d6919
JM
10822 * grub-core/kern/device.c (grub_device_open): Don't dereference
10823 a NULL pointer upon failed grub_env_get.
10824
f7db6f4a
VS
108252011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10826
10827 Support non-512B sectors and agglomerate reads.
10828
10829 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
10830 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
10831 (disk_io_guid): Removed.
10832 (make_devices): Locate solely by BlockIO.
10833 (grub_efidisk_open): Fill log_sector_size and total_sectors.
10834 (grub_efidisk_read): Use read_blocks.
10835 (grub_efidisk_write): Use write_blocks.
10836 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
10837 log_sector_size.
10838 (get_safe_sectors): Handle non-512B sectors.
10839 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
10840 sectors.
10841 (grub_biosdisk_write): Handle non-512B sectors.
10842 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
10843 (grub_scsi_read): Remove special non-512B block handling (now handled
10844 one level up).
10845 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
10846 and do sanity checks.
10847 (grub_disk_adjust_range): Handle non-512B sectors.
10848 (transform_sector): New function.
10849 (grub_disk_read_small): Likewise.
10850 (grub_disk_read): Rewritten.
10851 (grub_disk_write): Handle non-512B sectors.
10852 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
10853 log_sector_size.
10854 (open_device): Use log_sector_size.
10855 (grub_util_biosdisk_read): Likewise.
10856 (grub_util_biosdisk_write): Likewise.
10857 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
10858 non-512B sectors.
10859 (pc_partition_map_embed): Likewise.
10860 * include/grub/disk.h (grub_disk): New field log_sector_size.
10861 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
10862 (GRUB_DISK_CACHE_BITS): Increased to 6.
10863 * util/grub-fstest.c (fstest): New command testload.
10864 (argp_parser): Likewise.
10865
881ac815
RM
108662011-06-16 Robert Millan <rmh@gnu.org>
10867
10868 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
10869 `ata' driver on kernel of FreeBSD 9.
10870
10871 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
10872 (get_ataraid_disk_name): New functions.
10873 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
10874 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
10875 get_ataraid_disk_name() and get_ada_disk_name().
10876
1e9aef7d
CW
108772011-06-13 Colin Watson <cjwatson@ubuntu.com>
10878
10879 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
10880 input format.
10881
351c7c8a
CW
108822011-05-29 Colin Watson <cjwatson@ubuntu.com>
10883
10884 * docs/grub.texi (Obtaining and Building GRUB): Substitute
10885 `ftp.gnu.org' for `alpha.gnu.org'.
10886
6b4e6430
CW
108872011-05-27 Colin Watson <cjwatson@ubuntu.com>
10888
10889 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
10890 partitions under /dev/disk/by-id/.
10891
c64db050
CW
108922011-05-27 Colin Watson <cjwatson@ubuntu.com>
10893
10894 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
10895 after ten consecutive open failures. Scanning all the way up to
10896 10000 is excessive and can cause serious performance problems in
10897 some configurations.
10898 Fixes Ubuntu bug #787461.
10899
245f4aba
VS
109002011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10901
10902 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
10903 opening new one.
10904
f767c929
VS
109052011-05-21 Colin Watson <cjwatson@ubuntu.com>
109062011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10907
10908 Don't stat devices unless we have to.
10909
10910 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
10911 dir == /dev/mapper.
10912 (grub_guess_root_device): Use already known os_dev if possible.
10913 * grub-core/kern/emu/hostdisk.c
10914 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
10915 if device is known to be a dm one.
10916
f35fa3a6
CW
109172011-05-20 Colin Watson <cjwatson@ubuntu.com>
10918
10919 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
10920 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
10921 Reported by: Pawel Tecza.
10922
9a79fcf2
VS
109232011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
10924
10925 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
10926 (lsefisystab): Likewise.
10927 (lssal): Likewise.
10928 (lsefimmap): Likewise.
10929 (hdparm): Enable on qemu-mips.
10930 (setjmp): Add ia64 nodist.
10931 (serial): Simplify tags.
10932
63e3eea9
CW
109332011-05-18 Colin Watson <cjwatson@ubuntu.com>
10934
10935 * Makefile.util.def (grub-ofpathname): Install manual page.
10936
09728256
CW
109372011-05-18 Colin Watson <cjwatson@ubuntu.com>
10938
10939 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
10940
8b63a142
CW
109412011-05-18 Colin Watson <cjwatson@ubuntu.com>
10942
10943 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
10944
e775d8ed
VS
109452011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10946
10947 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
10948 into dprintf.
10949
bf947d36
VS
109502011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10951
10952 Use full 64-bit division.
10953
10954 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
10955 (grub_divmod64): ... this.
10956 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
10957 version.
10958
b84f26c5
CW
109592011-05-18 Colin Watson <cjwatson@ubuntu.com>
10960
10961 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
10962 `source'.
10963
5626056f
CW
109642011-05-18 Colin Watson <cjwatson@ubuntu.com>
10965
10966 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
10967 to avoid accidents when debugging with 'sh -x'.
10968 * grub-core/gensyminfo.sh.in: Likewise.
10969 * tests/example_scripted_test.in: Likewise.
10970 * tests/grub_cmd_regexp.in: Likewise.
10971 * tests/grub_script_blanklines.in: Likewise.
10972 * tests/grub_script_dollar.in: Likewise.
10973 * tests/grub_script_expansion.in: Likewise.
10974 * tests/grub_script_final_semicolon.in: Likewise.
10975 * tests/partmap_test.in: Likewise.
10976 * tests/util/grub-shell-tester.in: Likewise.
10977 * tests/util/grub-shell.in: Likewise.
10978
e2965f4a
CW
109792011-05-18 Colin Watson <cjwatson@ubuntu.com>
10980
10981 Move gfxmenu color handling to video, so that gfxterm can use it
10982 too.
10983
10984 * grub-core/gfxmenu/named_colors.c: Move to ...
10985 * grub-core/video/colors.c: ... here. Rename
10986 grub_gui_get_named_color to grub_video_get_named_color.
10987 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
10988 * grub-core/video/colors.c (my_isxdigit): ... here.
10989 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
10990 Move to ...
10991 * grub-core/video/colors.c (parse_hex_color_component): ... here.
10992 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
10993 to ...
10994 * grub-core/video/colors.c (grub_video_parse_color): ... here.
10995
10996 * include/grub/gui.h (grub_gui_color_t): Move to ...
10997 * include/grub/video.h (grub_video_rgba_color_t): ... here.
10998 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
10999 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
11000 * include/grub/gui.h (grub_gui_map_color): Move to ...
11001 * include/grub/video.h (grub_video_map_rgba_color): ... here.
11002 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
11003 to ...
11004 * include/grub/video.h (grub_video_get_named_color): ... here.
11005 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
11006 * include/grub/video.h (grub_video_parse_color): ... here.
11007
11008 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
11009 video/colors.c.
11010 (gfxmenu): Remove gfxmenu/named_colors.c.
11011 (video) [videomodules]: Add video/colors.c.
11012
11013 Add a background_color command.
11014
11015 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
11016 function.
11017 (GRUB_MOD_INIT): Register background_color command.
11018 (GRUB_MOD_FINI): Unregister background_color command.
11019 (redraw_screen_rect): Allow blend/replace of text layer to be
11020 controlled independently from whether there is a background bitmap.
11021 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
11022 changing bitmap.
11023
1e4b4390
VS
110242011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11025
26618ff0
VS
11026 Patch BPB in ntldr and chainloader --bpb.
11027
1e4b4390
VS
11028 * grub-core/fs/fat.c: Include grub/fat.h.
11029 (grub_fat_bpb): Moved to ...
11030 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
11031 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
11032 grub/ntfs.h.
11033 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
11034 Moved from here...
11035 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
11036 here.
11037 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
11038 New function.
11039 (grub_chainloader_cmd): Patch BPB if --bpb is given.
11040 (GRUB_MOD_INIT): Show --bpb.
11041 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
11042 * grub-core/normal/main.c (features): New variable.
11043 (GRUB_MOD_INIT): Set feature_* variables.
11044 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
11045 proto.
11046 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
11047
cf02731e
VS
110482011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11049
11050 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
11051 for cleanness.
11052
e3a1073f
VS
110532011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11054
11055 FreeDOS direct loading support.
11056
11057 * docs/grub.texi (Supported OS): Add FreeDOS.
11058 * grub-core/Makefile.core.def (freedos): New module.
11059 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
11060 variable.
11061 (grub_relocator16_boot): Handle %ebx.
11062 * grub-core/lib/i386/relocator16.S: Likewise.
11063 * grub-core/loader/i386/pc/freedos.c: New file.
11064
05caa461
VS
110652011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11066
11067 Long Linux command line support.
11068
11069 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
11070 (maximal_cmdline_size): New variable.
11071 (allocate_pages): Use maximal_cmdline_size.
11072 (grub_cmd_linux): Set and use maximal_cmdline_size.
11073 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
11074 (allocate_pages): Use maximal_cmdline_size.
11075 (grub_cmd_linux): Set and use maximal_cmdline_size.
11076 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
11077 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
11078 and cmdline_size.
11079
a2491e23
VS
110802011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
110812011-05-18 Colin Watson <cjwatson@ubuntu.com>
11082
11083 Improve devmapper support
11084
11085 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
11086 (grub_util_is_lvm): New function.
11087 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
11088 than lvm if not dmraid.
11089 Handle mapped md nodes.
11090 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
11091 (grub_util_device_is_mapped): ... this. Make always available. All users
11092 updated.
11093 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
11094 (convert_system_partition_to_system_disk): Handle lvm, mpath and
11095 dmraid nodes.
11096 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
11097
6ad6223e
VS
110982011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
11099
11100 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
11101
11102 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
11103 * grub-core/modinfo.sh.in: New file.
11104 * grub-core/Makefile.core.def (modinfo.sh): New script.
11105 * util/grub-mknetdir.in: Use modinfo.sh.
11106 * util/grub-mkrescue.in: Likewise.
11107
543a8f6e
VS
111082011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11109
11110 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
11111 Fix potential usage of Elf32 instead of Elf64 when compiling on
11112 32-bit architecture. Add endianness macros while on it.
11113
4959e111
VS
111142011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11115
11116 Use mipsel- rather than mips- in directories involving mipsel ports to
11117 allow both endiannesses coexist.
11118
11119 * configure.ac: proparate target_cpu=mipsel rather than resetting to
11120 mips. All conditions adjusted.
11121 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
11122 variable.
11123 * util/grub-install.in: Adjust conditions to take renaming into account.
11124 * util/grub-mkimage.c (image_targets): Likewise. New target
11125 mips-qemu_mips-elf for bigendian mips.
11126
35341bbc
VS
111272011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11128
11129 Avoid unnecessary copying on MIPS.
11130
11131 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
11132 early if src == dest.
11133 * util/grub-mkimage.c (generate_image): Arange for src == dest if
11134 compression is none.
11135
b772baed
VS
111362011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11137
11138 Reduce memory footprint on SGI by putting modules before the kernel
11139 as opposed to after.
11140
11141 * grub-core/Makefile.core.def (kernel): Increase linking address.
11142 (none_decompress): Likewise.
11143 (xz_decompress): Likewise.
11144 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
11145 address.
11146 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
11147 layout change.
11148 (grub_arch_modules_addr): New function.
11149 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
11150 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
11151 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
11152 here.
11153 * grub-core/kern/mips/startup.S (total_size): Rename to ...
11154 (grub_total_modules_size): ... this. Make global.
11155 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
11156 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
11157 New definition.
11158 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
11159 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
11160 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
11161 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
11162 * util/grub-mkimage.c (image_target_desc): New flag
11163 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
11164 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
11165 (generate_image): Handle images with modules before kernel.
11166
566a1917
VS
111672011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11168
11169 Prevent potential loss of memory map by overwrite on qemu-mips.
11170
11171 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
11172 Save ram size in $s4.
11173 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
11174 All users changed to grub_arch_memsize.
11175 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
11176 Loongson.
11177 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
11178 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
11179 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
11180 external variable.
11181
5d420cd9
CW
111822011-05-17 Colin Watson <cjwatson@ubuntu.com>
11183
11184 * .bzrignore: Remove grub-dumpbios.
11185
d064b830
CW
111862011-05-17 Colin Watson <cjwatson@ubuntu.com>
11187
11188 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
11189 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
11190 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
11191 existing options which append).
11192 * docs/grub.texi (Simple configuration): Document new options.
11193 Reported by: Ian Jackson. Fixes Debian bug #617538.
11194
3ca2b466
CW
111952011-05-17 Colin Watson <cjwatson@ubuntu.com>
11196
11197 * util/grub-fstest.c (cmd_cat): New function.
11198 (fstest): Handle CMD_CAT.
11199 (options): Add cat.
11200 (argp_parser): Handle cat.
11201
24c9143a
CW
112022011-05-17 Colin Watson <cjwatson@ubuntu.com>
11203
11204 * Makefile.util.def (grub-bin2h): Don't install.
11205 * docs/man/grub-bin2h.h2m: Remove.
11206
90f7ac19
VS
112072011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11208
11209 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
11210 place.
11211
8d4a5178
VS
112122011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11213
11214 Reenable qemu-mips port.
11215
11216 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
11217 Fix small arc bug while on it.
11218 * gentpl.py: Handle qemu_mips.
11219 * grub-core/Makefile.am: Likewise.
11220 * grub-core/Makefile.core.def: Likewise.
11221 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
11222 inappropriate includes.
11223 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
11224 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
11225 * grub-core/kern/main.c (grub_modules_get_end)
11226 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
11227 * grub-core/kern/mips/qemu-mips: Moved to ..
11228 * grub-core/kern/mips/qemu_mips: ... this.
11229 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
11230 (grub_machine_init): Call terminfo_init and serial_init.
11231 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
11232 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
11233 New variable.
11234 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
11235 parameter passing.
11236 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
11237 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
11238 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
11239 * include/grub/mips/qemu_mips/cmos.h: New file.
11240 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
11241 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
11242 Removed.
11243 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
11244 Use correct mips-style address.
11245 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
11246 (GRUB_TICKS_PER_SECOND): Removed.
11247 (grub_get_rtc): Likewise.
11248 (grub_cpu_idle): Likewise.
11249 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
11250 New definition.
11251 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
11252 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
11253 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
11254 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
11255 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
11256 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
11257 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
11258 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
11259
400b9371
VS
112602011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11261
11262 SGI ARCS port.
11263
11264 * Makefile.util.def (libgrubmods.a): Add dvh.c.
11265 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
11266 platforms.
11267 * configure.ac: New target mips-arc.
11268 * gentpl.py: Likewise.
11269 * grub-core/Makefile.am: Likewise.
11270 * grub-core/Makefile.core.def: Likewise.
11271 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
11272 (none_decompress): Likewise.
11273 (lsdev): New module.
11274 (datetime): Use lib/arc/datetime.c on ARC.
11275 (part_dvh): New module.
11276 * grub-core/commands/arc/lsdev.c: New file.
11277 * grub-core/disk/arc/arcdisk.c: Likewise.
11278 * grub-core/kern/mips/arc/init.c: Likewise.
11279 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
11280 aligned addresses.
11281 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
11282 support.
11283 (grub_arch_dl_relocate_symbols): Likewise.
11284 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
11285 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
11286 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
11287 platforms.
11288 * grub-core/lib/arc/datetime.c: New file.
11289 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
11290 pci.h on non-loongson.
11291 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
11292 (grub_linux_boot): Set unused registers to 0.
11293 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
11294 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
11295 * grub-core/mmap/mips/uppermem.c: ...here.
11296 * grub-core/partmap/dvh.c: New file.
11297 * grub-core/term/arc/console.c: Likewise.
11298 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
11299 (grub_terminfo_set_current): Add terminal "arc".
11300 (grub_terminfo_readkey): Support ARC sequences.
11301 * include/grub/arc/arc.h: New file.
11302 * include/grub/arc/console.h: Likewise.
11303 * include/grub/disk.h (grub_disk_dev_id): Add
11304 GRUB_DISK_DEVICE_ARCDISK_ID.
11305 * include/grub/mips/arc/kernel.h: New file.
11306 * include/grub/mips/arc/memory.h: Likewise.
11307 * include/grub/mips/arc/time.h: Likewise.
11308 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
11309 * include/grub/mips/kernel.h (grub_halt): ... here.
11310 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
11311 here...
11312 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
11313 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
11314 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
11315 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
11316 proto.
11317 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
11318 from here ...
11319 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
11320 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
11321 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
11322 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
11323 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
11324 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
11325 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
11326 (grub_phys_addr_t): Moved from here ...
11327 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
11328 (grub_vtop): Moved from here ...
11329 * include/grub/mips/memory.h (grub_vtop): ... here.
11330 (grub_map_memory): Moved from here ...
11331 * include/grub/mips/memory.h (grub_map_memory): ... here.
11332 (grub_unmap_memory): Moved from here ...
11333 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
11334 (grub_machine_mmap_iterate): Moved from here ...
11335 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
11336 (grub_mmap_get_lower): Moved from here ...
11337 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
11338 (grub_mmap_get_upper): Moved from here ...
11339 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
11340 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
11341 here ...
11342 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
11343 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
11344 here ...
11345 * include/grub/mips/time.h (grub_get_rtc): ... here.
11346 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
11347 here ...
11348 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
11349 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
11350 here ...
11351 * include/grub/mips/time.h (grub_cpu_idle): ... here.
11352 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
11353 definition.
11354 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
11355 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
11356 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
11357 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
11358 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
11359 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
11360 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
11361 (GRUB_MACHINE_LINK_ADDR): Likewise.
11362 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
11363 to 6.
11364 * util/grub-install.in: Run dvhtool on ARC.
11365 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 11366 (generate_image): Handle ECOFF output for mips-arc.
400b9371 11367
c8ecc840
VS
113682011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11369
11370 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
11371 blocks.
11372
153a4b55
VS
113732011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11374
11375 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
11376 after enabling port.
11377
ff44d107
VS
113782011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11379
11380 Skip incorrect USB devices.
11381
11382 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
11383 configcnt == 0.
11384 * include/grub/usb.h (grub_usb_err_t): New enum value
11385 GRUB_USB_ERR_BADDEVICE.
11386
638dbe4f
VS
113872011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11388
11389 Fuloong video init support.
11390
11391 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
11392 well.
11393 (grub_vga_read_arx): New function.
11394 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
11395 definition.
11396 (framebuffer): New members io, mmioptr and mmiobase.
11397 (read_sis_cmd): New function.
11398 (write_sis_cmd): Likewise.
11399 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
11400 rather than 640x400.
11401 * grub-core/video/sis315_init.c: New file.
11402
c3fc520c
VS
114032011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11404
11405 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
11406 non-loongson.
11407 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
11408 to grub_dl_register_symbol.
11409
67b1e5c9
VS
114102011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11411
11412 Fix compilation errors.
11413
11414 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
11415 potentially unused.
11416 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
11417 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
11418 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
11419 to loongson machines.
11420
b756f75f
VS
114212011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11422
11423 Several FS mtime support.
11424
11425 * grub-core/fs/affs.c (grub_affs_time): New struct.
11426 (grub_affs_file): New field mtime.
11427 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
11428 type. Removed 'size'. New field 'di'. All users updated.
11429 (grub_affs_mount): Simplify checsum checking.
11430 (grub_affs_iterate_dir): New helper grub_affs_create_node.
11431 (grub_affs_dir): Handle mtime.
11432 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
11433 (grub_cpio_dir): Likewise.
11434 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
11435 (grub_hfs_filerec): New field mtime.
11436 (grub_hfs_dir): Handle mtime.
11437 (grub_hfs_mtime): New function.
11438 (grub_hfs_fs): Register grub_hfs_mtime.
11439 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
11440 (grub_iso9660_dir): New field mtime.
11441 (grub_fshelp_node): New field dirent.
11442 (iso9660_to_unixtime): New function.
11443 (iso9660_to_unixtime2): Likewise.
11444 (grub_iso9660_read_symlink): Use node->dirent.
11445 (grub_iso9660_iterate_dir): Likewise.
11446 (grub_iso9660_dir): Set mtime.
11447 (grub_iso9660_mtime): New function.
11448 (grub_iso9660_fs): Register grub_iso9660_mtime.
11449 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
11450 (grub_jfs_inode): New fields atime, ctime and mtime.
11451 (grub_jfs_dir): Set mtime.
11452 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
11453 * grub-core/fs/ntfs.c (list_file): Set mtime.
11454 (grub_ntfs_dir): Likewise.
11455 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
11456 (grub_reiserfs_iterate_dir): Set mtime.
11457 (grub_reiserfs_dir): Likewise.
11458 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
11459 (grub_fshelp_node): Likewise.
11460 (grub_sfs_iterate_dir): Set mtime.
11461 (grub_sfs_dir): Likewise.
11462 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
11463 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
11464 (grub_xfs_inode): New fields atime, mtime, ctime.
11465 (grub_xfs_dir): Set mtime.
11466 * include/grub/datetime.h (grub_datetime2unixtime): New function.
11467 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
11468 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
11469
11470 Support UDF symlinks.
11471
11472 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
11473 (grub_ufs_read_symlink): New function. All users updated.
11474
11475 Check amiga partmap checksum.
11476
11477 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
11478 (grub_amiga_partition): Likewise.
11479 (amiga_partition_map_checksum): New function.
11480 (amiga_partition_map_iterate): Check checksum.
11481
5470225d
VS
114822011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11483
11484 ROMFS support.
11485
11486 * Makefile.util.def (libgrubmods.a): Add romfs.
11487 * grub-core/Makefile.core.def (romfs): New module.
11488 * grub-core/fs/romfs.c: New file.
11489
d4680a35
VS
114902011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11491
11492 Squashfs v4 support.
11493
11494 * Makefile.util.def (libgrubmods.a): Add squash4.
11495 * grub-core/Makefile.core.def (squash4): New module.
11496 * grub-core/fs/squash4.c: New file.
11497 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
11498 disk_input_start, disk_input.
11499 (get_byte): Handle disk_input.
11500 (grub_zlib_disk_read): New function.
11501 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
11502
bcb18e74
FZ
115032011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
115042011-05-15 Feiran Zheng <famcool@gmail.com>
11505
11506 * Makefile.util.def (libgrubmods.a): Add minix3.
11507 * grub-core/Makefile.core.def (minix3): New module.
11508 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
11509 (GRUB_MINIX_BSIZE): Removed.
11510 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
11511 (grub_minix_ino_t): New type.
11512 (grub_minix_le_to_cpu_ino): New macro.
11513 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
11514 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
11515 (grub_minix_data): New field block_size.
11516 (grub_minix_read_file): Handle 64-bit correctly.
11517 * grub-core/fs/minix3.c: New file.
11518
32297d5f
TG
115192011-05-15 Tristan Gingold <gingold@free.fr>
115202011-05-15 Robert Millan <rmh.grub@aybabtu.com>
115212011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11522
11523 IA64 support.
11524
11525 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
11526 * configure.ac: Add ia64-efi target.
11527 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
11528 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
11529 * gentpl.py: Add ia64_efi platform.
11530 Rename x86_efi to efi and Add ia64-efi. All users updated.
11531 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
11532 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
11533 Remove kern/generic/rtc_get_time_ms.c on EFI.
11534 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
11535 kern/ia64/dl_helper.c on ia64-efi.
11536 Add kern/emu/cache.c on emu.
11537 (linux): Use on loader/ia64/efi/linux.c on ia64.
11538 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
11539 whether symbol is a function.
11540 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
11541 (grub_symbol): New field 'isfunc'.
11542 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
11543 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
11544 (grub_dl_load_segments): Place all sections into the same region.
11545 [__ia64__]: Create trampolines and got.
11546 [GRUB_MACHINE_EMU]: Call mprotect.
11547 (grub_dl_resolve_symbols): Resolve symbol type as well.
11548 [__ia64__]: Create function descriptors.
11549 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
11550 (grub_rtc_get_time_ms): ... this. Expressions simplified.
11551 (grub_get_rtc): New function.
11552 * grub-core/kern/emu/cache.c [__ia64__]: New file.
11553 * grub-core/kern/emu/cache.S: Renamed to ...
11554 * grub-core/kern/emu/cache_s.S: ... this.
11555 [__ia64__]: Add a nop.
11556 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
11557 [__ia64__]: New function.
11558 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
11559 * grub-core/kern/ia64/dl.c: New file.
11560 * grub-core/kern/ia64/dl_helper.c: Likewise.
11561 * grub-core/kern/ia64/efi/init.c: New file.
11562 * grub-core/kern/ia64/efi/startup.S: Likewise.
11563 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
11564 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
11565 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
11566 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
11567 * grub-core/loader/ia64/efi/linux.c: New file.
11568 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
11569 (GRUB_MOD_DEP): Likewise.
11570 (grub_dl) [__ia64__]: New fields got and tramp.
11571 (grub_dl): New field 'base'.
11572 (grub_dl_register_symbol): New argument isfunc. All users updated.
11573 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
11574 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
11575 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
11576 (grub_ia64_dl_get_tramp_got_size): New proto.
11577 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
11578 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
11579 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
11580 * include/grub/efi/api.h: Skip call wrappers on ia64.
11581 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
11582 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
11583 * include/grub/elf.h (ELF_ST_INFO): New definition.
11584 * include/grub/ia64/efi/kernel.h: New file.
11585 * include/grub/ia64/efi/memory.h: Likewise.
11586 * include/grub/ia64/efi/time.h: Likewise.
11587 * include/grub/ia64/kernel.h: Likewise.
11588 * include/grub/ia64/setjmp.h: Likewise (from glibc).
11589 * include/grub/ia64/time.h: New file.
11590 * include/grub/ia64/types.h: Likewise.
11591 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
11592 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
11593 New protos.
11594 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
11595 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
11596 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
11597 * util/grub-mkimage.c (image_target_desc): New field pe_target.
11598 All users updated.
11599 (EFI64_HEADER_SIZE): New definition. All users updated.
11600 (image_targets): Add ia64-efi.
11601 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
11602 jumpers_addr. All users updated.
11603 Create function descriptors.
11604 (count_funcs): New function.
11605 (unaligned_uint32): New struct.
11606 (MASK20): New definition.
11607 (MASK19): Likewise.
11608 (MASKF21): Likewise.
11609 (add_value_to_slot_20b): New function.
11610 (add_value_to_slot_21_real): Likewise.
11611 (add_value_to_slot_21): Likewise.
11612 (ia64_kernel_trampoline): New struct.
11613 (nopm): New variable.
11614 (jump): Likewise.
11615 (make_trampoline): New function.
11616 (relocate_addresses): Handle ia64.
11617 (make_reloc_section): Likewise.
11618 (load_image): Likewise.
11619
983b414d
VS
116202011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11621
11622 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
11623 warning. Move variables before code while on it.
11624
5d063cdc
VS
116252011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11626
11627 Fuloong support.
11628
11629 * configure.ac: Rename yeeloong platform to loongson. All users updated.
11630 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
11631 * grub-core/boot/mips/loongson/fuloong.S: New file.
11632 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
11633 Explicitly init CS5536.
11634 [FULOONG]: Don't use serial until CS5536 is available.
11635 Set GPIO based on dumps.
11636 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
11637 [FULOONG]: Handle GPIO and memory controller differences.
11638 Parse machine type in $a2.
11639 * grub-core/boot/mips/startup_raw.S: Determine and save the
11640 architecture.
11641 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
11642 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
11643 init on architecture type.
11644 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
11645 SIS315E. Don't init at_keyboard on fuloong.
11646 (grub_halt): Support Fuloong.
11647 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
11648 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
11649 (loongson_machtypes): New array.
11650 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
11651 type.
11652 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
11653 config. All users updated. Handle CS5536 serial.
11654 * grub-core/term/serial.c (grub_serial_register): Conditionalise
11655 default port on machine type. Register serial as inactive.
11656 * grub-core/video/sis315pro.c: New file.
11657 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
11658 definition.
11659 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
11660 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
11661 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
11662 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
11663 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
11664 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
11665 to ...
11666 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
11667 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
11668 definition.
11669 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
11670 (grub_arch_machine): New extern var.
11671 * include/grub/mips/loongson/serial.h
11672 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
11673 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
11674 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
11675 (GRUB_MACHINE_SERIAL_PORT0): ... this.
11676 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
11677 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
11678 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
11679 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
11680 * include/grub/term.h (grub_term_register_input_inactive): New inline
11681 function.
11682 (grub_term_register_output_inactive): Likewise.
11683 * include/grub/video.h (grub_video_driver_id): New value
11684 GRUB_VIDEO_DRIVER_SIS315PRO.
11685 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
11686 New field "names". All users updated.
11687 New field value IMAGE_FULOONG_FLASH.
11688 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
11689
6ada82d1
JU
116902011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
11691
11692 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
11693 and add some clarification.
11694
90c571a4
VS
116952011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11696
11697 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
11698 platforms if kernel is compressed.
11699
de04eecf
VS
117002011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11701
11702 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
11703 unused modules since currently referrence counter isn't reliable and
11704 there isn't much memory to recover there anyway.
11705
57688121
VS
117062011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11707
11708 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
11709 rather than resetting it to allow modules to reference themselves
11710 in init.
11711
3d2c7e35
VS
117122011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11713
11714 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
11715 counter on dependencies since grub_dl_unref already handles this.
11716
b25db218
VS
117172011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11718
11719 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
11720 on error if not already done.
11721
25a45338
VS
117222011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11723
11724 Fix few potential memory misusage.
11725
11726 * grub-core/font/font.c (load_font_index): Don't free char_index to
11727 avoid double free.
b25db218
VS
11728 (grub_font_load): Zero-fill font at alloc for safety.
11729 Close file on error.
11730 (free_font): Free bmp_idx.
25a45338 11731
0cac83df
VS
117322011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11733
11734 * docs/grub.texi (Installation): Fix several outdated claims.
11735
2217a143
VS
117362011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11737
11738 Handle module_license on windows.
11739
11740 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
11741 sections shifted.
11742 (insert_string): Make argument const char * instead of char *.
11743 (write_section_data): Handle long section names.
11744 Handle module_license.
11745
d4de6b01
VS
117462011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11747
11748 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
11749 handle class-free menuentries.
11750 (grub_normal_add_menu_entry): Add a check to be sure.
11751
4c2a3b43
VS
117522011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11753
11754 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
11755 PgUp and PgDown.
11756
85c6210f
VS
117572011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11758
11759 * configure.ac: Bump version to 1.99.
11760
36084912
VS
117612011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11762
11763 Give ATA device a bit more time on first try in order to allow disks
11764 to spin up.
11765
11766 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
11767 if dev->present is 1. Reset dev->present on failure.
11768 (grub_ata_device_initialize): Set dev->present to 1.
11769 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
11770 (grub_ata_device): New member 'present'.
11771
bda0e219
VS
117722011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11773
11774 * util/grub-mkimage.c (generate_image): Update hash.
11775
19e1c41b
VS
117762011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11777
11778 Flush caches on DMA memory.
11779
11780 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
11781 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
11782 (grub_dma_free): Likewise.
11783 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
11784
91bbcc0c
VS
117852011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11786
11787 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
11788 to avoid asm treating ld and sd as macros.
11789
60ddfad3
VS
117902011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11791
11792 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
11793 decompressor.
11794
a298aa04
VS
117952011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11796
11797 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
11798 grub_decompress_core since later would fail if grub_decompress_core
11799 is too far.
11800
9b44feca
VS
118012011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11802
11803 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
11804 R_MIPS_JALR since it's used by newer compiler.
11805
56dbe7b4
VS
118062011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
11807
11808 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
11809
52856af2
VS
118102011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11811
11812 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
11813 file_path to 0 for surety.
11814 (grub_chainloader_boot): Set exit_data to NULL.
11815 Unset the loader once done.
11816 (grub_cmd_chainloader): Fix confusing error message if file is empty.
11817
9c9bfc6d
VS
118182011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11819
11820 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
11821 unknown key into a dprintf.
11822
dd94a3df
VS
118232011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11824
11825 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
11826 on first non-existant partition.
11827
fa68d99c
VS
118282011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11829
11830 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
11831 openning fails.
11832 Reported by: Mark Korenberg.
11833
157effb7
VS
118342011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11835
11836 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
11837 overflow.
11838
ea75312f
VS
118392011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11840
11841 * util/grub-mkimage.c (main): Explicitely flush and sync the output
11842 before closing to ensure that it will be readable by grub-setup.
11843
072b5d31
VS
118442011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11845
11846 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
11847 (devpath_1): Use MAKE_PIWG_PATH.
11848 (devpath_2): Likewise.
11849 (devpath_3): Likewise.
11850 (devpath_4): Likewise.
11851 (devpath_5): Likewise.
11852 (devpath_6): Likewise.
11853
11854 The appleldr.mod was checked that to be binary identical to previous
11855 version.
11856
7fae0051
Z
118572011-05-05 Zach <mikezackles>
11858
11859 Support 2010 Macbooks.
11860
11861 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
11862 (devs): Add devpath_6.
11863
7c515bee
VS
118642011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11865
11866 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
11867 /dev/random. /dev/urandom is good enough for our purposes (salting).
11868
ed660bd8
VS
118692011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11870
11871 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
11872
ee5614b7
VS
118732011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11874
11875 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
11876 hexadecimal.
11877
664889a6
VS
118782011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11879
11880 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
11881 and not 0 on failure.
11882
bd405bbc
CW
118832011-05-03 Colin Watson <cjwatson@ubuntu.com>
11884
11885 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
11886 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
11887 disk; otherwise grub_fs_probe will not fall back to the next
11888 filesystem.
11889 (grub_pxefs_open): Likewise, for consistency.
11890 Reported and tested by: Ezekiel Grave.
11891
4ebff753
CW
118922011-05-03 Colin Watson <cjwatson@ubuntu.com>
11893
11894 * tests/partmap_test.in: Don't hardcode path to parted.
11895 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
11896
8f942553
CW
118972011-05-01 Colin Watson <cjwatson@ubuntu.com>
11898
11899 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
11900 of `ls' to find out which devices are available.
11901
3c62402d
VS
119022011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11903
11904 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
11905 than source address for efi mmap buffer.
11906
723f63f2
VS
119072011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11908
11909 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
11910 wrong action on non-detecting the magic.
11911
68797f92
VS
119122011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11913
11914 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
11915 already supplied by another part of the module (fixes compilation on
11916 FreeBSD).
11917
6be8715d
VS
119182011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11919
11920 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
11921 match the one used by mdadm.
11922
e91dba5b
CW
119232011-04-21 Colin Watson <cjwatson@ubuntu.com>
11924
11925 * po/README: Add instructions for creating po/LINGUAS.
11926
c85140b3
CW
119272011-04-21 Colin Watson <cjwatson@ubuntu.com>
11928
11929 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
11930 #551428.
11931
11932 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
11933 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
11934 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
11935 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
11936 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
11937 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
11938 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
11939 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
11940 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
11941 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
11942 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
11943 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
11944 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
11945 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
11946 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
11947 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
11948 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
11949 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
11950 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
11951 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
11952 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
11953 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
11954
92051871
CW
119552011-04-21 Colin Watson <cjwatson@ubuntu.com>
11956
11957 * grub-core/kern/emu/getroot.c
11958 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
11959 test that was incorrectly reintroduced in r3214.
11960 Reported by: Ian Dall. Fixes Savannah bug #33133.
11961
b13f79a4
CW
119622011-04-21 Colin Watson <cjwatson@ubuntu.com>
11963
11964 Fix stack pointer handling in 16-bit relocator.
11965
11966 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
11967 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
11968 Fixes Ubuntu bug #683904.
11969
9b710a88
VS
119702011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
11971
11972 * configure.ac: Bump version to 1.99~rc2.
11973
d97e7b59
VS
119742011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
11975
11976 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
11977 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
11978 * grub-core/lib/x86_64/setjmp.S: Likewise.
11979 * grub-core/lib/mips/setjmp.S: Likewise.
11980 * grub-core/lib/powerpc/setjmp.S: Likewise.
11981 * grub-core/lib/sparc64/setjmp.S: Likewise.
11982
0624551c
VS
119832011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
11984
11985 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
11986 * grub-core/lib/efi/datetime.c: Likewise.
11987
e8f28d4c
VS
119882011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
11989
11990 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
11991 New function.
11992 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
11993 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
11994 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
11995
bba79a15
VS
119962011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
11997
11998 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
11999 bitmap.
12000 (grub_gfxterm_term_init): Likewise.
12001
abc474ef
VS
120022011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
12003
12004 Take into account the decorations the computing menu entry width.
12005
12006 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
12007 (grub_gfxmenu_create_box): Register get_border_width.
12008 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
12009 if available.
12010 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
12011 get_border_width.
12012
e74b3947
EP
120132011-04-18 Endres Puschner <code@e7p.de>
12014
12015 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
12016 Don't skip first class.
12017
34faa595
VS
120182011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12019
12020 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
12021 chunks.
12022 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
12023
93a777e3
VS
120242011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12025
12026 Complete 64-bit division support.
12027
12028 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
12029 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
12030 * include/grub/misc.h (grub_divmod64): Rename to ...
12031 (grub_divmod64_full): ... this.
12032 (grub_divmod64): New inline function.
12033
a5102d94
VS
120342011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12035
12036 * util/grub-mkimage.c (generate_image): Add forgotten comma.
12037
f3fb7b36
VS
120382011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
12039
12040 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
12041 performing the necessary test.
12042
9ac718b0
VS
120432011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
12044
12045 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
12046 (kfreebsd.elf): Likewise.
12047 (pc-chainloader.elf): Likewise.
12048 (ntldr.elf): Likewise.
12049
50d2cc5a
VS
120502011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
12051
12052 Identify RAID by its UUID rather than (guessed) name.
12053
12054 * grub-core/disk/raid.c (ascii2hex): New function.
12055 (grub_raid_open): Accept mduuid/%s specification.
12056 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
12057 (get_mdadm_uuid): ... this.
12058 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
12059
e03f7bea
VS
120602011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
12061
12062 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
12063 to negative size.
12064
e74c3112
CW
120652011-04-13 Colin Watson <cjwatson@ubuntu.com>
12066
12067 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
12068 btrfs subvolume.
12069 * util/grub.d/20_linux_xen.in: Likewise.
12070
78fa584f
CW
120712011-04-13 Colin Watson <cjwatson@ubuntu.com>
12072
12073 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
12074 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
12075
12076 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
12077 Build a list of relevant visible mounts using the mnt_id and
12078 parent_mnt_id fields, and then scan that list at the end.
12079
9d5f8162
CW
120802011-04-12 Colin Watson <cjwatson@ubuntu.com>
12081
12082 * docs/grub.texi (normal): New section.
12083 (normal_exit): New section.
12084 (Embedded configuration): Add reference to normal.
12085 (GRUB only offers a rescue shell): Likewise.
12086 * docs/grub-dev.texi (Error Handling): Fix typo.
12087
09a9d66f
CW
120882011-04-12 Colin Watson <cjwatson@ubuntu.com>
12089
12090 * NEWS: Drop obsolete entry about probe-only btrfs support.
12091
0c676933
CW
120922011-04-12 Colin Watson <cjwatson@ubuntu.com>
12093
12094 * util/import_gcry.py: Fix typo.
12095
ec9f5e0d
VS
120962011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12097
12098 * NEWS: Add btrfs support.
12099
fe6b2cba
VS
121002011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
121012011-04-11 Colin Watson <cjwatson@ubuntu.com>
12102
12103 BtrFS support. Written by me (Vladimir) with important bugfixes and
12104 even more important testing by Colin.
12105
12106 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
12107 * grub-core/Makefile.core.def (btrfs): Add crc.c.
12108 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
12109 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
12110 mem_input_off and mem_input. All users updated to accept in-RAM input.
12111 (gzio_seek): New function.
12112 (test_zlib_header): Likewise.
12113 (grub_gzio_read): Likewise.
12114 (grub_zlib_decompress): Likewise.
12115 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
12116 Accept partial and non-virtual mounts.
12117 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
12118 avoid receiving /dev/dm-X as device.
12119 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
12120 Handle bind and partial mounts.
12121 * grub-core/lib/crc.c: New file.
12122 * include/grub/deflate.h: Likewise.
12123 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
12124 proto.
12125 * include/grub/lib/crc.h: New file.
12126
e745cf0c
VS
121272011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12128
12129 Implement automatic module license checking according to new GNU
12130 guidelines.
12131
12132 * grub-core/kern/dl.c (grub_dl_check_license): New function.
12133 (grub_dl_load_core): Use grub_dl_check_license.
12134 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
12135 (GRUB_MOD_LICENSE): Likewise.
12136 (GRUB_MOD_DUAL_LICENSE): Likewise.
12137 All modules updated.
12138
2a9bc016
CW
121392011-04-11 Colin Watson <cjwatson@ubuntu.com>
12140
12141 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
12142 reserved_first_sector to 1. btrfs reserves plenty of space for boot
12143 loaders.
12144 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
12145
8a3bc88e
VS
121462011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12147
12148 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
12149
af869a4a
VS
121502011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12151
12152 * util/grub-fstest.c (read_file): Report GRUB error if file opening
12153 failed.
12154
9ee8d94f
VS
121552011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12156
12157 * grub-core/kern/file.c (grub_file_open): Don't take into account the
12158 parenthesis in the middle of the filename.
12159
b01abe3e
VS
121602011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12161
12162 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
12163 rather than trying to put initrd way too high.
12164 Reported by: Ryan Lortie <desrt@desrt.ca>
12165
335bda1e
VS
121662011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12167
12168 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
12169 improperly removed string.
12170
5ca1a64d
VS
121712011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12172
12173 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
12174 is_disk.
12175 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
12176 (open_device) Likewise.
12177 (grub_util_biosdisk_close): Likewise.
d8ce9995 12178 Reported by: Mark Korenberg.
5ca1a64d 12179
cbac5b1e
AK
121802011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
12181
12182 * util/grub-mkconfig_lib.in: Add missing quotes.
12183
088cdb65
CW
121842011-04-10 Colin Watson <cjwatson@ubuntu.com>
12185
12186 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
12187 is NULL.
12188
8b8a81fa
VS
121892011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12190
12191 Dynamically count the number of lines for the lower banner.
12192
12193 * grub-core/normal/menu_entry.c (per_term_screen): New member
12194 num_entries.
12195 (print_down): Use num_entries.
12196 (update_screen): Likewise.
12197 (grub_menu_entry_run): Set num_entries.
12198 * grub-core/normal/menu_text.c (menu_viewer_data): New member
12199 num_entries.
12200 (grub_print_message_indented): Move real part to ...
12201 (grub_print_message_indented_real): ... here. Additional argument
12202 dry_run.
12203 (draw_border): Additional argument num_entries.
12204 (print_message): Additional argument dry_run.
12205 (print_entries): Receive menu viewer data.
12206 (grub_menu_init_page): New argment num_entries.
12207 (menu_text_set_chosen_entry): Use num_entries.
12208 (grub_menu_try_text): Likewise.
12209 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
12210 All users updated.
12211 (grub_ucs4_count_lines): New function.
12212 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
12213 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
12214 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
12215 (grub_term_border_height): Likewise.
12216 (grub_term_num_entries): Likewise.
12217
277f955b
VS
122182011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12219
12220 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
12221 Remove now unused string.
12222
536ce85a
CW
122232011-04-09 Colin Watson <cjwatson@ubuntu.com>
12224
12225 * docs/grub-dev.texi (Finding your way around): Update for 1.99
12226 build system.
12227 (Getting started): GRUB is developed in Bazaar now, not Subversion.
12228
12229 (Comment): Fix typo.
12230 (Getting started): General copy-editing.
12231 (Typical Development Experience): Likewise.
12232 (Error Handling): Likewise.
12233 (Video API): Likewise.
12234
2cf09e32
CW
122352011-04-09 Colin Watson <cjwatson@ubuntu.com>
12236
12237 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
12238 throughout.
12239
1ec652f4
VS
122402011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12241
12242 * util/grub-mkimage.c (main): Handle special naming of yeeloong
12243 directory.
12244
2c583728
CW
122452011-04-08 Colin Watson <cjwatson@ubuntu.com>
12246
12247 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
12248 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
12249 "development".
12250
d7a565e9
VS
122512011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12252
12253 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
12254 grub_strcpy since the lines aren't necessarily 0-terminated.
12255
7c2e4909
VS
122562011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12257
12258 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
12259 root on legacy.
12260
34c09785
VS
122612011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12262
12263 * grub-core/commands/probe.c (options): Argument to set isn't optional.
12264 (GRUB_MOD_INIT): DEVICE isn't optional.
12265
6a6f8058
VS
122662011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12267
12268 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
12269 word on new line if it's too long anyway. Fixes a hang.
12270
2e335e90
VS
122712011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12272
12273 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
12274 const.
12275 * util/grub-setup.c (main): Reuse md device name if available.
12276 * util/raid.c (grub_util_raid_getmembers): Receive device name and
12277 not GRUB name as argument.
12278 Based on patch by: Florian Wagner <fwagner>.
12279
10a7a867
VS
122802011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12281
12282 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
12283 Place mbi on low memory for better compatibility.
12284
7a3d6cd9
VS
122852011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12286
12287 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
12288
18dd6b47
VS
122892011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
122902011-04-08 Colin Watson <cjwatson@ubuntu.com>
12291
12292 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 12293 * conf/Makefile.common: Likewise.
18dd6b47 12294
3c0e3f14
VS
122952011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12296
f7148863
VS
12297 * grub-core/normal/menu.c: Add missing include.
12298
122992011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12300
12301 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 12302
6d1fa41f
MZ
123032011-04-08 Martin Zuther <mzuther@mzuther.de>
12304
12305 * util/grub-mkconfig.in: Ignore emacsen backup.
12306
478182a8
VS
123072011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12308
12309 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
12310 on open.
12311 (grub_util_biosdisk_close): Likewise.
12312
72a89a54
VS
123132011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12314
12315 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
12316 const attribute and use grub_isdigit.
12317
b5ebecfa
A
123182011-04-06 Andrey <dev_null@ukr.net>
12319
12320 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
12321 gcc warning.
12322
7755f66e
VS
123232011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12324
12325 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
12326 useful grub_dprintf's.
12327
461121ff
VS
123282011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12329
12330 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
12331
2a961775
VS
123322011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12333
12334 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
12335
adf594cc
VS
123362011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12337
12338 Output errors if theme loading failed.
12339
12340 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
12341 grub_gfxterm_fullscreen on error paths to ...
12342 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
12343 theme loading error.
12344
665900a3
VS
123452011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12346
12347 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
12348 space for older compilers.
12349 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
12350
a562b479
VS
123512011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12352
12353 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
12354 and report them as not RAID members since they are useless for GRUB.
12355 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
12356
850e9373
VS
123572011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12358
12359 Increase LVM implementation robustness in order not to crash on
12360 configurations like pvmove. Previously code assumed that in some places
12361 only lvs or only pvs are used whereas it seems that they are used
12362 interchangeably.
12363
12364 * grub-core/disk/lvm.c (read_node): New function.
12365 (read_lv): Use read_node.
12366 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
12367 Match volumes only at the end when all lvs are found. Take both
12368 pvs (first) and lvs (second) into account.
12369 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
12370 mirror_* into node_*. All users updated.
12371 (grub_lvm_stripe): Merge this ...
12372 (grub_lvm_mirror): ... and this ...
12373 (grub_lvm_node): ... into this. All users updated.
12374
6f332153
VS
123752011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12376
12377 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
12378 of function to allow further scanning for LVMs.
12379
829ea451
VS
123802011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12381
12382 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
12383 on failed seek as it breaks open fd reusage.
12384
09ceb9a5
VS
123852011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12386
12387 * util/grub-install.in: Add a recommendation to use --recheck before
12388 reporting bugs.
12389
67e11623
VS
123902011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12391
12392 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
12393 are obtained.
12394
caee5efd
VS
123952011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12396
12397 GRUB developper manual based on existing Internals section and
12398 contributions by the various authors with active copyright assignment.
12399
12400 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
12401 * docs/font_char_metrics.png: New file.
12402 * docs/font_char_metrics.txt: Likewise.
12403 * docs/grub-dev.texi: Likewise.
12404 * docs/grub.texi (Internals): Move from here ...
12405 * docs/grub-dev.texi: ... here.
12406
2cccc747
CW
124072011-04-01 Colin Watson <cjwatson@ubuntu.com>
12408
12409 Store the loopback device as data on loopback grub_disk structures,
12410 rather than the file it points to. This fixes use of freed memory
12411 if an existing loopback device is replaced.
12412
12413 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
12414 disk->data, not dev->file.
12415 (grub_loopback_read): Adjust file assignment to match.
12416 Fixes Ubuntu bug #742967.
12417
186ae367
CW
124182011-04-01 Colin Watson <cjwatson@ubuntu.com>
12419
12420 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
12421 when replacing an existing device.
12422
cfed2ad0
VS
124232011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
12424
12425 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
12426 memory corruptions.
12427
12428 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
12429 unsigned.
12430 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
12431 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
12432 (grub_jfs_read_inode): Likewise.
12433 (grub_jfs_opendir): Likewise. Remove now useless casts.
12434 (grub_jfs_getent): Likewise.
12435 Make ino a grub_uint32_t rather than int.
12436 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
12437 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
12438 division and module with bit operations.
12439 (grub_jfs_find_file): Make ino a grub_uint32_t.
12440 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
12441
05d2ed32
CW
124422011-04-01 Colin Watson <cjwatson@ubuntu.com>
12443
12444 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
12445 warning. (This was in fact always initialised before use, but GCC
12446 wasn't smart enough to prove that.)
12447 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
12448
91dc6073
VS
124492011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
12450
12451 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
12452 stack alignment.
12453 (efi_wrap_1): Likewise.
12454 (efi_wrap_2): Likewise.
12455 (efi_wrap_3): Likewise.
12456 (efi_wrap_4): Likewise.
12457 (efi_wrap_5): Likewise.
12458 (efi_wrap_6): Likewise.
12459 (efi_wrap_10): Likewise.
12460 Based on information by: Red Hat/Peter Jones.
12461
a8afc1d1
CW
124622011-03-31 Colin Watson <cjwatson@ubuntu.com>
12463
12464 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
12465 set-but-not-used variable.
12466
a826cc7d
CW
124672011-03-31 Colin Watson <cjwatson@ubuntu.com>
12468
12469 * docs/grub.texi (Simple configuration): Be more explicit about
12470 GRUB_DEFAULT, and add an example.
12471 Reported by: Leslie Rhorer.
12472
875b67ba
CW
124732011-03-30 Colin Watson <cjwatson@ubuntu.com>
12474
12475 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
12476 shell".
12477
fd7cd914
AS
124782011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
12479
12480 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
12481 * util/grub.d/20_linux_xen.in: Likewise.
12482
090b1b6a
VS
124832011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12484
12485 * util/grub.d/10_linux.in: Try alternative config filenames where
12486 we parse config file.
12487 * util/grub.d/20_linux_xen.in: Likewise.
12488
baad885c
AS
124892011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
12490
12491 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
12492 * util/grub.d/20_linux_xen.in: Likewise.
12493
241e41f5
VS
124942011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12495
12496 * grub-core/disk/raid.c (insert_array): Add few potentially
12497 useful grub_util_info.
12498 (grub_raid_register): Likewise.
12499
56445fb2
VS
125002011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12501
12502 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
12503 Preserve partition number in mdadm code path.
12504
c871b1c6
VS
125052011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12506
12507 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
12508 few potentially useful grub_util_info.
12509
5e631b4f
CW
125102011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12511
12512 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
12513
2d5d0333
CW
125142011-03-30 Colin Watson <cjwatson@ubuntu.com>
12515
12516 * docs/grub.texi (default): Use @example rather than nested
12517 itemized lists to avoid breaking gendocs.
12518
3d7ed04e
CW
125192011-03-30 Colin Watson <cjwatson@ubuntu.com>
12520
12521 * docs/grub.texi (Future): Update.
12522
abf04200 125232011-03-30 Colin Watson <cjwatson@ubuntu.com>
12524
12525 * docs/grub.texi (Environment): New chapter.
12526 (Changes from GRUB Legacy): Link to "Environment block" section for
12527 details of limitations.
12528 (Simple configuration): Likewise. Link to documentation of gfxmode
12529 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
12530 respectively.
12531 (Shell-like scripting): Note that normal variables are stored in the
12532 environment.
12533 (gettext): Link to documentation of lang and locale_dir.
12534 (list_env): New section.
12535 (load_env): New section.
12536 (save_env): New section.
12537
12538 (Reporting bugs): Fix typo.
12539
e1ad0edd
VS
125402011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12541
12542 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
12543 the example.
12544
5d803174
VS
125452011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12546
12547 * grub-core/term/at_keyboard.c (set_scancodes)
12548 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
12549
2a2da1d0
CW
125502011-03-30 Colin Watson <cjwatson@ubuntu.com>
12551
12552 * docs/grub.texi (Menu-specific commands): Remove some semantics
12553 that were true in GRUB Legacy but not in GRUB 2.
12554 (submenu): New section.
12555 (false): New section.
12556 (read): New section.
12557 (true): New section.
12558
a7527639
CW
125592011-03-30 Colin Watson <cjwatson@ubuntu.com>
12560
12561 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
12562
125632011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
12564
12565 * docs/grub.texi (Simple configuration): Explain some of the
12566 current limitations of grub-mkconfig.
8a748df2 12567 Reported by: Leslie Rhorer.
e30af029 12568
fc858482
VS
125692011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12570
12571 Old macs search for boot.efi rather than for bootia32.efi.
12572
12573 * util/grub-install.in: Copy bootia32.efi to boot.efi.
12574 * util/grub-mkrescue.in: Likewise.
12575 Suggested by: Peter Jones.
12576
e1eb511d
VS
125772011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12578
12579 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
12580
70e75364
VS
125812011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12582
12583 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
12584 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
12585 (grub_lvm_mirror): New struct.
12586 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
12587 (grub_lvm_iterate): Iterate only visible volumes.
12588 (grub_lvm_read): Factor out to ..
12589 (read_lv): ... this. Support mirrors.
12590 (grub_lvm_read): New wrapper function.
12591 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
12592 stripped or mirrored.
12593
fc18f6a3
VS
125942011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12595
12596 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
12597
5c650f4c
CW
125982011-03-29 Colin Watson <cjwatson@ubuntu.com>
12599
12600 * docs/grub.texi (loopback): New section.
12601
61d7156b
CW
126022011-03-29 Colin Watson <cjwatson@ubuntu.com>
12603
12604 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
12605 removed -p option.
12606
994b8264
CW
126072011-03-29 Colin Watson <cjwatson@ubuntu.com>
12608
12609 * docs/grub.texi (BIOS installation): New section, partly based on
12610 previous text in other sections.
12611 (Installing GRUB using grub-install): Replace BIOS discussion with a
12612 cross-reference.
12613 (Images): Likewise.
12614
9e4d19e0
VS
126152011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12616
12617 * grub-core/kern/emu/hostdisk.c (find_partition_start)
12618 [HAVE_DIOCGDINFO]: Add safety checks.
12619
a307c0b2
VS
126202011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12621
12622 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
12623 per default compiled in kernel and prior to 8.0 isn't shipped at all.
12624
b4db4f39
CW
126252011-03-29 Colin Watson <cjwatson@ubuntu.com>
12626
12627 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
12628 real_sb->size is zero (e.g. RAID-0), get the disk size from
12629 real_sb->data_size instead.
12630 Fixes Ubuntu bug #743136.
12631
35e5f84c
VS
126322011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12633
12634 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
12635 printf clauses for printing size and start.
12636
d2e29d81
VS
126372011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12638
12639 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
12640 Reported and tested by: Timothy Nikkel.
12641
ed5587af
VS
126422011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12643
12644 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
12645 (dirty_region_add_real): ... this.
12646 (dirty_region_add): Don't discard margin refresh when performing
12647 scheduled repaint.
12648
a1dc717c
VS
126492011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12650
12651 * grub-core/lib/relocator.c (allocate_regstart)
12652 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
12653 terminals are capabple of malloc-free operation.
12654 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
12655 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
12656
9f3677d3
VS
126572011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
12658
12659 * util/grub-setup.c: Copy the partition table zone if floppy support
12660 is disabled, even if no partition table is found.
12661
12662 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
12663 during POST if an invalid partition table is contained in the PBR
12664 of the active partition when GRUB is installed to a partition.
12665
24148725
CW
126662011-03-28 Colin Watson <cjwatson@debian.org>
12667
12668 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
12669 comment.
12670
f329eda7
CW
126712011-03-28 Colin Watson <cjwatson@debian.org>
12672
12673 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
12674 to be specific about what kind of RAID device we're scanning for.
12675
c482ad98
SG
126762011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
12677
12678 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
12679 return freed string.
12680
5ee04984
VS
126812011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
12682
12683 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
12684
f4727da9
VS
126852011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
12686
12687 Use libgeom on FreeBSD to detect partitions.
12688
12689 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
12690 (grub-mkrelpath): Likewise.
12691 (grub-script-check): Likewise.
12692 (grub-editenv): Likewise.
12693 (grub-mkpasswd-pbkdf2): Likewise.
12694 (grub-fstest): Likewise.
12695 (grub-mkfont): Likewise.
12696 (grub-mkdevicemap): Likewise.
12697 (grub-probe): Likewise.
12698 (grub-setup): Likewise.
12699 (grub-ofpathname): Likewise.
12700 (grub-mklayout): Likewise.
12701 (example_unit_test): Likewise.
12702 (grub-menulst2cfg): Likewise.
12703 * grub-core/Makefile.core.def (grub-emu): Likewise.
12704 (grub-emu-lite): Likewise.
12705 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
12706 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
12707 define HAVE_DIOCGDINFO.
12708 (follow_geom_up) [FreeBSD]: New function.
12709 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
12710 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
12711 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
12712 unconditionally of HAVE_DIOCGDINFO.
12713
82fe6c75
VS
127142011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
12715
12716 Fix FreeBSD compilation problem.
12717
12718 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
12719 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
12720
4c6c9431
CW
127212011-03-24 Colin Watson <cjwatson@ubuntu.com>
12722
12723 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
12724 Switch back to page zero before loading a kernel, since some kernel
12725 drivers expect that.
12726 Thanks to: Felix Kuehling.
12727
c7064d94
VS
127282011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
12729
12730 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
12731 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
12732 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
12733
3f71cded
VS
127342011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
12735
12736 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
12737 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
12738
ef6de21a
VS
127392011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
12740
12741 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
12742 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
12743 malloc is disabled.
12744
8bc66a2c
VS
127452011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
12746
12747 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
12748 for modules headers when counting the needed allocation size.
12749
5657722c
VS
127502011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12751
12752 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
12753 if no ASCII character is found to prevent crash.
12754
41a85f55
AK
127552011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
12756
12757 * grub-core/video/bitmap.c (match_extension): Ignore case.
12758
59e1e5f1
VS
127592011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12760
12761 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
12762
bd4d051a
VS
127632011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12764
12765 * grub-core/script/parser.y: Declare "time" as valid argument.
12766
bae7fcc1
PJ
127672011-03-23 Peter Jones <pjones@redhat.com>
12768
12769 Fix incorrect assert failure reporting.
12770
12771 * grub-core/tests/example_functional_test.c (example_test): Add
12772 a failure comment.
12773 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
12774 (failure_start): ...this. Check that malloc succeeded.
12775 Don't call xvasprintf. Return failure struct.
12776 (failure_append_vtext): New function.
12777 (failure_append_text): Likewise.
12778 (add_failure): Likewise.
12779 (grub_test_assert_helper): Likewise.
12780 * include/grub/test.h (grub_test_assert_helper): New declaration.
12781 (grub_test_assert): Macro rewritten.
12782
537dc9be
VS
127832011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12784
12785 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
12786
fa3e01bf
VS
127872011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12788
12789 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
12790
b1d28404
VS
127912011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12792
12793 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
12794 into GRUB-style one.
12795
2e3e2e09
VS
127962011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12797
12798 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
12799 error and not grub_errno.
12800 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
12801
ed57e557
VS
128022011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12803
12804 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
12805 GRUB_USB_SPEED_NONE in case of failure and not the error code.
12806
d1611f01
VS
128072011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12808
12809 * grub-core/efiemu/i386/pc/cfgtables.c
12810 (grub_machine_efiemu_init_tables): Make declaration a prototype.
12811 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
12812 (grub_xnu_unlock): Likewise.
12813 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
12814
7d4e39d6
VS
128152011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12816
12817 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
12818 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
12819 * grub-core/commands/hashsum.c (aliases): Likewise.
12820 * grub-core/commands/setpci.c (pci_registers): Likewise.
12821 * grub-core/disk/usbms.c (attach_hook): Likewise.
12822 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
12823 (zio_checksum_table): Likewise.
12824 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
12825 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
12826 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
12827 * grub-core/lib/relocator.c (leftovers): Likewise.
12828 (extra_blocks): Likewise.
12829 * grub-core/loader/i386/bsd.c (relocator): Likewise.
12830 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
12831 (modules_last): Likewise.
12832 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
12833 (devices): Likewise.
12834 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
12835 (modules_last): Likewise.
12836 * grub-core/normal/auth.c (users): Likewise.
12837 * grub-core/normal/context.c (initial_menu): Likewise.
12838 (current_menu): Likewise.
12839 * grub-core/normal/crypto.c (crypto_specs): Likewise.
12840 * grub-core/term/serial.c (grub_serial_ports): Likewise.
12841 (grub_serial_terminfo_input_template): Likewise.
12842 (grub_serial_terminfo_output_template): Likewise.
12843 (grub_serial_terminfo_input): Likewise.
12844 (grub_serial_terminfo_output): Likewise.
12845 (registered): Likewise.
12846 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
12847
40fc4659
VS
128482011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12849
12850 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
12851 grub_video_mode_type_t.
12852 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
12853 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
12854 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
12855
2da48d28
VS
128562011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12857
12858 * util/grub-install.in: Correct the x86-64 name as x86_64.
12859
9b43bf39
CW
128602011-03-11 Colin Watson <cjwatson@ubuntu.com>
12861
12862 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
12863 initial chunk read from the kernel always includes GRUB's multiboot
12864 header, which is now outside the first sector.
12865
be1a7ce0
CW
128662011-03-09 Colin Watson <cjwatson@ubuntu.com>
12867
12868 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
12869 cached mmap_size, so that this works correctly when called multiple
12870 times.
12871 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
12872
83a3c48d
CW
128732011-03-09 Colin Watson <cjwatson@ubuntu.com>
12874
12875 * docs/grub.texi (Simple configuration): Tidy up formatting.
12876
57d75699
SJ
128772011-03-07 Szymon Janc <szymon@janc.net.pl>
12878
12879 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
12880 Set-but-not-used variable removed.
12881
028501a0
VS
128822011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12883
12884 Workaround yet another IEEE1275 bug.
12885
12886 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
12887 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
12888 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
12889 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
12890 is set.
12891 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
12892 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
12893
d998657d
VS
128942011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12895
12896 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
12897 error.
12898
fee7cdd4
CW
128992011-02-11 Colin Watson <cjwatson@ubuntu.com>
12900
12901 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
12902 empty, since in that case we can only generate either nothing or a
12903 syntactically invalid configuration file.
12904 Reported by: Michal Suchanek. Fixes Debian bug #612898.
12905
97286eb5
CW
129062011-02-09 Colin Watson <cjwatson@ubuntu.com>
12907
12908 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
12909 (Making a GRUB bootable CD-ROM): Likewise.
12910 (Invoking grub-mkrescue): New section.
12911 Reported by: Yann Dirson. Fixes Debian bug #612585.
12912
22b28eb3
CW
129132011-02-09 Colin Watson <cjwatson@ubuntu.com>
12914
12915 * util/grub-install.in: Remove unnecessary brackets from tr
12916 arguments.
12917 * util/grub.d/10_hurd.in: Likewise.
12918 * util/grub.d/10_kfreebsd.in: Likewise.
12919 * util/grub.d/10_linux.in: Likewise.
12920 * util/grub.d/20_linux_xen.in: Likewise.
12921 Reported by: Jamie Heilman. Fixes Debian bug #612564.
12922
7e735e43
CW
129232011-02-08 Colin Watson <cjwatson@ubuntu.com>
12924
12925 * include/grub/file.h (not_easly_seekable): Rename to ...
12926 (not_easily_seekable): ... this. Update all users.
12927
800f1881
CW
129282011-01-28 Colin Watson <cjwatson@ubuntu.com>
12929
12930 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
12931 grub-mkrescue.
12932
3281d3d6
VS
129332011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12934
12935 * util/grub-mkimage.c (generate_image): Refuse to create the images
12936 bigger than the actual flash (512K) in Loongson machines. 512K is also
12937 the biggest chip supported by them.
12938
3533413c
VS
129392011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12940
12941 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
12942
73ae4f4f
VS
129432011-01-22 Anthony DeRobertis <anthony@derobert.net>
12944
12945 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
12946 super_offset field.
12947
37f4f608
VS
129482011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12949
12950 * util/grub-install.in: Ignore install device on platforms
12951 where it doesn't make sense. Always use UUIDs except on pc, efi and
12952 sparc64.
12953 Reported by: Daniel Kahn Gillmor.
12954
03a4ccb5
VS
129552011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12956
12957 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
12958
ffc8f4d8
VS
129592011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12960
12961 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
12962 (iterate_real): Don't rely on partition being non-NULL.
12963
80f23be7
VS
129642011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12965
12966 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
12967 supported platforms. Put a compile time assert for this rather than
12968 generate a warning with 32-bit shift.
12969
5d4f4dd5
VS
129702011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12971
12972 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
12973 logical expression more readable.
12974
e489601a
VS
129752011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12976
12977 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
12978 even if some elements have a name.
12979 Reported by: Alexander GQ Gerasiov.
12980
96e0a6ea
CW
129812011-01-22 Colin Watson <cjwatson@ubuntu.com>
12982
12983 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
12984 path unreadable if `grub-probe -t abstraction' fails, for example if
12985 memberlist fails on an LVM volume group.
12986 Reported by: Darius Jahandarie.
12987
81431e2b
CW
129882011-01-22 Colin Watson <cjwatson@ubuntu.com>
12989
12990 * docs/grub.texi (Simple configuration): Document
12991 GRUB_PRELOAD_MODULES.
12992
5e79d66a
CW
129932011-01-17 Colin Watson <cjwatson@ubuntu.com>
12994
12995 * .bzrignore: Remove nonexistent grub-pbkdf2.
12996
646ada34
VS
129972011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
12998
12999 * configure.ac: Bump version to 1.99~rc1.
13000
04360337
VS
130012011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
13002
13003 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
13004 for safety.
13005
46c9db88
VS
130062011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
13007
13008 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
13009 module.
13010
130112011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
13012
13013 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
13014
4fbf1852
VS
130152011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
13016
13017 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
13018 diskdevid.
13019
f1632d4d
VS
130202011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
13021
13022 Fix compilation on cygwin.
13023
13024 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
13025 -R .drectve on cygwin.
13026 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
13027 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
13028 (COND_CYGWIN): New condition.
13029 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
13030 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
13031 not @TARGET_OBJ2ELF@.
13032 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
13033 type to determine whether aux is to be used.
13034
0b5e127b
VS
130352011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13036
13037 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
13038 realpath'ed device string.
13039 Handle floppy (somewhat).
13040 Issue error in unknown case rather than garbage.
13041 Reported by: Axel Beckert.
13042
173b71e9
VS
130432011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13044
13045 * util/grub.d/00_header.in (load_video): Handle the case when no video
13046 drivers available.
13047 Thanks to: Axel Beckert.
13048
f8f479db
VS
130492011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13050
13051 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
13052 variable. Fixes problem on big endian platforms.
13053
8fc0a245
VS
130542011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13055
13056 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
13057 It doesn't work well there.
13058
b8494fbe
VS
130592011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13060
13061 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
13062 warning.
13063 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
13064 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
13065 counter.
13066
b44a558c
VS
130672011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
13068
13069 Use alias->path rather than buggy "canon".
13070
13071 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
13072 (ofdisk_hash_add): New argument curcan. All users updated.
13073
51fa856c
CW
130742011-01-11 Colin Watson <cjwatson@ubuntu.com>
13075
13076 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
13077
9da068a5
VS
130782011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13079
13080 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
13081 loadmask before doing any calculations. Use correct type for offset.
13082 (grub_linux_load64): Likewise.
13083
86205c94
CW
130842011-01-11 Colin Watson <cjwatson@ubuntu.com>
13085
13086 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
13087 with NULL.
13088 (console_grub_equivalences_unshift): Likewise.
13089 Reported by: Daniel Dehennin.
13090
4531a206
VS
130912011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13092
13093 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
13094 (set_env_limn_ro): Likewise.
13095 (GRUB_MOD_INIT): Likewise.
13096 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
13097 ARRAY_SIZE while on it.
13098 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
13099 * grub-core/normal/context.c (grub_env_export): Move from here ...
13100 * grub-core/kern/env.c (grub_env_export): ... here.
13101 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
13102 prefix.
13103 * grub-core/kern/main.c (grub_main): Export root and prefix.
13104 * include/grub/env.h (grub_env_export): Export.
13105 Reported by: Seth Goldberg.
13106
45146057
VS
131072011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13108
13109 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
13110 Take into account space used by ELF sections and multiboot palette.
13111 Reported by: Grégoire Sutre.
13112
f093110b
VS
131132011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13114
13115 * BUGS: New file.
13116
3395fe52
VS
131172011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13118
13119 Pass more appropriate video id to Linux.
13120
13121 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
13122 grub_video_get_driver_id and variable gfxpayloadforcelfb to
13123 fill have_vga.
13124 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
13125 shift params->lfb_size.
13126 * include/grub/i386/linux.h: Make an enume out of have_vga values.
13127
c2fa6cbb
VS
131282011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13129
13130 * util/grub-menulst2cfg.c: Add missing include of misc.h.
13131
b3ff6ff0
VS
131322011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13133
13134 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
13135 separator and pass bootpath/devid even if only one of them is available.
13136 Reported by: Seth Goldberg.
13137
ae67942e
VS
131382011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13139
13140 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
13141 implementations bug on them.
13142
13143 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
13144 memory.
13145 (filter_memory_map): Likewise.
13146
d570097a
VS
131472011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13148
13149 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
13150 Reported by: nebuchadnezzar.
13151
a508e776
VS
131522011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13153
13154 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
13155 Reported by: nebuchadnezzar.
13156
dcb883b1
VS
131572011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13158
13159 Submenu default support.
13160
13161 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
13162 auto_boot. All users updated.
13163 Declared static.
13164 Handle chosen and default with submenus.
13165 (grub_menu_execute_with_fallback): Declared static.
13166 Don't notify failure if autobooted. Upper level does it.
13167 (menuentry_eq): New function.
13168 (get_entry_number): Use menuentry_eq.
13169 (show_menu): New parameter "autobooted". All users updated.
13170 (grub_show_menu): Likewise.
13171 * include/grub/normal.h (grub_show_menu): Likewise.
13172 * include/grub/menu.h (grub_menu_execute_entry): Removed.
13173 (grub_menu_execute_with_fallback): Likewise.
13174
6fef99b4
VS
131752011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13176
13177 * util/grub-mklayout.c (usage): Update help text.
13178
47a77af5
VS
131792011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13180
13181 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
13182
ce6bb3ee
VS
131832011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13184
13185 * util/grub-menulst2cfg.c (main): Trim the line.
13186
db87be2a
VS
131872011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13188
13189 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
13190 (grub_machine_init): Don't check amount of low memory as reportedly
13191 INT 12h can be broken and if low memory is too low we wouldn't have
13192 gotten into grub_machine_init anyway.
13193
c49849cc
VS
131942011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13195
13196 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
13197 (grub_machine_mmap_iterate): Take low memory into account
13198
b1969b30
VS
131992011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13200
13201 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
13202 badfs.
13203 Reported by: TiCPU.
13204
cf0eaf13
VS
132052011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13206
13207 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
13208 members errors.
13209
1f060f39
GS
132102011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
13211
13212 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
13213 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
13214
a21e5672
GS
132152011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
13216
13217 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
13218 openbsd and netbsd types being in part_bsd module.
13219
c88172fa
VS
132202011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13221
13222 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
13223 (_FILE_OFFSET_BITS): Likewise.
13224 Reported by: Seth Goldberg.
13225
53798c4b
GS
132262011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
13227
13228 * configure.ac: Check for libdevmapper header.
13229
e7121b69
VS
132302011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13231
13232 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
13233 avoid aliasing.
13234 (fzap_lookup): Likewise.
13235 (dnode_get): Likewise.
13236 (make_mdn): Likewise.
13237 (zfs_mount): Likewise.
13238 (fzap_iterate): Use temporary pointer to avoid aliasing.
13239 (grub_zfs_read): Likewise.
13240 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
13241 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
13242 pointers to avoid aliasing.
13243 (grub_cmd_xnu_kernel64): Likewise.
13244 (grub_xnu_load_driver): Likewise.
13245
fc836af9
VS
132462011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13247
13248 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
13249 aliasing warning.
13250 (grub_cmd_terminal_output): Likewise.
13251 Reported and tested by: Grégoire Sutre.
13252
f9f37648
VS
132532011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13254
13255 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
13256 warning.
13257 Reported and tested by: Grégoire Sutre.
13258
ec1dfd63
VS
132592011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13260
13261 * configure.ac: Do CPU substitution even if it's specified explicitly.
13262 Reported and tested by: Alain Greppin.
13263
9462775a
VS
132642011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13265
13266 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
13267 Reported and tested by: Alain Greppin.
13268
0fd48e35
VS
132692011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13270
13271 Satisfy some bison versions need for inttypes.h.
13272
13273 * grub-core/lib/posix_wrap/inttypes.h: New file.
13274 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
13275 (int16_t): Likewise.
13276 (int32_t): Likewise.
13277 (int64_t): Likewise.
13278 Reported and tested by: Alain Greppin.
13279
43f1bc83
VS
132802011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13281
13282 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
13283 Silence spurious warning.
13284 Reported and tested by: Alain Greppin.
13285
64d1f041
SJ
132862011-01-07 Szymon Janc <szymon@janc.net.pl>
13287
13288 * docs/grub.texi (Support automatic decompression): Update with xz
13289 decompression support.
13290
25953e10
SJ
132912011-01-07 Szymon Janc <szymon@janc.net.pl>
13292
13293 Improve loaders' kernel command line handling.
13294
13295 * grub-core/lib/cmdline.c: New file.
13296 * include/grub/lib/cmdline.h: Likewise.
13297 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
13298 grub_create_loader_cmdline to create kernel command line.
13299 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
13300 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
13301 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
13302 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
13303 (linux): Add lib/cmdline.c on common.
13304
e72d259f
VS
133052011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
13306
13307 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
13308 inopos might be unaligned.
13309
c0cf26da
VS
133102011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
13311
13312 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
13313 endian transformations.
13314 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
13315 Based on report by: Doug Nazar.
13316
0ca09e6c
DN
133172011-01-07 Doug Nazar <nazard.michi@gmail.com>
13318
13319 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
13320 array->members[i].start_sector.
13321 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
13322
014b6806
VS
133232011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
13324
13325 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
13326 Reported and tested by: Grégoire Sutre.
13327
415502c2
CW
133282011-01-06 Colin Watson <cjwatson@ubuntu.com>
13329
13330 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
13331 avoid causing test failures by clearing the screen.
13332
71b6a2b7
CW
133332011-01-06 Colin Watson <cjwatson@ubuntu.com>
13334
13335 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
13336 Fix prefix check to handle the case where dir ends with a slash
13337 (most significantly, "/" itself).
13338 Reported by: Michael Vogt.
13339
b3f8d28a
VS
133402011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13341
13342 Run terminfo_cls on initing terminfo output to clear the screen and
13343 move the cursor to (0,0).
13344
13345 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
13346 Call grub_terminfo_output_init.
13347 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
13348 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
13349 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
13350
4c3e4f37
VS
133512011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13352
13353 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
13354 only when needed.
13355
488f71f1
VS
133562011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13357
13358 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
13359 CTRL.
13360
18a38098
VS
133612011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13362
13363 The E820 type 5 is BADRAM, not EXEC_CODE.
13364
13365 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
13366 (GRUB_E820_BADRAM): New define.
13367 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
13368 into reserved. Propagate BADRAM.
13369 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
13370 (GRUB_E820_BADRAM): New define.
13371
9eae2084
VS
133722011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13373
13374 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
13375 Ignore the memory post-4G.
13376 (grub_relocator_firmware_alloc_region): Additional debug statement.
13377
ebc71d28
VS
133782011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13379
13380 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
13381 names.
13382 Reported by: David Pravec.
13383
446fa400
VS
133842011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13385
13386 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
13387 BIOSes.
13388
a0159f37
VS
133892011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13390
13391 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
13392 Prevent overflow.
13393 (grub_reed_solomon_recover): Likewise.
13394
e5146ca1
VS
133952011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13396
13397 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
13398
133992011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
13400
13401 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
13402 variable.
13403
5b1bdf12
CW
134042011-01-04 Colin Watson <cjwatson@ubuntu.com>
13405
13406 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
13407 descriptions of extract_legacy_entries_source and
13408 extract_legacy_entries_configfile.
13409 Reported by: Seung Soo, Ha.
13410
99d925aa
CW
134112011-01-03 Colin Watson <cjwatson@ubuntu.com>
13412
13413 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
13414 on devices that do not implement function 0.
13415
4af0504b
DV
134162011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
13417
13418 * grub-core/fs/hfsplus.c: Make parent unsigned.
13419 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
13420 overflows.
13421 (grub_hfsplus_cmp_extkey): Likewise
13422
469ee10a
VS
134232011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
13424
13425 * util/grub-install.in: Correctly use bootloader_id and not
13426 GRUB_DISTRIBUTOR on efibootmgr line.
13427
323a8e9c
VS
134282011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
13429
13430 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
13431
1b394975
IC
134322010-12-31 Ian Campbell <ijc@hellion.org.uk>
13433
13434 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
13435 Xen and reorder menu item wording to make it clearer that this entry
13436 will launch Xen. Print separate messages when loading Xen and
13437 Linux.
13438
275bff5f
VS
134392010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
13440
13441 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
13442 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
13443 loop in case of incorrect amiga partmap.
13444
307806cb
VS
134452010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
13446
13447 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
13448 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
13449 Reported by:EHeM.
13450
b12b923e
VS
134512010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
13452
13453 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
13454 spurious warning.
13455 Reported by: crocket
13456
14b48a19
VS
134572010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13458
13459 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
13460 Preload EFIemu.
13461 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
13462
693db2df
VS
134632010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13464
13465 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
13466 is loaded
13467 (grub_cmd_xnu_kextdir): Likewise.
13468 (grub_cmd_xnu_splash): Likewise.
13469
c7638645
VS
134702010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13471
13472 Avoid using Reed-Solomon with 0 redundancy.
13473
13474 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
13475 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
13476 or 0 redundancy.
13477 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
13478 (grub_reed_solomon_recover): Likewise.
13479
25dd4780
VS
134802010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13481
13482 Don't use disk subsystem in freebsd_boot.
13483
13484 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
13485 (freebsd_biosdev): Likewise.
13486 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
13487 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
13488
0b2db943
VS
134892010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
13490
13491 Handling of files of unknown size is currently limited. They can't be
13492 used e.g. for initrd or modules. Moreover gzip handling of not
13493 easily seekable files is buggy. Disable unknown file size for now. May
13494 be inefficient but works.
13495
13496 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
13497 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
13498
5c408d0f
MP
134992010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
13500
13501 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
13502 floppy probe.
13503
190a011a
JD
135042010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
13505
13506 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
13507
022d01b8
SL
135082010-12-25 Shea Levy <shlevy>
13509
13510 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
13511
c4855fdc
VS
135122010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13513
13514 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
13515 Windows Server 2008.
13516 Reported by: Devin Giddings.
13517
0354b867
VS
135182010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13519
13520 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
13521 writing an error message because of async power management.
13522 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
13523 (grub_reboot): Likewise.
13524
ab66c69f
JU
135252010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
13526
13527 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
13528 keep unit tests from failing when they shouldn't.
13529
1426ef35
CW
135302010-12-21 Colin Watson <cjwatson@ubuntu.com>
13531
13532 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
13533 previous patch increased the size of the RS code by 20 bytes (at
13534 least with gcc-4.4), so increase this by 20 bytes to match.
13535 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
13536
20641b6b
CW
135372010-12-21 Colin Watson <cjwatson@ubuntu.com>
13538
13539 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
13540 scratch area. Make sure to initialise chosen in standalone mode as
13541 well as non-standalone.
13542 Reported by: Robert Hooker and Andy Whitcroft.
13543 Tested by: Andy Whitcroft.
13544
d060ad60
CW
135452010-12-21 Colin Watson <cjwatson@ubuntu.com>
13546
13547 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
13548 constructing a new unescaped string and passing it to grub_xputs in
13549 one go, rather than passing characters to grub_printf one at a time.
13550
b889cfad
CW
135512010-12-21 Colin Watson <cjwatson@ubuntu.com>
13552
13553 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
13554 initialising utf16.
13555
4e01b6c8
CW
135562010-12-21 Colin Watson <cjwatson@ubuntu.com>
13557
13558 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
13559 comment. Add an extra layer of quotation, requiring the output of
13560 this function to be used in a printf format string.
13561 (gettext_printf): New function.
13562 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
13563 Extract translatable strings from here-documents and use a temporary
13564 variable instead, so that xgettext can find them.
13565 * util/grub.d/10_kfreebsd.in: Likewise.
13566 * util/grub.d/10_linux.in: Likewise.
13567 * util/grub.d/20_linux_xen.in: Likewise.
13568
13569 * po/grub.d.sed: New file.
13570 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
13571 arguments. Set c-format flags on all strings extracted from
13572 util/grub.d/ (xgettext refuses to include these itself for strings
13573 it extracted from a shell file, but these really are c-format).
13574
5318fe98
VS
135752010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
13576
13577 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
13578 Avoid next pointing to nowhere.
13579
6c85b743
VS
135802010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
13581
13582 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
13583 rather than assuming than rootblock is exactly in the middle.
13584 (grub_affs_label): Likewise.
13585
a2a08a35
VS
135862010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
13587
13588 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
13589 reserved_first_sector to 0.
13590 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
13591 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
13592 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
13593
7059d1ec
VS
135942010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
13595
13596 Fix handling of UTF-16 UDF labels.
13597
13598 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
13599 (read_string): .. here.
13600 (grub_udf_label): Use read_string.
13601
30aff4cb
BC
136022010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
13603
13604 * grub-core/normal/menu_entry.c (run): Execute commands from menu
13605 editor under argument scope.
13606 Reported by: Jordan Uggla
13607
5cf86f4b
VS
136082010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
13609
13610 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
13611
32570200
CW
136122010-12-18 Colin Watson <cjwatson@ubuntu.com>
13613
13614 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
13615 line, and other keys scroll an entire page (previous handling was
13616 for \r and \n to scroll a page and other keys to scroll two lines).
13617
e1dffcf2
VS
136182010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
13619
13620 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
13621 Set ptrdest to correct get_physical_target_address rather than
13622 incorrect get_virtual_current_address.
13623
b04298cf 136242010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
13625
13626 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
13627 correct cat to grub_uint8_t * rather than grub_uint32_t *.
13628
5367ecd3
CW
136292010-12-10 Colin Watson <cjwatson@ubuntu.com>
13630
13631 * .bzrignore: Ignore grub-core/rs_decoder.S.
13632
1fb430f8
CW
136332010-12-10 Colin Watson <cjwatson@ubuntu.com>
13634
13635 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
13636 .mo/.mo.gz opening sequence to ...
13637 (grub_mofile_open_lang): ... here.
13638 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
13639 * util/grub.d/00_header.in (grub_lang): Include country part of
13640 locale.
13641 Reported by: Mario Limonciello.
13642
a94a6671
RM
136432010-12-09 Robert Millan <rmh@gnu.org>
13644
13645 * NEWS: Document addition of ZFS support.
13646
24b7938b
CW
136472010-12-04 Colin Watson <cjwatson@ubuntu.com>
13648
13649 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
13650 rather than `/ 2', as the latter requires -Wa,--divide which would
13651 require bumping our minimum binutils version.
13652
bddc3ef6
BC
136532010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
13654
13655 * util/grub-script-check.c (main): Print script line number on
13656 error.
13657
bf78d5b2
RM
136582010-12-01 Robert Millan <rmh@gnu.org>
13659
13660 * grub-core/fs/zfs/zfs.c: New file.
13661 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
13662 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
13663 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
13664 * grub-core/fs/zfs/zfsinfo.c: Likewise.
13665
13666 * include/grub/zfs/dmu.h: Likewise.
13667 * include/grub/zfs/dmu_objset.h: Likewise.
13668 * include/grub/zfs/dnode.h: Likewise.
13669 * include/grub/zfs/dsl_dataset.h: Likewise.
13670 * include/grub/zfs/dsl_dir.h: Likewise.
13671 * include/grub/zfs/sa_impl.h: Likewise.
13672 * include/grub/zfs/spa.h: Likewise.
13673 * include/grub/zfs/uberblock_impl.h: Likewise.
13674 * include/grub/zfs/vdev_impl.h: Likewise.
13675 * include/grub/zfs/zap_impl.h: Likewise.
13676 * include/grub/zfs/zap_leaf.h: Likewise.
13677 * include/grub/zfs/zfs.h: Likewise.
13678 * include/grub/zfs/zfs_acl.h: Likewise.
13679 * include/grub/zfs/zfs_znode.h: Likewise.
13680 * include/grub/zfs/zil.h: Likewise.
13681 * include/grub/zfs/zio.h: Likewise.
13682 * include/grub/zfs/zio_checksum.h: Likewise.
13683
13684 * Makefile.util.def: Build ZFS into libgrubmods.
13685 * grub-core/Makefile.core.def: Build zfs.mod.
13686
3f0f3831
SJ
136872010-11-30 Szymon Janc <szymon@janc.net.pl>
13688
13689 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
13690 variable.
13691 * grub-core/commands/wildcard.c (match_files): Likewise.
13692
3a4253b2
RM
136932010-11-30 Robert Millan <rmh@gnu.org>
13694
13695 * grub-core/loader/i386/bsd.c
13696 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
13697 whether kernel is loaded using grub_loader_is_loaded(), rather
13698 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
13699 certain error conditions.
13700
8c317b27
RM
137012010-11-30 Robert Millan <rmh@gnu.org>
13702
c5c9cd3e
RM
13703 * grub-core/commands/echo.c: Include `<grub/term.h>'.
13704 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 13705
49d3ab46
VS
137062010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
13707
13708 Avoid using tricks for initialising endian variables.
13709
13710 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
13711 Make const.
13712 (GRUB_MOD_INIT): Don't byte-swap.
13713 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
13714 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
13715 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
13716 (grub_swap_bytes32_compile_time): Likewise.
13717 (grub_cpu_to_le32_compile_time): Likewise.
13718 (grub_cpu_to_le16_compile_time): Likewise.
13719
f420a804
VS
137202010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
13721
13722 * util/grub-setup.c (setup): Stop recommending --force. People who
13723 understand the dangers of blocklists are able to find this option
13724 anyway and the ones who don't shouldn't use it anyway.
13725
4e7db17b
RM
137262010-11-26 Robert Millan <rmh@gnu.org>
13727
13728 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
13729 Update all users.
13730
9be57a0d
CW
137312010-11-26 Colin Watson <cjwatson@ubuntu.com>
13732
13733 Fix LVM-on-RAID probing.
13734
13735 * util/grub-probe.c (probe): Remember which disk was detected as
13736 RAID (perhaps an LVM physical volume). Use that disk's raidname
13737 rather than that of the top-level disk.
13738
2c7859b3 137392010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 13740
d7647bb6
BC
13741 Fix cmdline argument quotes for setparams command of menuentry
13742 definitions.
7e623b0d
BC
13743
13744 * grub-core/commands/menuentry.c (setparams_prefix): Use single
13745 quotes for arguments.
f866fe80 13746 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 13747 grub_strchrsub function instead.
f866fe80 13748
7955bea0 13749 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 13750
74f72a64
CW
137512010-11-24 Colin Watson <cjwatson@ubuntu.com>
13752
13753 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
13754 effort by skipping "." and ".." entries up-front.
13755 Suggested by: Michael Lazarev.
13756
5a407278
CW
137572010-11-24 Colin Watson <cjwatson@ubuntu.com>
13758
13759 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
13760 ldflags to ldadd, to fix link line ordering.
13761 (none_decompress): Likewise.
13762
3030d8ec
CW
137632010-11-24 Colin Watson <cjwatson@ubuntu.com>
13764
13765 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
13766 platforms.
13767 (grub-emu-lite): Remove kern/emu/cache.S.
13768
b7fbac12
CW
137692010-11-23 Colin Watson <cjwatson@ubuntu.com>
13770
13771 * util/deviceiter.c (compare_devices): If the by-id link for a
13772 device couldn't be resolved, fall back to sorting by the by-id link
13773 rather than segfaulting.
13774 Reported and tested by: Daniel Mierswa.
13775
5225f328
CW
137762010-11-23 Colin Watson <cjwatson@ubuntu.com>
13777
13778 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
13779 ldflags, to fix link line ordering.
13780
038b3ce8
CW
137812010-11-23 Colin Watson <cjwatson@ubuntu.com>
13782
13783 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
13784 linkers are picky about this.
13785
bf16e98e
CW
137862010-11-23 Colin Watson <cjwatson@ubuntu.com>
13787
13788 * grub-core/Makefile.am (command.lst): Adjust sed expression
13789 ordering so that extended and priority commands aren't treated as
13790 ordinary commands.
13791
7242bab6
CW
137922010-11-23 Colin Watson <cjwatson@ubuntu.com>
13793
13794 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
13795 Remove byte-swapping function calls, which are not valid in
13796 structure initialisers.
13797 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
13798 non-const.
13799 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
13800 grub_gpt_partition_type_bios_boot.
13801
14e8b279
CW
138022010-11-22 Colin Watson <cjwatson@ubuntu.com>
13803
13804 Fix test program build on GNU/kFreeBSD.
13805
13806 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
13807 $(LIBNVPAIR)' library dependencies.
13808
e6f63338 138092010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
13810
13811 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
13812
cf8ffc38
CW
138132010-11-22 Colin Watson <cjwatson@ubuntu.com>
13814
13815 * util/grub-install.in: Remove excessive quoting that broke
13816 installations to RAID devices.
13817
7f8b0fd7
VS
138182010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
13819
13820 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
13821 bootloader version instead of 0.
13822
dfd240b1
VS
138232010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
13824
13825 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
13826 warning.
13827
7b61e609
VS
138282010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
13829
13830 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
13831 retrieve the metadat sector if size isn't known.
13832 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
13833
9dfe92d0
RM
138342010-11-18 Robert Millan <rmh@gnu.org>
13835
13836 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
13837 with grub_memcmp().
13838
41cc919e
VS
138392010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
13840
13841 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
13842 arrow.
13843 Reported by: Jordan Uggla.
13844
1afcc914
VS
138452010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13846
13847 Make better UTF compliant.
13848
13849 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
13850 sequences as incorrect.
13851 (grub_is_valid_utf8): Likewise.
13852 (grub_utf8_to_ucs4): Likewise.
13853 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
13854 (grub_ucs4_to_utf8_alloc): Likewise.
13855 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
13856
f1808884
VS
138572010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13858
13859 Make legacy_source behave like source.
13860
13861 * grub-core/commands/legacycfg.c (legacy_file): Don't call
13862 grub_show_menu.
13863 (grub_cmd_legacy_source): Call grub_show_menu if needed.
13864
24ec575b
CW
138652010-11-16 Colin Watson <cjwatson@debian.org>
13866
13867 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
13868 (-Wunused implies -Wunused-parameter, but not vice versa).
13869
72b7c7aa
CW
138702010-11-16 Colin Watson <cjwatson@ubuntu.com>
13871
13872 * configure.ac: Make error messages less confusing by testing for
13873 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
13874 accepted, but produces a diagnostic if something else is wrong).
13875
e98937aa
VS
138762010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
13877
13878 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
13879 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
13880 (now unused).
13881 (grub_keyboard_controller_init)
13882 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
13883 read the initial state since controller isn't inited yet.
13884
f6bbabc3
VS
138852010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
13886
13887 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
13888 allocate_regbeg may need to create new chunk header.
13889
22e7dbb2
VS
138902010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13891
13892 Fix quoting in legacy parser.
13893
13894 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
13895 single quotes.
13896 (grub_legacy_parse): Likewise.
13897 Reported by: Jordan Uggla.
13898 Tested by: Jordan Uggla.
13899
03f80960
VS
139002010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13901
13902 Don't add -lgcc on i386 and x86_64.
13903
13904 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
13905 * conf/Makefile.common (LDADD_KERNEL): Likewise.
13906 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
13907
779dc15b
VS
139082010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13909
13910 * configure.ac: Add -Wno-trampolines when supported.
13911
d20a3b37
MV
139122010-11-14 Modestas Vainius <modax@debian.org>
13913
13914 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
13915 fakeraid.
13916
e5360933
GC
139172010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
13918
13919 Add generic logical block size support for UDF.
13920
13921 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
13922 (GRUB_UDF_BLKSZ): Removed.
13923 (struct grub_udf_data): New field "lbshift" to hold the logical block
13924 size of the file system in log2 format. All users updated.
13925 (sblocklist): Change type to unsigned.
13926 (grub_udf_mount): Change type of "sblklist" to unsigned.
13927 Move AVDP search before VRS recognition, because the latter requires
13928 knowledge of the logical block size, which is detected during the
13929 former.
13930 Detect and validate logical block size during AVDP search, adding
13931 support for block sizes 512, 1024 and 4096.
13932 Make VRS recognition independent of block size.
13933
cb0229c5
GC
139342010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
13935
13936 Properly handle deleted files on UDF.
13937
13938 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
13939 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
13940 set.
13941
406858a8
GC
139422010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
13943
13944 Support reading files larger than 2 GiB.
13945
13946 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
13947 "offset" to grub_off_t.
13948 (grub_udf_read_file): Likewise for parameter "pos".
13949
130da6a7
VS
139502010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13951
13952 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
13953 unavailable.
13954 (Simple configuration): Refer to Changes from GRUB Legacy about
13955 save_env availability.
13956
65e93f6b
VS
139572010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13958
13959 * util/grub-install.in: Ignore empty partition table detection
13960 instead of trying to include part_ module.
13961
1fd08bf1
VS
139622010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13963
13964 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
13965 LVM on RAID support.
13966
de1a024f
VS
139672010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13968
13969 Properly define WORDS_BIGENDIAN in wrapped environments.
13970
13971 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
13972 definition.
13973 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
13974
13975 Reported by: Manoel Rebelo Abranches.
13976 Tested by: Manoel Rebelo Abranches.
13977
bc5dd0b9
VS
139782010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13979
13980 * util/grub-mkconfig.in: Fix quoting.
13981
58c184be
VS
139822010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13983
13984 Support big ext2 files.
13985
13986 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
13987 (grub_ext2_read_block): Support triple indirect blocks.
13988 (grub_ext2_read_file): Use 64-bit types and read size_high.
13989 (grub_ext2_open): Read size_high.
13990 Reported by: Ximin Luo.
13991 Tested by: Manoel Rebelo Abranches.
13992
5f0c02b3
VS
139932010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13994
13995 * util/grub-install.in: Handle filenames containing spaces.
13996 Reported by: Jordan Uggla.
13997 Tested by: Jordan Uggla.
13998
4417aae6
VS
139992010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14000
14001 * util/grub-mkconfig.in (grub_script_check): New variable.
14002 Use grub_script_check instead of grub-script-check.
14003 Reported by: Barry Jackson.
14004
7625a68e
VS
140052010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
14006
14007 * docs/grub.texi (menu): Correct the order.
14008 Reported by: D. Hugh Redelmeier.
14009
10001ac5
VS
140102010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
14011
14012 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
14013 jump.
14014
9c4cf53b
MRA
140152010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
14016
10001ac5
VS
14017 * include/grub/elfload.h (grub_elf32_size): New parameter.
14018 All users updated.
9c4cf53b
MRA
14019 Return maximum segments alignment.
14020 (grub_elf64_size): Likewise.
14021 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
14022 Return maximum segments alignment.
14023 (grub_elf64_size): Likewise.
14024 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
14025 (grub_linux_claimmap_iterate): New function. Uses the
14026 "available" property in the "memory" node for memory allocation
14027 for kernel in the PowerPC loader.
9c4cf53b
MRA
14028 (grub_linux_load32): Correctly find linux entry point offset.
14029 (grub_linux_load64): Likewise.
14030
d2bf06bf
RM
140312010-11-07 Robert Millan <rmh@gnu.org>
14032
14033 On mips-yeeloong, build with -march=loongson2f when this flag is
14034 available (GCC >= 4.4).
14035 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
14036 `-march=mips3'.
14037 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
14038 or otherwise add -march=mips3.
14039
898c99a2
BC
140402010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
14041
87220a68
BC
14042 Suppress shell expansion on echo '*' and echo "*" like cases.
14043 Reported by: Jordan Uggla.
898c99a2
BC
14044
14045 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
14046 string arguments before shell expansion.
14047 * tests/grub_cmd_echo.in: New testcases.
14048
4f9b406a
RM
140492010-11-07 Robert Millan <rmh@gnu.org>
14050
14051 * conf/mips-qemu-mips.rmk: Remove stale file from previous
14052 transition.
14053
80c6d25e
VS
140542010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
14055
14056 * grub-core/kern/emu/hostdisk.c
14057 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
14058
4a1a0153
VS
140592010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
14060
14061 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
14062 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
14063 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
14064
34706ddc
VS
140652010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
14066
14067 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
14068
6972dea9
VS
140692010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
14070
14071 * util/grub-install.in: Replace useless recomendation to pass
14072 --modules with a recomendation to report a bug.
14073
9c693bd6
VS
140742010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
14075
14076 Properly register serial terminfo.
14077 Reported by: Jordan Uggla
14078
14079 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
14080 const.
14081 (grub_serial_terminfo_output_template): Likewise.
14082 (grub_cmd_serial): Register "serial" with terminfo.
14083 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
14084 grub_serial_terminfo_output.
14085
6c9e4c0c
RM
140862010-11-05 Robert Millan <rmh@gnu.org>
14087
14088 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
14089 needed).
14090
b9b3839f
RM
140912010-11-05 Robert Millan <rmh@gnu.org>
14092
14093 On Yeeloong, pass machine type information to Linux.
14094
14095 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
14096 (LOONGSON_MACHTYPE): New macro, set to
14097 "machtype=lemote-yeeloong-2f-8.9inches".
14098 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
14099 additional argument to Linux.
14100
1a3aaff4
RM
141012010-11-04 Robert Millan <rmh@gnu.org>
14102
14103 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
14104 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
14105 (its SATA disks are detected as slaveless IDE master drives on
14106 kFreeBSD).
14107 Reported by Carsten Aulbert.
14108
a75f4f62
CW
141092010-11-02 Colin Watson <cjwatson@ubuntu.com>
14110
14111 * util/bin2h.c (main): Fix spelling error in generated output.
14112
33b4b0c6
GS
141132010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
14114
14115 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
14116
2b36fbf4
VS
141172010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14118
14119 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
14120 vga= option is supplied.
14121
74aaf558
VS
141222010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14123
14124 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
14125 * util/grub.d/10_kfreebsd.in: Likewise.
14126 * util/grub.d/10_linux.in: Likewise.
14127 * util/grub.d/20_linux_xen.in: Likewise.
14128
6428dec3
VS
141292010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14130
14131 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
14132 argument as an argument to no-argument option.
14133
f8729d98
VS
141342010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14135
14136 * util/grub.d/10_linux.in: Add missing load_video with explicit
14137 GRUB_GFXPAYLOAD_LINUX.
14138
89d68fa6
VS
141392010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14140
14141 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
14142
3a1197cd
VS
141432010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14144
14145 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
14146 elements with invlid index.
14147 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
14148 * grub-core/disk/raid.c (insert_array): Automatically reallocate
14149 members.
14150 * include/grub/raid.h (grub_raid_member): New struct.
14151 (grub_raid_array): Transform devices and start_sector into usage of
14152 grub_raid_member. All users updated
14153 (allocated_devs): New member.
14154
71574288
VS
141552010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14156
14157 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
14158 is modified
14159
8d40ec65
BC
141602010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
14161
14162 NetBSD build fix for getline function conflict from gnulib.
14163
14164 * Makefile.util.def (libgrubkern.a): New library for grub kernel
14165 components that depend on gnulib headers.
14166 (libgrubmods.a): Renamed from earlier libgrub.a.
14167 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
14168
95b9257e
VS
141692010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14170
14171 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
14172 install rather than creating a broken install.
14173
26c53dc6
VS
141742010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14175
14176 * util/grub-setup.c (argp): Remove misleading example of installing to
14177 a partition.
14178
4171b3c5
VS
141792010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14180
14181 * util/grub-setup.c (setup): Clarify the error message.
14182
18568d18
VS
141832010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14184
14185 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
14186
4f6a2e21
VS
141872010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14188
14189 * grub-core/kern/emu/misc.c
14190 (grub_make_system_path_relative_to_its_root)
14191 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
14192
141932010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
14194
14195 * grub-core/kern/emu/misc.c
14196 (grub_make_system_path_relative_to_its_root): Revert r2882.
14197
e138c458
VS
141982010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
14199
14200 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
14201 useless field head. All users updated.
14202 (free_subchunk): Correct handling of IN_REGION subchunk.
14203
0cbcdf0e
CW
142042010-10-22 Colin Watson <cjwatson@ubuntu.com>
14205
14206 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
14207 (Supported kernels): Likewise.
14208
b65ea155
GS
142092010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
14210
14211 Make mktemp invocations portable.
14212
14213 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
14214 exit if mktemp fails.
14215 * tests/grub_script_blockarg.in: Likewise.
14216 * tests/partmap_test.in: Likewise.
14217 * tests/util/grub-shell-tester.in: Likewise.
14218 * tests/util/grub-shell.in: Likewise.
14219 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
14220 * Makefile.am: Likewise, and chain shell commands with `&&'
14221 instead of ';'.
14222 * util/grub-mkrescue.in: Use the same explicit template as above, and
14223 exit if mktemp fails.
14224
05f43cdd
BC
142252010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
14226
14227 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
14228 Linux kernel, reported by Dennis Schridde.
14229
800e6a9b
SJ
142302010-10-17 Szymon Janc <szymon@janc.net.pl>
14231
14232 * grub-core/normal/auth.c (grub_auth_check_authentication):
14233 Set-but-not-used variable removed.
14234
d82df574
VS
142352010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14236
14237 * docs/grub.texi (GNU/Linux): Document APM unavailability with
14238 32-bit linux protocol.
14239
7bced458
VS
142402010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14241
14242 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
14243 cursor shape for sanity.
14244
5b027690
VS
142452010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14246
14247 * docs/grub.texi (Installation): Document buggy BIOS install.
14248
ba5f65cf
VS
142492010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14250
14251 * docs/grub.texi (Installation): Indent.
14252
fdf2ec9c
VS
142532010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14254
14255 * util/grub-setup.c (setup): New parameter allow_floppy.
14256 (arguments): New member allow_floppy.
14257 (argp_parser): Handle --allow-floppy.
14258 (main): Pass allow_floppy.
14259 * util/grub-install.in: New option --allow-floppy passed though to
14260 grub-setup.
14261
861dfd4c
VS
142622010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14263
14264 * util/grub-install.in: Handle partitionless disks.
14265
f77a8c24
VS
142662010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14267
14268 * util/grub-setup.c (setup): Don't clean blocklists before readability
14269 verfification.
14270
27d9ee32
VS
142712010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14272
14273 * docs/grub.texi (Installation): Document embedding zone. Remove
14274 obsolete grub-install example.
14275
6bdda8f8
SJ
142762010-10-16 Szymon Janc <szymon@janc.net.pl>
14277
14278 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
14279 Set-but-not-used variable ifdef'ed.
14280 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
14281 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
14282 variable removed.
14283 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
14284 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
14285 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
14286 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
14287 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
14288 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
14289 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
14290 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
14291 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
14292 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
14293 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
14294 Likewise.
14295
e19b016b
VS
142962010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14297
14298 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
14299 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
14300 enum value.
14301
6c8d3002
VS
143022010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14303
14304 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
14305 synonym to _S5_. Needed for some DSDTs.
14306
c32b51c9
VS
143072010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14308
14309 Userspace ACPI parser debugging.
14310
14311 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
14312 headers and add relevant defines. Don't include standard headers.
14313 (main) [GRUB_DSDT_TEST]: New function.
14314 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
14315 Don't declare functions.
14316
fbfbeb39
VS
143172010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14318
14319 Remove dead grub_efi_mm_fini.
14320
14321 * grub-core/kern/efi/mm.c (allocated_page): Removed.
14322 (ALLOCATED_PAGES_SIZE): Likewise.
14323 (MAX_ALLOCATED_PAGES): Likewise.
14324 (allocated_pages): Likewise.
14325 (grub_efi_allocate_pages): Don't record allocated pages.
14326 (grub_efi_free_pages): Likewise.
14327 (grub_efi_mm_init): Likewise.
14328 (grub_efi_mm_fini): Removed.
14329
65f7ed7c
VS
143302010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14331
14332 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
14333 (grub_efi_mm_init): Take into account the memory map size increase.
14334
24977b44
VS
143352010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14336
14337 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
14338 (serial_hw_put): Wait based on real time rather than port reads. Don't
14339 roken ports.
14340 * include/grub/serial.h (grub_serial_port): New field broken.
14341
1eb01cd2
RM
143422010-10-16 Robert Millan <rmh@gnu.org>
14343
14344 * grub-core/kern/emu/misc.c
14345 (grub_make_system_path_relative_to_its_root): Fix premature return
14346 when processing non-root ZFS filesystems.
5f8b440b 14347 Reported by Sergio Talens-Oliag.
1eb01cd2 14348
2d5fed60
RM
143492010-10-15 Robert Millan <rmh@gnu.org>
14350
14351 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
14352 guarantee compressed ones are processed first.
14353
d0f4c1ea
VS
143542010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
14355
14356 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
14357 grub_efiemu_autocore.
14358
d87c681f
VS
143592010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
14360
14361 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
14362 rather than 0x1b.
14363 (grub_console_getkey): Use correct jae opcode rather than ja.
14364
219b3564
RM
143652010-10-12 Robert Millan <rmh@gnu.org>
14366
14367 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
14368 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
14369 variable. All references updated.
14370
14371 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
14372
20c6bb7e
VS
143732010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
14374
14375 Correctly distinguish mdraid flavours.
14376
14377 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
14378 (insert_array): New argument raid.
14379 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
14380 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
14381 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
14382
74baff84
VS
143832010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
14384
14385 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
14386 handling of special keys.
14387
3ef068df 143882010-10-02 Aleš Nesrsta <starous@volny.cz>
14389
c7980ad9
VS
14390 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
14391 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 14392
a9455194 143932010-10-02 Aleš Nesrsta <starous@volny.cz>
14394
c7980ad9
VS
14395 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
14396 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
14397 users updated.
a9455194 14398 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 14399 Use right endpoint when querying descriptor.
a9455194 14400
441cfe65
VS
144012010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
14402
14403 Clear out 0x80 color bit on EFI.
14404 Tested by: decoder
14405 Reported by: decoder and meta tech.
14406
14407 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
14408 (grub_console_setcolorstate): Clear out 0x80 bit.
14409 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
14410 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
14411 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
14412
bf26bcc4
VS
144132010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
14414
14415 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
14416 Set to "auto".
14417
6e3c515d
VS
144182010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14419
14420 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
14421 mo_file after freeing.
14422
e6d983ba
VS
144232010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14424
14425 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
14426
74ccb5b5
VS
144272010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14428
14429 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
14430 flags.
14431
17821956
VS
144322010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14433
14434 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
14435 usage.
14436
ee74fa48
VS
144372010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14438
14439 Put terminfo into core on ieee1275 and yeeloong (needed for console).
14440
14441 * gentpl.py: New groups terminfoinkernel and terminfomodule.
14442 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
14443 and terminfo.h when needed.
14444 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
14445 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
14446 (terminfo): Enable only on terminfokernel.
14447 (extcmd): Likewise.
14448 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
14449 * include/grub/lib/arg.h: Likewise.
14450 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
14451 incorrect usage of ->.
14452
aa438e68
VS
144532010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14454
14455 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
14456 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
14457
57994012
VS
144582010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14459
14460 Fix coreboot compilation.
14461
14462 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
14463 Take VBE info into account even if only text is supported.
14464 (fill_vbe_info): Take into account the case when only VGA text
14465 is supported.
14466 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
14467 on coreboot, multiboot and qemu.
14468
2a406611
VS
144692010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14470
14471 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
14472 debug messages.
14473 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
14474
d33613fc
VS
144752010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14476
14477 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
14478 parameters.
14479
44a1b432
VS
144802010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14481
14482 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
14483 if they were BSD-style.
14484
edde54e6
VS
144852010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14486
14487 * grub-core/boot/i386/pc/lnxboot.S: Replace
14488 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
14489 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
14490
b65830fa
VS
144912010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14492
14493 Write embedding zone using Reed-Solomon.
14494
14495 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
14496 * grub-core/Makefile.am (rs_decoder.S): New target.
14497 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
14498 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
14499 (multiboot): Move to RS part.
14500 (post_reed_solomon): New label.
14501 (grub_boot_drive): Move to non-RS part since it's modified in memory
14502 on boot.
14503 Include rs_decoder.S.
14504 * grub-core/lib/reed_solomon.c: New file.
14505 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
14506 New definition.
14507 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
14508 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
14509 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
14510 * include/grub/partition.h (grub_partition_map): Change prototype of
14511 embed to allow returning additional sectors.
14512 * include/grub/reed_solomon.h: New file.
14513 * util/grub-setup.c (setup): Handle Reed-Solomon.
14514
0b4b227f
CW
145152010-09-28 Colin Watson <cjwatson@ubuntu.com>
14516
14517 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
14518 i386 and x86-64 definedness tests.
14519
f772623b
YB
145202010-09-27 Yves Blusseau <blusseau@zetam.org>
14521
14522 Fix generation of kernel_syms.lst
14523
14524 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
14525 ASM_PREFIX
14526
8e57a6ca
RM
145272010-09-26 Robert Millan <rmh@gnu.org>
14528
14529 Support degraded ZFS arrays in "grub-probe -t device" resolution.
14530
14531 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
14532 the pool is an array of devices, iterate through it and return the
14533 first device that passes a stat() test (instead of blindly returning
14534 the first one).
14535
f9130836
RM
145362010-09-26 Robert Millan <rmh@gnu.org>
14537
14538 Build fixes for GNU/kFreeBSD.
14539
14540 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
14541 to programs that require ZFS conversion.
14542 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
14543 kernels that don't have FLOPPY_MAJOR.
14544
96510faf
BC
145452010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
14546
14547 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
14548
449333eb
BC
145492010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
14550
14551 Fix grub-emu build.
14552
14553 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
14554 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
14555 mdraid09 and mdraid1x.
14556
e1fd1939
CW
145572010-09-24 Colin Watson <cjwatson@ubuntu.com>
14558
14559 Re-enable grub-extras.
14560
14561 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
14562 avoid confusing Automake. Run autogen only twice, once for the top
14563 level and once for grub-core. Add Makefile.util.def and
14564 Makefile.core.def from extra modules to the appropriate autogen
14565 invocations. If Makefile.common exists in an extra module, include
14566 it in both Makefile.util.am and grub-core/Makefile.core.am;
14567 similarly, include any Makefile.util.common file in Makefile.util.am
14568 and any Makefile.core.common file in grub-core/Makefile.core.am.
14569 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
14570 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
14571 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
14572 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
14573
14574 * gentpl.py (gvar_add): Turn GVARS into a set.
14575 (global_variable_initializers): Sort global variables on output.
14576 (vars_init): New function.
14577 (first_time): Likewise.
14578 (library): Ensure that non-global variable initialisations are
14579 emitted before the first time we emit code for a library block.
14580 Append to variables rather than setting them. Only emit
14581 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
14582 each conditional path.
14583 (program): installdir() emits an Autogen macro, so must be passed to
14584 var_add rather than gvar_add.
14585 (data): Likewise.
14586 (script): Likewise.
14587 (rules): New function, centralising handling for different target
14588 types. Set up Guile association lists for first_time and vars_init,
14589 and send most output to a diversion so that variable initialisations
14590 can be emitted first.
14591 (module_rules): Use new rules function.
14592 (kernel_rules): Likewise.
14593 (image_rules): Likewise.
14594 (library_rules): Likewise.
14595 (program_rules): Likewise.
14596 (script_rules): Likewise.
14597 (data_rules): Likewise.
14598
14599 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
14600
14601 * .bzrignore: Add contrib and grub-core/contrib. Remove
14602 grub-core/Makefile.gcry.am.
14603
1d12cf29
YB
146042010-09-24 Yves Blusseau <blusseau@zetam.org>
14605
14606 * grub-core/lib/LzFind.c: Add missing include.
14607 * grub-core/lib/LzmaEnc.c: Likewise.
14608 * grub-core/script/lexer.c: Likewise.
14609 * grub-core/script/yylex.l: Likewise.
14610 * util/grub-macho2img.c: Likewise.
14611 * util/grub-menulst2cfg.c: Likewise.
14612 * util/grub-mklayout.c: Likewise.
14613 * util/grub-mkpasswd-pbkdf2.c
14614 * util/grub-mkrelpath.c: Likewise.
14615 * util/resolve.c: Likewise.
14616
dd363028
BC
146172010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
14618
14619 * Makefile.util.def (example_unit_test): Add
14620 grub-core/gnulib/libgnu.a.
14621
f5a109e2
GS
146222010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
14623
14624 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
14625
6d0fa83c
VS
146262010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
14627
14628 Support xz compression on yeeloong.
14629
14630 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
14631 * configure.ac: Check for LZMA.
14632 * grub-core/Makefile.core.def (xz_decompress): New target.
14633 (none_decompress): Likewise.
14634 * grub-core/boot/decompressor/minilib.c: New file.
14635 * grub-core/boot/decompressor/none.c: Likewise.
14636 * grub-core/boot/decompressor/xz.c: Likewise.
14637 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
14638 * grub-core/kern/mips/cache_flush.S: Likewise.
14639 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
14640 * grub-core/kern/mips/startup.S: Move first stage to ...
14641 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
14642 nomacro.
14643 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
14644 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
14645 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
14646 Allocate statically.
14647 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
14648 Allocate statically or use scratch. Don't check CRC32.
14649 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
14650 Allocate statically. Don't check CRC32.
14651 * include/grub/decompressor.h: New file.
14652 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
14653 Removed.
14654 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
14655 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
14656 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
14657 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
14658 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
14659 * util/grub-mkimage.c (grub_compression_t): New type.
14660 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
14661 (image_target_desc): New field default_compression.
14662 (image_targets): Adjust yeeloong targets.
14663 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
14664 (compress_kernel): New parameter comp.
14665 (generate_image): Likewise. Handle new compression case.
14666 (options): New option --compression
14667 (help): Likewise.
14668 (main): Handle new option.
14669
1b655af6
GS
146702010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
14671
14672 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
14673
8f03f0b5
CW
146742010-09-22 Colin Watson <cjwatson@ubuntu.com>
14675
14676 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
14677 typo in __i386__ conditional.
14678
7835dfd3
VS
146792010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
14680
14681 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
14682 include.
14683
e255597e
VS
146842010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
14685
6d0fa83c 14686 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
14687
14688 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
14689 new tags as supported.
14690 (acpiv2_size): New function.
14691 (grub_multiboot_get_mbi_size): Take new tags into account.
14692 (grub_multiboot_make_mbi): Add new tags.
14693 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 14694
6cc14051 146952010-09-21 Aleš Nesrsta <starous@volny.cz>
14696
14697 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
14698 Added missing configuration of USB device.
14699
df7769d8
CW
147002010-09-21 Colin Watson <cjwatson@ubuntu.com>
14701
14702 * grub-core/normal/menu_entry.c (run): Make sure we always return
14703 a value.
14704
b031012d
CW
147052010-09-21 Colin Watson <cjwatson@ubuntu.com>
14706
14707 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
14708 NumberOfPages is UINT64 according to the UEFI specification, not
14709 UINTN. Fix printf format.
14710
174de8f3
CW
147112010-09-21 Colin Watson <cjwatson@ubuntu.com>
14712
14713 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
14714 `err' to grub_usb_err_t.
14715 Reported and tested by: KESHAV P.R.
14716
d7dbe923
CW
147172010-09-21 Colin Watson <cjwatson@ubuntu.com>
14718
14719 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
14720 tpart non-const, so that we can assign to it. (Since this is a
14721 typedef, the constness refers to the pointer rather than what it
14722 points to.)
14723
8d5e2af3
CW
147242010-09-21 Colin Watson <cjwatson@ubuntu.com>
14725
14726 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
14727 $(top_srcdir)/grub-core/gnulib as well as
14728 $(top_builddir)/grub-core/gnulib.
14729 Reported by: KESHAV P.R.
14730
5c527783
CW
147312010-09-21 Colin Watson <cjwatson@ubuntu.com>
14732
14733 * util/grub-install.in: Fix the bootloader ID option to be
14734 consistently --bootloader-id, not --bootloader_id.
14735 Reported by: KESHAV P.R.
14736
d309a16e
CW
147372010-09-21 Colin Watson <cjwatson@ubuntu.com>
14738
14739 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
14740 check hash checksum." consistently translatable.
14741
b830cd16
YB
147422010-09-21 Yves Blusseau <blusseau@zetam.org>
14743
14744 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
14745 $(top_builddir).
14746
c4fe27a8
CW
147472010-09-21 Colin Watson <cjwatson@ubuntu.com>
14748
14749 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
14750 (GRUB_MOD_INIT): Register sha1sum command.
14751 (GRUB_MOD_FINI): Unregister sha1sum command.
14752
a4c1d277
YB
147532010-09-21 Yves Blusseau <blusseau@zetam.org>
14754
14755 Keep boot and grub directory names in sync with utils scripts
14756
14757 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
14758 * config.h.in: Add previous macros.
14759 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
14760 * util/grub-install.in: Use $bootdir and $grubdir variables.
14761
4eff79d2
CW
147622010-09-21 Colin Watson <cjwatson@ubuntu.com>
14763
14764 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
14765 convert partition names to disk names if the new `convert' parameter
14766 is set.
14767 (grub_util_biosdisk_get_grub_dev): If opening the disk device
14768 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
14769 disk in its own right. This can happen with Xen disk images.
14770
934d7e44
YB
147712010-09-21 Yves Blusseau <blusseau@zetam.org>
14772
14773 * util/grub-editenv.c: Update strings to avoid warnings when generating
14774 grub.pot file.
14775 * util/grub-setup.c: Likewise.
934d7e44 14776
df3367cc
VS
147772010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
14778
14779 * configure.ac: Change version to 1.99~beta0.
14780
77a94e98
VS
147812010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
14782
14783 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
14784 Add BADRAM.
14785 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
14786 Likewise.
14787 * include/multiboot.h: Resynced with specification.
14788 * include/multiboot2.h: Likewise.
14789
269004c1
CW
147902010-09-21 Colin Watson <cjwatson@ubuntu.com>
14791
14792 Fix po directory handling.
14793
14794 * configure.ac: Create po/Makefile.in rather than po/Makefile.
14795 * grub-core/gnulib/Makefile.am: Import gettext module.
14796 * m4/gnulib-cache.m4: Likewise.
14797 * m4/gnulib-comp.m4: Likewise.
14798 * m4/gettext.m4: New file, from gnulib.
14799 * m4/glibc2.m4: Likewise.
14800 * m4/iconv.m4: Likewise.
14801 * m4/intdiv0.m4: Likewise.
14802 * m4/intl.m4: Likewise.
14803 * m4/intldir.m4: Likewise.
14804 * m4/intlmacosx.m4: Likewise.
14805 * m4/intmax.m4: Likewise.
14806 * m4/inttypes-pri.m4: Likewise.
14807 * m4/lcmessage.m4: Likewise.
14808 * m4/lib-ld.m4: Likewise.
14809 * m4/lib-link.m4: Likewise.
14810 * m4/lib-prefix.m4: Likewise.
14811 * m4/lock.m4: Likewise.
14812 * m4/nls.m4: Likewise.
14813 * m4/po.m4: Likewise.
14814 * m4/printf-posix.m4: Likewise.
14815 * m4/progtest.m4: Likewise.
14816 * m4/threadlib.m4: Likewise.
14817 * m4/uintmax_t.m4: Likewise.
14818 * m4/visibility.m4: Likewise.
14819 * po/Makefile.am: Remove.
14820 * po/Makefile.in.in: New file, from gettext.
14821 ($(DOMAIN).pot-update): Support POTFILES-shell.
14822 * po/Makevars: New file.
14823 * po/POTFILES-shell: Rename to ...
14824 * po/POTFILES-shell.in: ... this. Update.
14825 * po/POTFILES: Rename to ...
14826 * po/POTFILES.in: ... this. Update.
14827 * po/Rules-quot: New file, from gettext.
14828 * po/boldquot.sed: Likewise.
14829 * po/en@boldquot.header: Likewise.
14830 * po/en@quot.header: Likewise.
14831 * po/insert-header.sin: Likewise.
14832 * po/quot.sed: Likewise.
14833 * po/remove-potcdate.sin: Likewise.
14834
3e0fa5d0
VS
148352010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14836
14837 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
14838
ade9bd66
VS
148392010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14840
14841 * util/grub.d/20_linux_xen.in: Use submenus.
14842
fc55cc4c
VS
148432010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14844
14845 Support submenus.
14846
14847 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
14848 parameter submenu. All users updated.
14849 * grub-core/normal/main.c (free_menu): Rename to ...
14850 (grub_normal_free_menu): ... this. Made global.
14851 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
14852 if requested.
14853 * grub-core/normal/menu_entry.c (screen): New field submenu.
14854 (make_screen): Set submenu.
14855 (run): Open new context if requested.
14856 * include/grub/menu.h (grub_menu_entry): New field submenu.
14857 * include/grub/normal.h (grub_normal_free_menu): New proto.
14858
600cedf7
VS
148592010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14860
14861 Menu entries extractor.
14862
14863 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
14864 variants.
14865 (GRUB_MOD_INIT): Register new variants.
14866 (GRUB_MOD_FINI): Unregister new variants.
14867 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
14868 into grub_cmd_legacy_source.
14869 (grub_cmd_legacy_source): Implement extractor variants.
14870 (GRUB_MOD_INIT): Register new variants.
14871 (GRUB_MOD_FINI): Unregister new variants.
14872 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
14873 as an extractor.
14874 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
14875 search as an extractor.
14876 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
14877 test as an extractor.
14878 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
14879 as an extractor.
14880 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
14881 (grub_env_new_context): New function.
14882 (grub_env_context_open): Likewise.
14883 (grub_env_extractor_open): Likewise.
14884 (grub_env_extractor_close): Likewise.
14885 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
14886 grub_extractor_level.
14887 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
14888 * include/grub/env.h (grub_env_extractor_open): New proto.
14889 (grub_env_extractor_close): Likewise.
14890 * include/grub/normal.h (grub_extractor_level): New external variable.
14891
7bda3a87
VS
148922010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14893
14894 Make cutmem accept a region specification.
14895 Suggested by: Samuel Thibault
14896
14897 * grub-core/mmap/mmap.c (parsemem): New function.
14898 (grub_cmd_cutmem): Handle new arguments.
14899
2ea57f88
VS
149002010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14901
14902 New command cutmem.
14903
14904 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
14905 (GRUB_MOD_INIT): Register new command.
14906 (GRUB_MOD_FINI): Unregister new command.
14907
74342e31
VS
149082010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14909
14910 Support some annoying BSD and Minix subpartitions.
14911
14912 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
14913 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
14914 Properly handle concatenation.
14915 * grub-core/kern/device.c (grub_device_iterate): Likewise.
14916 * grub-core/normal/completion.c (iterate_partition): Likewise.
14917 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
14918 contain partition. All users updated.
14919 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
14920 struct.
14921 (grub_openbsdlabel_partition_map): Likewise.
14922 (bsdlabel_partition_map_iterate): Rename to ..
14923 (iterate_real): ... this. New arguments sector, freebsd and pmap.
14924 (bsdlabel_partition_map_iterate): New function.
14925 (netopenbsdlabel_partition_map_iterate): Likewise.
14926 (netbsdlabel_partition_map_iterate): Likewise.
14927 (openbsdlabel_partition_map_iterate): Likewise.
14928 (GRUB_MOD_INIT): Register new partmaps.
14929 (GRUB_MOD_FINI): Unregister new partmaps.
14930 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
14931 (grub_partition_msdos_iterate): ... this. All users updated.
14932 Don't support embedding other than in a minix partition.
14933 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
14934 proto.
14935 * include/grub/partition.h (grub_partition): New field msdostype.
14936 * util/grub-install.in: Handle openbsd and netbsd types being in
14937 part_bsd module.
14938
1e8d555b
VS
149392010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14940
14941 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
14942
14943 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
14944 * grub-core/Makefile.core.def (mdraid): Renamed to ...
14945 (mdraid09): ... this.
14946 (mdraid1x): New module.
14947 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
14948 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
14949
899d8af4
VS
149502010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14951
14952 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
14953 vsprintf.
14954
40901acd
CW
149552010-09-20 Colin Watson <cjwatson@ubuntu.com>
14956
14957 * grub-core/commands/efi/lsefimmap.c: Correct header.
14958 * NEWS: Update.
14959
dfe3b247
CW
149602010-09-20 Colin Watson <cjwatson@ubuntu.com>
14961
14962 * util/grub-editenv.c (argp_parser): Don't pass translated strings
14963 as printf format strings; the translations might contain '%' which
14964 could cause a crash.
14965 (main): Likewise.
14966 * util/grub-fstest.c (argp_parser): Likewise.
14967 * util/grub-setup.c (argp_parser): Likewise.
14968 (main): Likewise.
14969
3286a4b4
VS
149702010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14971
14972 Use argp in grub-fstest.
14973
14974 * util/grub-fstest.c: Don't include getopt.h.
14975 Include argp.h.
14976 (root): New variable.
14977 (args_count): Likewise.
14978 (nparm): Likewise.
14979 (num_disks): Likewise.
14980 (images): Likewise.
14981 (cmd): Likewise.
14982 (debug_str): Likewise.
14983 (args): Likewise.
14984 (options): Transformed to argp.
14985 (usage): Removed.
14986 (main): Split argument parsing into ...
14987 (argp_parser): ... this. Changed to argp format.
14988 (argp): New variable.
14989 (main): Use argp_parse.
14990
3dccbe4b
TG
149912010-09-20 Tristan Gingold <gingold@free.fr>
149922010-09-20 Robert Millan <rmh.grub@aybabtu.com>
149932010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14994
14995 * grub-core/commands/efi/lsefimmap.c: New file.
14996 * grub-core/Makefile.core.def (lsefimmap): New module.
14997 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
14998
38c259a7
VS
149992010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15000
15001 Pause the execution (10s max) if any errors are displayed so the user
15002 has a chance to see them.
15003
15004 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
15005 (grub_print_error): Increment grub_err_printed_errors.
15006 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
15007 execution if any errors were displayed.
15008 (show_menu): Remove old code for pause.
15009 * grub-core/normal/menu_entry.c (run): Likewise.
15010 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
15011 users updated.
15012 (grub_normal_get_char_counter): Likewise.
15013 * include/grub/err.h (grub_err_printed_errors): New external variable.
15014 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
15015
f218b09c
VS
150162010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15017
15018 Support multiboot VBE info.
15019
15020 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
15021 Take VBE info into account.
15022 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
15023 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
15024 Call fill_vbe_info when appropriate.
15025 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
15026 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
15027 as supported.
15028 (grub_multiboot_get_mbi_size): Take new tags into account.
15029 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
15030 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
15031 Call fill_vbe_tag when appropriate.
15032 (grub_multiboot_make_mbi): Properly align tags.
15033 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
15034 function.
15035 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
15036 proto.
15037 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
15038
a9cc5438
VS
150392010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15040
15041 Suport manual terminal geometry specification.
15042
15043 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
15044 Save state in grub_ofconsole_terminfo_output.
15045 (grub_ofconsole_term): Use grub_terminfo_getwh.
15046 (grub_ofconsole_getwh): Removed.
15047 * grub-core/term/serial.c (grub_serial_getwh): Removed.
15048 (grub_serial_term): Use grub_terminfo_getwh.
15049 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
15050 (options): New struct.
15051 (OPTION_*): New enum.
15052 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
15053 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
15054 width and height.
15055 (grub_terminfo_getwh): New proto.
15056 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
15057
1a8fed20
VS
150582010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15059
15060 Handle legacy "terminal" command.
15061
15062 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
15063 and FLAG_TERMINAL.
15064 (legacy_commands): Add terminal and title.
15065 (grub_legacy_parse): Handle terminal. Simplify title handling.
15066
41e9c57d
VS
150672010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15068
15069 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
15070 parameters overflow.
15071
61c874c5
CW
150722010-09-20 Colin Watson <cjwatson@ubuntu.com>
15073
15074 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
15075 widthspec.h.
15076
15077 * docs/grub.texi (Shell-like scripting): Document `!'.
15078 (Network): Simplify using new i386-pc-pxe format. Mention
15079 grub-mknetdir.
15080
15081 * NEWS: Update.
15082
943682b4
CW
150832010-09-20 Colin Watson <cjwatson@ubuntu.com>
15084
15085 * Makefile.am (SUBDIRS): Restore "."; it's important to force
15086 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
15087 when needed.
15088
6d3d698d
CW
150892010-09-20 Colin Watson <cjwatson@ubuntu.com>
15090
15091 * grub-core/commands/efi/lsefisystab.c: Correct header.
15092 * grub-core/commands/efi/lssal.c: Likewise.
15093 * grub-core/commands/testload.c: Likewise.
15094
c982589f
CW
150952010-09-20 Colin Watson <cjwatson@ubuntu.com>
15096
15097 * util/grub-mkrescue.in: Add explicit root argument to --set to
15098 prevent the UUID being interpreted as an argument to --set (matches
15099 previous change to prepare_grub_to_access_device).
15100
a63c31b6
CW
151012010-09-20 Colin Watson <cjwatson@ubuntu.com>
15102
15103 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
15104 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
15105 the verbosity of later #ifs.
15106 (find_partition_start): Define this function on FreeBSD too.
15107 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
15108 function.
15109 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
15110 on FreeBSD.
15111
6439b8ee
YB
151122010-09-20 Yves Blusseau <blusseau@zetam.org>
15113
15114 * util/grub-editenv.c: Use argp instead of getopt.
15115
c5930ec8
YB
151162010-09-20 Yves Blusseau <blusseau@zetam.org>
15117
15118 * util/grub-setup.c: Use argp instead of getopt.
15119
15c69261
YB
151202010-09-20 Yves Blusseau <blusseau@zetam.org>
15121
15122 Use gnulib-tool to create gnulib source files.
15123
15124 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
15125 grub-core/gnulib directories
15126 * .bzignore: Add **/.deps and autogenerated gnulib files
15127 * configure.ac: Assign auxiliary directory to build-aux, add invocation
15128 of gnulib macros, add grub-core/gnulib/Makefile
15129 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
15130 include m4 directory to aclocal.
15131 * Makefile.util.def: Remove direct compilation of gnulib source files
15132 and use the new grub-core/gnulib/libgnu.a.
15133 * build-aux/config.rpath: move config.rpath from top directory to
15134 build-aux
15135 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
15136 in gnulib headers
15137 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
15138 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
15139 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
15140 header.
15141 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
15142 string.
15143
e511c9f5
YB
151442010-09-20 Yves Blusseau <blusseau@zetam.org>
15145
15146 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
15147 grub-core/genmod.sh and grub-core/gensyminfo.sh
15148
c2dede05
BC
151492010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
15150
15151 Add a test for echo command options.
15152
15153 * tests/grub_cmd_echo.in: New test.
15154 * Makefile.util.def: Rules for new test.
15155
c55f5018
SJ
151562010-09-20 Szymon Janc <szymon@janc.net.pl>
15157
15158 Remove crc.mod and move crc command to hashsum.mod.
15159 Remove lib/crc.c - users updated to use gcrypt implementation.
15160
15161 * grub-core/commands/crc.c: Removed.
15162 * grub-core/Makefile.core.def (crc): Module removed.
15163 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
15164 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
15165 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
15166 * grub-core/lib/crc.c: Removed.
15167 * include/grub/lib/crc.h: Removed.
15168 * Makefile.util.def (crc): Remove lib/crc.c
15169 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
15170 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
15171 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
15172 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
15173 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
15174 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
15175
e0337366
VS
151762010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15177
15178 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
15179
742f9232
VS
151802010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15181
15182 Split config.h for util and core.
15183
15184 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
15185 (ADDR32): Likewise.
15186 (DATA32): Likewise.
15187 (BSS_START_SYMBOL): Likewise.
15188 (END_SYMBOL): Likewise.
15189 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
15190 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
15191 * config.h.in: New file.
15192 * configure.ac: Use config-util.h as config define file.
15193 Rename MACHINE into GRUB_MACHINE. All users updated.
15194 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
15195 updated.
15196 (NESTED_FUNC_ATTR): Likewise.
15197 Substitue new variables.
15198 (COND_HAVE_ASM_USCORE): New conditional.
15199 * grub-core/Makefile.am (ASM_PREFIX): New variable.
15200 (kernel_syms.lst): Use ASM_PREFIX.
15201 * grub-core/kern/emu/console.c: Include config-util.h.
15202 * grub-core/kern/emu/misc.c: Likewise.
15203 * grub-core/kern/emu/mm.c: Likewise.
15204 * include/grub/emu/misc.h: Likewise.
15205 * include/grub/libgcc.h: Likewise.
15206
39feb0e8
VS
152072010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15208
15209 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
15210 constants usage.
15211 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
15212 Fix GRUB_TERM_KEY_* constants usage.
15213 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
15214
9af6dac3
VS
152152010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15216
15217 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
15218 print pointer.
15219 * grub-core/bus/usb/uhci.c: Remove empty define.
15220 (grub_uhci_check_transfer): Add missing cast.
15221 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
15222 print pointer.
15223 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
15224 PRIuGRUB_SIZE.
15225 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
15226
d6d94820
VS
152272010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15228
15229 * grub-core/Makefile.core.def (legacycfg): Add
15230 lib/i386/pc/vesa_modes_table.c on emu.
15231
3572f2b6
BC
152322010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
15233
15234 Reduce number of temporary files generated by build system.
15235
15236 * grub-core/gencmdlist.sh: Removed.
15237 * grub-core/genfslist.sh: Removed.
15238 * grub-core/genhandlerlist.sh: Removed.
15239 * grub-core/genmodsrc.sh: Removed.
15240 * grub-core/genpartmaplist.sh: Removed.
15241 * grub-core/genparttoollist.sh: Removed.
15242 * grub-core/gentermiinallist.sh: Removed.
15243 * grub-core/genvideolist.sh: Removed.
15244
15245 * grub-core/genmod.sh.in: New file.
15246 * grub-core/gensyminfo.sh.in: New file.
15247
15248 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
15249 * conf/Makefile.extra-dist: Update with new files.
15250 * gentpl.py: Remove rules related to unnecessary temporary files.
15251 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
15252 and und-* files.
15253 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
15254 genmod.sh scripts.
15255 * grub-core/bus/usb/uhci.c: Remove empty #define.
15256 * grub-core/genmoddep.awk: Updated with new syminfo format.
15257 * util/bash-completion.d/Makefile.am: Add config.log to
15258 CLEANFILES.
15259
c836b030
YB
152602010-09-19 Yves Blusseau <blusseau@zetam.org>
15261
15262 * Makefile.util.def: Add forgotten $(LIBINTL) library.
15263
2f4e8053
BC
152642010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
15265
15266 * util/grub-mkconfig.in: Check the config script for syntax errors
15267 before saving.
15268
75831c34
CW
152692010-09-19 Colin Watson <cjwatson@ubuntu.com>
152702010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15271
15272 * Makefile.util.def (grub-install): Use util/grub-install.in on all
15273 platforms.
15274 * util/grub-install.in: Add EFI and IEEE1275 support.
15275 * util/i386/efi/grub-install.in: Removed.
15276 * util/ieee1275/grub-install.in: Likewise.
15277
eaf41b25
VS
152782010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15279
15280 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
15281 (grub_cmd_cmosclean): Likewise.
15282 (GRUB_MOD_INIT): Register command cmosclean.
15283 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
15284 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
15285
1a9130dd
CPE
152862010-09-18 Carles Pina i Estany <carles@pina.cat>
152872010-09-18 Aleš Nesrsta <starous@volny.cz>
152882010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15289
15290 Add keyboard layouts support.
15291
15292 * Makefile.util.def (grub-mklayout): New file.
15293 (grub-kbdcomp): New script.
15294 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
15295 Add keyboard_layouts.h.
15296 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
15297 commands/boot.c on yeeloong.
15298 (keylayouts): New module.
15299 * grub-core/bus/usb/ohci.c
15300 * grub-core/bus/usb/uhci.c
15301 * grub-core/bus/usb/usbhub.c (rescan): New variable.
15302 (grub_usb_add_hub): Poll interrupt pipe for device handling.
15303 (attach_root_port): Likewise.
15304 (poll_nonroot_hub): Likewise.
15305 (grub_usb_poll_devices): Likewise.
15306 (detach_device): Close transfer.
15307 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
15308 function.
15309 (grub_usb_bulk_setup_readwrite): Likewise.
15310 (grub_usb_bulk_finish_readwrite): Likewise.
15311 * grub-core/commands/keylayouts.c: New file.
15312 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
15313 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
15314 aliases.
15315 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
15316 support scancode 2.
15317 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
15318 * include/grub/keyboard_layouts.h: New file.
15319 * util/grub-mklayout.c: New file.
15320 * util/grub-kbdcomp.in: Likewise.
15321
a1d84a5e
VS
153222010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15323
15324 Unify memory types.
15325
15326 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
15327 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
15328 types.
15329 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
15330 (grub_upper_mem): Likewise.
15331 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
15332 * include/grub/memory.h (grub_memory_type_t): New enum.
15333 All users updated.
15334
9696382e
VS
153352010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15336
15337 * grub-core/Makefile.core.def (lsapm): New module.
15338 * grub-core/commands/i386/pc/lsapm.c: New file.
15339 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
15340 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
15341 Likewise.
15342 * include/grub/i386/pc/apm.h: New file.
15343 * include/multiboot.h (multiboot_apm_info): New struct.
15344
153452010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15346
15347 GRUB-legacy configuration file support.
15348
15349 * Makefile.util.def (grub-menulst2cfg): New util.
15350 * docs/man/grub-menulst2cfg.h2m: New file.
15351 * grub-core/Makefile.core.def (legacycfg): New module.
15352 * grub-core/commands/legacycfg.c: New file.
15353 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
15354 (grub_normal_add_menu_entry): ... this.
15355 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
15356 (grub_normal_set_password): ...this.
15357 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
15358 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
15359 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
15360 * grub-core/lib/legacy_parse.c: New file.
15361 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
15362 * include/grub/i386/pc/vesa_modes_table.h: New file.
15363 * include/grub/legacy_parse.h: Likewise.
15364 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
15365 * util/grub-menulst2cfg.c: New file.
15366
bf8d1338
CW
153672010-09-17 Colin Watson <cjwatson@ubuntu.com>
15368
15369 * grub-core/kern/emu/hostdisk.c
15370 (convert_system_partition_to_system_disk): Initialise node.
15371
9c0bad2e
CW
153722010-09-17 Colin Watson <cjwatson@ubuntu.com>
15373
15374 * grub-core/kern/emu/hostdisk.c
15375 (convert_system_partition_to_system_disk): Fix devmapper memory pool
15376 leak.
15377 Reported and based on patch by: Modestas Vainius.
15378
a939d135
CW
153792010-09-17 Colin Watson <cjwatson@ubuntu.com>
15380
15381 Fix DM-RAID probing with recent versions of device-mapper udev
15382 rules.
15383
15384 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
15385 canonicalise device paths under /dev/mapper/.
15386 (convert_system_partition_to_system_disk): Compare the
15387 uncanonicalised path to /dev/mapper/ rather than the canonicalised
15388 path, since device nodes under /dev/mapper/ are often symlinks.
15389
0f7ee3c9
YB
153902010-09-17 Yves Blusseau <blusseau@zetam.org>
15391
15392 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
15393
10854d0d
YB
153942010-09-16 Yves Blusseau <blusseau@zetam.org>
15395
15396 * configure.ac: Avoid some annoying error messages if freetype-config
15397 program is not found.
15398
108538d8
CW
153992010-09-16 Colin Watson <cjwatson@ubuntu.com>
15400
15401 Support RAID on virtio devices, and others.
15402
15403 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
15404 Rename to ...
15405 [__MINGW32__] (grub_find_device): ... this.
15406 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
15407 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
15408 reasonable default if dir is NULL.
15409 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
15410 ...
15411 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
15412 (grub_guess_root_device): Update callers.
15413 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
15414
15415 * util/raid.c (grub_util_getdiskname): Remove.
15416 (grub_util_raid_getmembers): Use grub_find_device rather than
15417 grub_util_getdiskname.
15418
e5bfc130
CW
154192010-09-16 Colin Watson <cjwatson@ubuntu.com>
15420
15421 * docs/grub.texi (serial): Remove obsolete comment about GRUB
15422 needing to be compiled with serial support.
15423 (ls): Indicate that multiple files are accepted.
15424 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
15425 indicate that multiple files are accepted.
15426
be458ae2
CW
154272010-09-16 Colin Watson <cjwatson@ubuntu.com>
15428
15429 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
15430 libgrub_a_init.c, and util/bash-completion.d/grub.
15431
cb731b5e
VS
154322010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15433
15434 * util/grub-setup.c (setup): Fix incorrect container semantics.
15435
35139e8a
VS
154362010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15437
15438 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
15439 misusage.
15440 Reported by: J. Nick Terry
15441
e50fca4a
VS
154422010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15443
15444 Move embedding routines to partmap sources files.
15445
15446 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
15447 [GRUB_UTIL]: New variable.
15448 (gpt_partition_map_iterate): Set part.parent.
15449 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
15450 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
15451 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
15452 New function.
15453 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
15454 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
15455 (grub_partition_map) [GRUB_UTIL]: New field embed.
15456 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
15457 (setup): Use ->embed.
15458
f00478b7
VS
154592010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15460
15461 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
15462 function.
15463 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
15464 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
15465
2b94e3ff
YB
154662010-09-15 Yves Blusseau <blusseau@zetam.org>
15467
15468 Add function to get completions from usage.
15469
15470 * util/bash-completion.d/grub-completion.bash.in: Add function to get
15471 completions from usage. Use LC_ALL=C to get options properly.
15472
2e04a006
VS
154732010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15474
15475 * grub-core/gnulib/basename-lgpl.c: Imported.
15476 * grub-core/gnulib/basename.c: Likewise.
15477 * grub-core/gnulib/dirname-lgpl.c: Likewise.
15478 * grub-core/gnulib/dirname.c: Likewise.
15479 * grub-core/gnulib/dirname.h: Likewise.
15480 * grub-core/gnulib/stripslash.c: Likewise.
15481
5dcdf93a
VS
154822010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15483
15484 * grub-core/gnulib/error.c: Resynced.
15485 * grub-core/gnulib/getopt.c: Likewise.
15486 * grub-core/gnulib/getopt_int.h: Likewise.
15487 * grub-core/gnulib/regex.h: Likewise.
15488 * grub-core/gnulib/regex_internal.c: Likewise.
15489 * grub-core/gnulib/regex_internal.h: Likewise.
15490
014f47b7
SJ
154912010-09-15 Szymon Janc <szymon@janc.net.pl>
15492
15493 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
15494 CRC calculations and validity checks.
15495 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
15496 calculations.
15497
dd521a4a
SJ
154982010-09-15 Szymon Janc <szymon@janc.net.pl>
15499
15500 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
15501
79c4eeb9
VS
155022010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15503
15504 Fix incorrect echo options handling.
15505 Reported by: Yves Blusseau.
15506
15507 * include/grub/command.h (grub_command_flags_t): New flags
15508 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
15509 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
15510 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
15511
ed80f7d5
VS
155122010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15513
15514 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
15515 users updated.
15516 (GRUB_COMMAND_FLAG_MENU): Likewise.
15517 (GRUB_COMMAND_FLAG_BOTH): Likewise.
15518 (GRUB_COMMAND_FLAG_TITLE): Removed.
15519 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
15520 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
15521 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
15522 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
15523 (grub_command_flags_t): New enum. All users updated.
15524
5fe7620a
SG
155252010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
15526
15527 Fix solaris compilation.
15528
15529 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
15530 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
15531 (grub-emu-list): Likewise.
15532
545b752f
VS
155332010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15534
15535 Remove deprecated root command.
15536
15537 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
15538 updated.
15539
6c1a338c
VS
155402010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15541
15542 * util/i386/pc/grub-setup.c: Merge this ...
15543 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
15544 * util/grub-setup.c: ... into this.
15545 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
15546 New struct.
15547
155482010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15549
15550 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
15551 possible.
15552
d2ea4551
VS
155532010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15554
15555 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
15556 allocate p.
15557
3c3b5040
VS
155582010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15559
15560 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
15561 explicit root argument to set to prevent UUID to be interpreted as
15562 argument to set.
15563
b71c3fae
VS
155642010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15565
15566 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
15567
275433e6
VS
155682010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15569
15570 Don't export grub_gate_a20.
15571
15572 * grub-core/kern/i386/pc/init.c: Remove leftovers.
15573 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
15574 to ...
15575 (grub_gate_a20): ... this. All users updated.
15576 * include/grub/i386/pc/init.h: Removed. All users updated.
15577
a5dbb1f1
VS
155782010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15579
15580 Create euro.pf2 which supports most European languages.
15581
15582 * Makefile.am (grubdata_DATA): Add euro.pf2.
15583 (euro.pf2): New target.
15584 (CLEANFILES): Add euro.pf2.
15585
62a747cb
VS
155862010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15587
15588 * configure.ac: Disable emu-usb by default to prevent inadvertent
15589 device takeover.
15590
608e43b1
VS
155912010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15592
15593 Disable usbserial on grub-emu since our libusb code isn't good enough
15594 yet.
15595
15596 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
15597 (usbserial_pl2303): Likewise.
15598 (usbserial_ftdi): Likewise.
15599
94564f81
VS
156002010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15601
15602 * include/grub/disk.h (grub_disk): Remove has_partitions.
15603 All users updated.
15604 * disk/loopback.c (grub_loopback): Remove has_partitions.
15605 All users updated.
15606 (options): Remove partitions. All users updated.
15607 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
15608 * util/i386/pc/grub-setup.c (setup): copy partition table only when
15609 actual partition table is found.
15610
3352800b
VS
156112010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15612
15613 Remove readability checks (too many false negatives).
15614
15615 * util/grub-install.in: Remove readability checks.
15616 * util/grub-mkconfig.in: Likewise.
15617 * util/grub.d/10_hurd.in: Likewise.
15618 * util/grub.d/10_kfreebsd.in: Likewise.
15619 * util/grub.d/10_linux.in: Likewise.
15620 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
15621 way.
15622
2419f17a
VS
156232010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15624
15625 Enable acpi shutdown on all ACPI platforms.
15626
15627 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
15628 on coreboo, multiboot and EFI.
15629 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
15630 (grub_acpi_halt): Likewise.
15631 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
15632 (grub_cmd_halt): Don't call grub_acpi_halt directly.
15633 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
15634 * grub-core/lib/i386/halt.c (grub_halt)
15635 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
15636
0575c7c3
VS
156372010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15638
15639 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
15640 context.
15641
54ac3cd1
VS
156422010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15643
15644 * grub-core/video/efi_gop.c: Fix over-80-chars line.
15645 * grub-core/video/efi_uga.c: Likewise.
15646
b2a30ac5
VS
156472010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15648
15649 Filter devaliases and never open same device twice.
15650
15651 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
15652 (last_ihandle): Likewise.
15653 (ofdisk_hash_ent): New member shortest.
15654 (ofdisk_hash_add): Add canonical path too.
15655 (scan): New function.
15656 (grub_ofdisk_iterate): Iterate over hashed entries.
15657 (compute_dev_path): Don't add :0.
15658 (grub_ofdisk_open): Don't really open the disk.
15659 (grub_ofdisk_close): Avoid closing unrelated disk.
15660 (grub_ofdisk_read): Implement reopen logic.
15661 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
15662 New function.
15663 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
15664 New proto.
15665
fb53b340
VS
156662010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15667
15668 Fix sparc64.
15669
15670 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
15671 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
15672 right address. Add sparc64_ieee1275_ldflags.
15673 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
15674 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
15675 to grub_host_to_target_addr
15676 (load_image): Likewise.
15677
f452b040
VS
156782010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15679
15680 * grub-core/normal/completion.c (complete_file): Handle device
15681 containing slash.
15682 Fix based on patch by Doug Nazar.
15683
9b5b2541
VS
156842010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15685
15686 grub-mknetdir script.
15687
15688 * Makefile.util.def (grub-mknetdir): New module.
15689 * tests/util/grub-shell.in: Support boot=net
15690 * util/grub-mknetdir.in: New file.
15691
9d2be652
VS
156922010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15693
15694 videoinfo on non-vbe.
15695
15696 * grub-core/Makefile.core.def (vbeinfo): Removed.
15697 (vbetest): Removed.
15698 (videoinfo): New module.
15699 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
15700 * grub-core/commands/i386/pc/vbetest.c: Removed.
15701 * grub-core/commands/videoinfo.c: New file.
15702 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
15703 specification.
15704 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
15705 as vbetest.
15706 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
15707 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
15708 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
15709 mode_number. New parameter mode. All users updated.
15710 (grub_video_gop_iterate): New function.
15711 (grub_video_efi_gop): New member iterate.
15712 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
15713 (grub_vbe_set_video_mode): Remove setting useless fields.
15714 (vbe2videoinfo): New function.
15715 (grub_video_vbe_iterate): Likewise.
15716 (grub_video_vbe_setup): Use vbe2videoinfo.
15717 (grub_video_vbe_print_adapter_specific_info): New function.
15718 (grub_video_vbe_adapter): New fields iterate and
15719 print_adapter_specific_info.
15720 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
15721 All users updated.
15722 (grub_video_mode_info): New field mode_number.
15723 (grub_video_adapter): New fields iterate and
15724 print_adapter_specific_info.
15725
179503f5
TG
157262010-09-13 Tristan Gingold <gingold@free.fr>
157272010-09-13 Robert Millan <rmh.grub@aybabtu.com>
157282010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15729
15730 * grub-core/commands/efi/lsefisystab.c: New file.
15731 * grub-core/commands/efi/lssal.c: Likewise.
15732 * grub-core/Makefile.core.def (lsacpi): New module.
15733 (lsefisystab): Likewise.
15734 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
15735 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
15736 (grub_efi_sal_system_table): New struct.
15737 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
15738 (grub_efi_sal_system_table_memory_descriptor): Likewise.
15739 (grub_efi_sal_system_table_platform_features): Likewise.
15740 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
15741 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
15742 (grub_efi_sal_system_table_ap_wakeup): Likewise.
15743 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
15744
cf9827de
VS
157452010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15746
15747 Support explicit user claim that a device is BIOS-visible.
15748
15749 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
15750 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
15751 * grub-core/kern/emu/hostdisk.c
15752 (convert_system_partition_to_system_disk): Support mdX.
15753 (find_system_device): New parameter add. All users updated.
15754 (grub_util_biosdisk_is_present): New function.
15755 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
15756 proto.
15757
53f0eb1f
VS
157582010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15759
15760 Search hints support.
15761
15762 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
15763 All users updated.
15764
b23ffd70
YB
157652010-09-13 Yves Blusseau <blusseau@zetam.org>
15766
15767 Bash completion script for util commands
15768
15769 * Makefile.am: Add util/bash-completion.d directory
15770 * configure.ac: Likewise.
15771 * util/bash-completion.d/Makefile.am: New file.
15772 * util/bash-completion.d/grub-completion.bash.in: Likewise.
15773
d547dc28
VS
157742010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15775
15776 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
15777 (print_backlog): set backlog_ucs4 and backlog_glyphs.
15778 Reported by: Yves Blusseau.
15779
2fc8ccb9
VS
157802010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15781
15782 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
15783 partition size and offset.
15784
d8a84076
VS
157852010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15786
15787 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
15788
84fb3b3d
VS
157892010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15790
15791 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
15792
768ec2e2
VS
157932010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15794
15795 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
15796 (grub_xvasprintf): Likewise.
15797
4870900f
VS
157982010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15799
15800 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
15801
faca6bec
VS
158022010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15803
15804 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
15805 args ending with NULL.
15806
158072010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
15808
15809 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
15810 pointer.
15811
3c70f225
SJ
158122010-09-11 Szymon Janc <szymon@janc.net.pl>
15813
15814 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
15815
4df7996d
VS
158162010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15817
15818 Shutdown using ACPI.
15819
15820 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
15821 * grub-core/commands/acpihalt.c: New file.
15822 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
15823 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
15824 (grub_acpi_halt): New proto.
15825 (GRUB_ACPI_SLP_EN): New const.
15826 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
15827 (GRUB_ACPI_OPCODE_*): New enum.
15828 (GRUB_ACPI_EXTOPCODE_*): Likewise.
15829
126b4c32
TG
158302010-09-11 Tristan Gingold <gingold@free.fr>
158312010-09-11 Robert Millan <rmh.grub@aybabtu.com>
158322010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15833
15834 * commands/lsacpi.c: New file.
15835 * grub-core/Makefile.core.def (lsacpi): New module.
15836 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
15837 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
15838 (grub_acpi_madt_entry_header): New struct.
15839 (grub_acpi_madt): Likewise.
15840 (grub_acpi_madt_entry_interrupt_override): Likewise.
15841 (grub_acpi_madt_entry_sapic): Likewise.
15842 (grub_acpi_madt_entry_lsapic): Likewise.
15843 (grub_acpi_madt_entry_platform_int_source): Likewise.
15844 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
15845 (PRIuGRUB_UINT32_T): Likewise.
15846 (PRIxGRUB_UINT64_T): Likewise.
15847
1aa4fe88
VS
158482010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15849
15850 Implement loading palette on ieee1275_fb.
15851
15852 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
15853 (have_setcolors): Likewise.
15854 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
15855 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
15856 (grub_video_ieee1275_set_palette): Implement.
15857
25761e13
VS
158582010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
158592010-09-11 Colin Watson <cjwatson@ubuntu.com>
15860
15861 * util/grub-install.in (grub_partition): New variable.
15862 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
15863 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
15864 Fixes a bug reported by Yves Blusseau.
15865
050abaea
VS
158662010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15867
15868 Fix emu on mipsel.
15869
15870 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
15871 =grub_cpu_flush_cache on all mips and not only yeeloong.
15872 * configure.ac (COND_mips): New conditional.
15873 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
15874 platforms.
15875 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
15876 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
15877 [GRUB_LINKER_HAVE_INIT]: New function.
15878 (grub_emu_post_init): Likewise.
15879 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
15880 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
15881 * include/grub/cache.h (_mips): Include mips/cache.h.
15882 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
15883 LVM and RAID prototypes.
15884 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
15885 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
15886 function.
15887
5ed7d816
CW
158882010-09-10 Colin Watson <cjwatson@ubuntu.com>
15889
15890 * util/grub-install.in: Don't try to verify core.img until after
15891 running grub-mkimage to create it.
15892
90367e04
RM
158932010-09-10 Robert Millan <rmh@gnu.org>
15894
15895 * util/grub.d/10_hurd.in: Add misc readability checks.
15896 * util/grub.d/10_kfreebsd.in: Likewise.
15897 * util/grub.d/10_linux.in: Likewise.
15898
c452fa66
CW
158992010-09-10 Colin Watson <cjwatson@ubuntu.com>
15900
15901 * util/grub-install.in: ${imgext} won't be defined here until the
15902 install branch is merged. For the meantime, only verify core.img on
15903 i386-pc and sparc64-ieee1275 platforms.
15904
c38fe9f4
RM
159052010-09-10 Robert Millan <rmh@gnu.org>
15906
15907 Solaris support in grub_find_zpool_from_dir(). Thanks
15908 Seth Goldberg for referring to getextmntent() facility.
15909
15910 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
15911 `sys/mkdev.h'.
15912 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
15913 `<sys/mnttab.h>'.
15914 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
15915 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
15916 method for finding zpool name.
15917
905f7773
CW
159182010-09-10 Colin Watson <cjwatson@ubuntu.com>
15919
15920 grub-fstest needs the host and hostfs modules while other utilities
15921 actively require those modules to be absent, so grub-fstest needs
15922 its own initialisation and finalisation code.
15923
15924 * Makefile.am (grub_fstest.pp): New target.
15925 (grub_fstest_init.lst): Likewise.
15926 (grub_fstest_init.c): Likewise.
15927 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
15928
fb90b546
RM
159292010-09-10 Robert Millan <rmh@gnu.org>
15930
15931 * configure.ac: Check for `struct statfs.f_fstypename' and
15932 `struct statfs.f_mntfromname'.
15933
15934 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
15935 kFreeBSD-specific code.
15936
66d4bea5
RM
159372010-09-10 Robert Millan <rmh@gnu.org>
15938
15939 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
15940 on ZFS. Now non-main filesystems are supported as / too.
15941
b6a690ee
CW
159422010-09-09 Colin Watson <cjwatson@ubuntu.com>
15943
15944 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
15945 and grub-core/disk/host.c to ...
15946 (grub-fstest): ... here. Having the host disk implementation
15947 present confuses grub-probe and other utility programs.
15948
15949 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
15950 when writing to a file, not when writing to stdout.
15951
8901b00c 159522010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
15953
15954 * tests/partmap_test.in: New test for partitions.
15955 * Makefile.util.def: Rules for new test.
15956
7bf45fdd
RM
159572010-09-09 Robert Millan <rmh@gnu.org>
15958
15959 * util/grub-probe.c (probe): Fix a pair of unhandled error
15960 conditions.
15961
4dfbc574
RM
159622010-09-09 Robert Millan <rmh@gnu.org>
15963
15964 Basic Btrfs support (detection and UUID).
15965
15966 * grub-core/fs/btrfs.c: New file.
15967 * Makefile.util.def (library): Register btrfs.c.
15968 * grub-core/Makefile.core.def: Likewise.
15969
6b8e78ae
RM
159702010-09-08 Robert Millan <rmh@gnu.org>
15971
15972 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
15973 with (optional) parameters to specify device and relative path.
15974 * util/grub-install.in: Use is_path_readable_by_grub() to
15975 verify readability of a few critical files.
15976 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
15977 verify readability of grub.cfg.new.
15978
27f21a8b
VS
159792010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
15980
15981 Split minix.mod into minix.mod and minix2.mod.
15982
15983 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
15984 * grub-core/Makefile.core.def (minix2): New module.
15985 * grub-core/fs/minix.c: Use definitions instead of runtime version
15986 checking.
15987 * grub-core/fs/minix2.c: New file.
15988
c0e53ea5
YB
159892010-09-08 Yves Blusseau <blusseau@zetam.org>
15990
15991 Add new --boot-directory option to replace --root-directory
15992
15993 * util/grub-install.in: Add new --boot-directory option
15994 * util/grub-reboot.in: Likewise.
15995 * util/grub-set-default.in: Likewise.
15996
b9fe6ea2
YB
159972010-09-08 Yves Blusseau <blusseau@zetam.org>
15998
15999 * util/grub-mkconfig.in: Use new variable.
16000
d87aedff
YB
160012010-09-08 Yves Blusseau <blusseau@zetam.org>
16002
16003 * configure.ac: Define some useful variables.
16004
e55e8495
VS
160052010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
16006
16007 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
16008 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
16009 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
16010 Use terminfo and don't use cursor-on/cursor-off unless it's known
16011 to work.
16012 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
16013 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
16014
6fa6d675
CW
160152010-09-08 Colin Watson <cjwatson@ubuntu.com>
16016
16017 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
16018 starts with "(,", fill the drive containing the loaded image in
16019 between those two characters, but expect that a full partition
16020 specification including partition map names will follow.
16021
92f2aef0
RM
160222010-09-08 Robert Millan <rmh@gnu.org>
16023
16024 * configure.ac: Remove `--enable-grub-fstest' option.
16025 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
16026
16027 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
16028 `grub-fstest' instead of `grub-probe' for readability verification.
16029 * util/grub-probe.c (probe): Remove readability verification kludge.
16030
99fd620d
RM
160312010-09-08 Robert Millan <rmh@gnu.org>
16032
16033 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
16034 initializing `GRUB_FS'.
16035
058e30ac 160362010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
16037
16038 Not command (!) support to GRUB script.
16039
16040 * tests/grub_script_not.in: New test.
16041 * Makefile.util.def: Rules for new test.
16042
16043 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
16044 ! command as a special case.
16045 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
16046
b61d05ed 160472010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
16048
058e30ac 16049 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
16050 grub_free.
b61d05ed 16051
4d69c786 160522010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
16053
16054 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
16055
aa3119c4 160562010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
16057
16058 * docs/grub.texi (Shell-like scripting): Documentation for break,
16059 continue, shift and return commands.
16060
db0f7e3d
VS
160612010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
16062
16063 Rename CD-ROM to cd on BIOS.
16064
16065 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
16066 "cd".
16067 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
16068
88b87c93
VS
160692010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16070
16071 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
16072 * util/grub-probe.c (main): Likewise.
16073 * util/i386/pc/grub-setup.c (main): Likewise.
16074 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
16075 Reported and debugged by: alexxy
16076
294f324d
VS
160772010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16078
16079 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
16080 diagnostic info.
16081
d7ee3441
JS
160822010-09-05 Jo Shields <directhex@apebox.org>
16083
16084 * util/grub.d/30_os-prober.in: Add missing classes.
16085
d7e06c1f
VS
160862010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16087
16088 * docs/grub.texi (Theme file format): Document new position format.
16089
fc157e53
VS
160902010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16091
16092 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
16093 a table. Use @code instead of @verbatim.
16094
506e9a1c
CB
160952010-09-05 Colin D Bennett <colin@gibibit.com>
16096
16097 Gfxmenu documentation.
16098
16099 * docs/grub.texi (Theme file format): New chapter.
16100
f0aff67c
SJ
161012010-09-05 Szymon Janc <szymon@janc.net.pl>
16102
16103 * grub-core/Makefile.core.def (xzio): New module.
16104 * grub-core/io/xzio.c: New file.
16105 * grub-core/lib/xzembed/xz.h: New file (from xembed).
16106 * grub-core/lib/xzembed/xz_config.h: Likewise.
16107 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
16108 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
16109 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
16110 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
16111 * grub-core/lib/xzembed/xz_private.h: Likewise.
16112 * grub-core/lib/xzembed/xz_stream.h: Likewise.
16113 * include/grub/file.h (grub_file_filter_id): New compression filter
16114 GRUB_FILE_FILTER_XZIO.
16115
82a85062
VS
161162010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16117
16118 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
16119 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
16120 size.
16121
3579415d
VS
161222010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16123
16124 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
16125 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
16126
5124ae6d
VS
161272010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16128
16129 Uncompressed checksum support.
16130
16131 * grub-core/commands/hashsum.c (options): Add option --uncompress.
16132 (check_list): New parameter uncompress.
16133 (grub_cmd_hashsum): Handle --uncompress.
16134
9aadb3d1
VS
161352010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16136
16137 Reintroduce testload.
16138
16139 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
16140 from here ...
16141 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
16142 (GRUB_MOD_INIT): New function.
16143 (GRUB_MOD_FINI): Likewise.
16144 * grub-core/Makefile.core.def (testload): New module.
16145
a17792c3
SJ
161462010-09-05 Szymon Janc <szymon@janc.net.pl>
16147
16148 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
16149 (uint8_t): New type.
16150 (uint16_t): Likewise.
16151 (uint32_t): Likewise.
16152 (uint64_t): Likewise.
16153
b81e40a3
SJ
161542010-09-05 Szymon Janc <szymon@janc.net.pl>
16155
16156 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
16157
fc2ef117
VS
161582010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16159
16160 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
16161 Made static.
16162 (grub_gzfile_open): Removed. All users updated.
16163 (GRUB_MOD_INIT): New function.
16164 (GRUB_MOD_FINI): Likewise.
16165 * grub-core/kern/file.c (grub_file_filters_all): New variable.
16166 (grub_file_filters_enabled): Likewise.
16167 (grub_file_open): Handle filters.
16168 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
16169 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
16170 * include/grub/file.h (grub_file_filter_id_t): New type.
16171 (grub_file_filter_t): Likewise.
16172 (grub_file_filters_all): New extern variable.
16173 (grub_file_filters_enabled): Likewise.
16174 (grub_file_filter_register): New inline function.
16175 (grub_file_filter_unregister): Likewise.
16176 (grub_file_filter_disable): Likewise.
16177 (grub_file_filter_disable_compression): Likewise.
16178 * include/grub/gzio.h: Removed.
16179
35ee15e0
BC
161802010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16181
16182 Filename expansion support for wildcards in GRUB script.
16183
16184 * tests/grub_script_expansion.in: New test.
16185 * Makefile.util.def: Rule for new test.
16186
16187 * grub-core/commands/wildcard.c: New file, implements filename
16188 expansion support for GRUB script.
16189 * grub-core/Makefile.core.def: Rule update for regexp.mod.
16190 * grub-core/script/argv.c: Cosmetic changes.
16191 * grub-core/script/execute.c (grub_script_arglist_to_argv):
16192 Refactored to perform wildcard expansion on arguments.
16193 * include/grub/script_sh.h (grub_script_wildcard_translator): New
16194 struct.
16195
16196 * tests/util/grub-shell.in: Fix quoting for read input.
16197
5f0c4aca
BC
161982010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16199
16200 Support for updating environment variables with matched substrings
16201 of regexp.
16202
16203 * tests/grub_cmd_regexp.in: New test.
16204 * Makefile.util.def: Rule for new test.
16205
16206 * grub-core/commands/regexp.c: New option -s to update environment
16207 variables with regexp matches.
16208
3759a35f
SJ
162092010-09-04 Szymon Janc <szymon@janc.net.pl>
16210
16211 * include/grub/file.h (grub_file): New member not_easly_seekable.
16212 (grub_file_seekable): New inline function.
16213 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
16214 easily seekable.
16215 (grub_gzio_open): Set not_easly_seekable.
16216 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
16217 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
16218
ed8c6dec
BC
162192010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16220
16221 Support for options to appear multiple times on cmdline.
16222
16223 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
16224 * grub-core/commands/extcmd.c: Support for repeatable option.
16225 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
16226 repeatable option support.
16227
16228 Refactor menuentry into a regular command.
16229
16230 * grub-core/commands/menuentry.c: New file, menuentry command
16231 implementation.
16232 * grub-core/Makefile.core.def: Rule update for normal.mod.
16233 * grub-core/normal/main.c: Moved menuentry creation to
16234 grub-core/commands/menuentry.c.
16235 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
16236 (grub_menu_execute_entry_real): Removed.
16237 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
16238 function.
16239 (grub_script_execute_menuentry): Removed.
16240 * grub-core/script/parser.y (menuentry): Removed.
16241 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
16242 * grub-core/script/yylex.l (menuentry): Removed.
16243 * include/grub/menu.h (grub_menu_init): New prototype.
16244 (grub_menu_fini): New prototype.
16245 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
16246 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
16247 (grub_script_execute_sourcecode): New prototype.
16248
dacd0cf0
BC
162492010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16250
16251 "return" command for GRUB script functions.
16252
16253 * tests/grub_script_return.in: New test.
16254 * Makefile.util.def: Rules for new test.
16255
16256 * grub-core/script/execute.c (grub_script_return): New function.
16257 * grub-core/script/main.c: Register/unregister return commaond.
16258 * include/grub/script_sh.h (grub_script_return): New prototype.
16259
52e72f9d
BC
162602010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16261
16262 "setparams" command to update positional parameters.
16263
16264 * tests/grub_script_setparams.in: New test.
16265 * Makefile.util.def: Rules for new test.
16266
16267 * grub-core/script/argv.c (grub_script_argv_make): New function.
16268 * grub-core/script/execute.c (replace_scope): New function.
16269 (grub_script_setparams): New function.
16270 * grub-core/script/lexer.c: Remove unused variables.
16271 * grub-core/script/main.c: Register/unregister setparams command.
16272 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
16273 (grub_script_setparams): New prototype.
16274
25b60c91
BC
162752010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16276
16277 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
16278 grub_free order.
16279
37e7bf68
BC
162802010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16281
16282 Support for passing block of commands as an argument to extcmds.
16283
16284 * Makefile.util.def: Rules for new test.
16285 * tests/grub_script_blockarg.in: New test.
16286 * grub-core/tests/test_blockarg.c: New file, block argument
16287 command used in the test.
16288
16289 * include/grub/extcmd.h (grub_extcmd_context): New struct.
16290 (grub_register_extcmd_prio): New function prototype.
16291 (grub_extcmd_dispatcher): New function prototype.
16292 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
16293 type.
16294 * include/grub/script_sh.h (struct grub_script): New members
16295 `children', `next_siblings' and `refcnt' for block arguments and
16296 reference counting.
16297 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
16298 (grub_script_arg): New member `script' for block argument.
16299 (grub_script_argv): New member `script' for block argument.
16300 (grub_parser_param): New member `scripts' for block argument.
16301 (grub_script_mem_free): New extern function prototype.
16302 (grub_script_ref): New function prototype.
16303 (grub_script_unref): New function prototype.
16304
16305 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
16306 extcmd form to support block arguments.
16307 * grub-core/script/argv.c: Block arguments support.
16308 * grub-core/script/execute.c: Likewise.
16309 * grub-core/script/lexer.c: Likewise.
16310 * grub-core/script/main.c: Likewise.
16311 * grub-core/script/script.c: Likewise.
16312 * grub-core/script/parser.y: Likewise. New `block' and `block0'
16313 non-terminals.
16314
16315 * grub-core/commands/acpi.c: Update extcmd implementations with
16316 grub_extcmd_context_t.
16317 * grub-core/commands/cat.c: Likewise.
16318 * grub-core/commands/echo.c: Likewise.
16319 * grub-core/commands/extcmd.c: Likewise.
16320 * grub-core/commands/hashsum.c: Likewise.
16321 * grub-core/commands/hdparm.c: Likewise.
16322 * grub-core/commands/help.c: Likewise.
16323 * grub-core/commands/hexdump.c: Likewise.
16324 * grub-core/commands/i386/cpuid.c: Likewise.
16325 * grub-core/commands/i386/pc/drivemap.c: Likewise.
16326 * grub-core/commands/i386/pc/halt.c: Likewise.
16327 * grub-core/commands/i386/pc/sendkey.c: Likewise.
16328 * grub-core/commands/iorw.c: Likewise.
16329 * grub-core/commands/keystatus.c: Likewise.
16330 * grub-core/commands/loadenv.c: Likewise.
16331 * grub-core/commands/ls.c: Likewise.
16332 * grub-core/commands/lspci.c: Likewise.
16333 * grub-core/commands/memrw.c: Likewise.
16334 * grub-core/commands/probe.c: Likewise.
16335 * grub-core/commands/search_wrap.c: Likewise.
16336 * grub-core/commands/setpci.c: Likewise.
16337 * grub-core/commands/sleep.c: Likewise.
16338 * grub-core/disk/loopback.c: Likewise.
16339 * grub-core/hello/hello.c: Likewise.
16340 * grub-core/loader/i386/bsd.c: Likewise.
16341 * grub-core/loader/xnu.c: Likewise.
16342 * grub-core/term/gfxterm.c: Likewise.
16343 * grub-core/term/serial.c: Likewise.
16344 * grub-core/tests/lib/functional_test.c: Likewise.
16345
888d1500
BC
163462010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16347
16348 Multi-line quoted strings support.
16349
16350 * grub-core/script/lexer.c (append_newline): Removed.
16351 (grub_script_lexer_yywrap): Refactored.
16352 (grub_script_lexer_init): Refactored.
16353 * grub-core/script/yylex.l (yywrap): New function.
16354 (grub_lexer_resplit): New function.
16355 (grub_lexer_unput): New function.
16356 * include/grub/script_sh.h (grub_lexer_param): New members, unput
16357 and resplit.
16358 * tests/grub_script_echo1.in: Added few more testcases.
16359
dda060dd
VS
163602010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
16361
16362 * grub-core/kern/misc.c: Don't add abort alias in utils.
16363 Reported by: echoline.
16364
6556eba9
BC
163652010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
16366
16367 Add missing files into "make dist" tarball for other platforms.
16368
16369 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
16370 * conf/Makefile.common (dist_noinst_DATA): New variable.
16371 * conf/Makefile.extra-dist: Added missing make dist files.
16372 * grub-core/Makefile.core.def: Likewise.
16373
c8e7bf5f
VS
163742010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
16375
16376 Compress grub_prefix.
16377
16378 * grub-core/boot/i386/pc/lnxboot.S: Use
16379 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
16380 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
16381 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
16382 GRUB_MACHINE_PREFIX_END. All users updated.
16383 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
16384 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
16385 + 0x40.
16386 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
16387 * util/grub-mkimage.c (image_target_desc): Change data_end to
16388 prefix_end. All users updated.
16389
a7c00cdb
VS
163902010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
16391
16392 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
16393 value.
16394 (grub_openbsd_boot): Likewise.
16395 (grub_netbsd_boot): Likewise.
16396 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
16397 (grub_xnu_boot): Likewise.
16398
9f915872
VS
163992010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16400
16401 * configure.ac: Clean LIBS variable after tests.
16402
efa1bee7
CW
164032010-09-02 Colin Watson <cjwatson@ubuntu.com>
16404
16405 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
16406
61d720e5
VS
164072010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16408
16409 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
16410 echo if libdevmapper will be used.
16411
ef8e0ec8
IT
164122010-09-02 Ian Turner <Ian.Turner@deshaw.com>
16413
16414 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
16415 constant for the same file.
16416
03e261d8
VS
164172010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16418
16419 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
16420
c2a4eba6
CW
164212010-09-02 Colin Watson <cjwatson@ubuntu.com>
16422
16423 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
16424 grub-core/*.pp.
16425
9056cbf3
CW
164262010-09-02 Colin Watson <cjwatson@ubuntu.com>
16427
16428 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
16429 required by the boot protocol.
16430
16431 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
16432 ebp and edi members.
16433 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
16434 state.ebp and state.edi.
16435 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
16436 %ebp and %edi according to grub_relocator32_ebp and
16437 grub_relocator32_edi respectively.
16438 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
16439 and state.edi.
16440
529cc99a
VS
164412010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16442
16443 Add i386-pc-pxe image target.
16444
16445 * util/grub-mkimage.c (image_target_desc): New enum value
16446 IMAGE_I386_PC_PXE.
16447 (image_targets): New target i386-pc-pxe.
16448 (generate_image): Handle i386-pc-pxe image.
16449
9a093920
VS
164502010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16451
16452 Fix grub_pxe_scan.
16453
16454 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
16455 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
16456 All users updated.
16457 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
16458 (grub_pxe_pxenv): Correct type.
16459
f9cefc4e
CW
164602010-09-01 Colin Watson <cjwatson@ubuntu.com>
16461
16462 * NEWS: Document most of the important changes since 1.98.
16463
4066f57f
CW
164642010-09-01 Colin Watson <cjwatson@ubuntu.com>
16465
16466 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
16467 generated manual page) a little.
16468
da2891f9
CW
164692010-09-01 Colin Watson <cjwatson@ubuntu.com>
16470
16471 * docs/grub.texi: Add myself as an author.
16472
ad717fae
VS
164732010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
16474
16475 * Makefile.util.def (libgrub.a): Add missing sunpc.
16476 Reported by: Seth Goldberg.
16477
eefe8abd
VS
164782010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16479
16480 Interrupt wrapping and code simplifications.
16481
9494ef9a
VS
16482 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
16483 x86_noieee1275 which are functionaly equivalent in this case.
16484 (grub-install): Make source on each platform explicit. Enable on
16485 all noemu.
16486 * gentpl.py (x86_efi_pc): Removed group.
16487 (x86_noefi): Likewise.
16488 (i386_noefi): Likewise.
16489 (x86_noieee1275): Likewise.
16490 (i386_noieee1275): Likewise.
16491 (i386_noefi_noieee1275): Likewise.
16492 (i386_pc_qemu_coreboot): Likewise.
16493 (i386_coreboot_multiboot): Likewise.
16494 (i386_pc_coreboot_multiboot_qemu): Likewise.
16495 (x86_noefi_mips): Likewise.
16496 (noieee1275): Likewise.
16497 (ieee1275_mips): Likewise.
16498 (noemu_noieee1275): Likewise.
16499 (cmos): New group.
16500 (usb): Likewise.
16501 (videoinkernel): Likewise.
16502 (videomodules): Likewise.
eefe8abd 16503 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
16504 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
16505 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
16506 include/grub/loader.h, include/grub/msdos_partition.h,
16507 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
16508 include/grub/machine/console.h, include/grub/machine/vga.h,
16509 include/grub/machine/vbe.h, include/grub/machine/init.h,
16510 include/grub/machine/kernel.h, include/grub/cpu/time.h,
16511 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 16512 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
16513 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
16514 * grub-core/Makefile.core.def (kernel): Explicit the source for
16515 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
16516 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
16517 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
16518 Use videoinkernel tag.
16519 (usb): Enable on all usb.
16520 (usbserial_common): Likewise.
16521 (usbserial_pl2303): Likewise.
16522 (usbserial_ftdi): Likewise.
16523 (uhci): Enable on all x86.
16524 (ohci): Enable on all pci.
16525 (cmostest): Enable on all CMOS.
16526 (acpi): Include commands/acpi.c on all platforms.
16527 (halt): Add relevant lib/*/halt.c.
16528 (hdparm): Enable on all pci.
16529 (lspci): Likewise.
16530 (usbtest): Enable on all usb.
16531 (ata): Enable on all pci.
16532 (ata_pthru): Likewise.
16533 (usbms): Enable on all usb.
16534 (usb_keyboard): Likewise.
16535 (font): Use tag videomodules.
16536 (bufio): Likewise.
16537 (datetime): Use tag cmos. Enable on all noemu.
16538 (mmap): Use tags common and x86.
16539 (gfxterm): Use tag videomodules.
16540 (bitmap): Likewise.
16541 (bitmap_scale): Likewise.
16542 (video_fb): Likewise.
16543 (video): Likewise.
16544 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
16545 adjust padding accordingly. All users updated.
16546 (grub_ohci_transaction): Fix bad format specification.
16547 (GRUB_MOD_INIT): Add asserts for struct size.
16548 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
16549 (grub_alloc_td): Likewise.
16550 (grub_free_queue): Likewise.
16551 (grub_uhci_transfer): Likewise.
16552 (grub_uhci_transaction): Fix bad format specification.
16553 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
16554 (grub_usb_bulk_readwrite): Likewise.
16555 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
16556 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
16557 Made static.
16558 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
16559 Made static.
16560 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
16561 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
16562 Transformed into C.
16563 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
16564 Moved from here ...
16565 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
16566 ... here. Transformed into C. Made static.
16567 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
16568 Moved from here ...
16569 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
16570 ... here. Transformed into C. Made static.
16571 * grub-core/kern/i386/pc/startup.S
16572 (grub_biosdisk_check_int13_extensions): Moved from here ...
16573 * grub-core/disk/i386/pc/biosdisk.c
16574 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
16575 Made static.
16576 * grub-core/kern/i386/pc/startup.S
16577 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
16578 * grub-core/disk/i386/pc/biosdisk.c
16579 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
16580 Transformed into C. Made static.
16581 * grub-core/kern/i386/pc/startup.S
16582 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
16583 * grub-core/disk/i386/pc/biosdisk.c
16584 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
16585 Transformed into C. Made static.
16586 * grub-core/kern/i386/pc/startup.S
16587 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
16588 * grub-core/disk/i386/pc/biosdisk.c
16589 (grub_biosdisk_get_diskinfo_standard): ... here.
16590 Transformed into C. Made static.
16591 * grub-core/kern/i386/pc/startup.S
16592 (grub_biosdisk_get_num_floppies): Moved from here ...
16593 * grub-core/disk/i386/pc/biosdisk.c
16594 (grub_biosdisk_get_num_floppies): ... here.
16595 Transformed into C. Made static.
16596 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
16597 New function.
16598 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
16599 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
16600 Transformed into C. Made static.
16601 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
16602 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
16603 Transformed into C. Made static.
16604 * grub-core/kern/i386/ieee1275/init.c: Removed.
16605 * grub-core/kern/i386/misc.S: Likewise.
16606 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
16607 Splitted from here ...
16608 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
16609 Transformed into C. Made static. All users updated.
16610 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
16611 Transformed into C. Made static. All users updated.
16612 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
16613 Moved from here...
16614 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
16615 Transformed into C. Made static. All users updated.
16616 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
16617 Moved from here...
16618 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
16619 Transformed into C. Made static. All users updated.
16620 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
16621 Removed (replaced by C version).
16622 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
16623 Moved from here...
16624 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
16625 Transformed into C. Made static.
16626 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
16627 Moved from here...
16628 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
16629 ... here. Transformed into C.
16630 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
16631 Moved from here...
16632 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
16633 ... here. Transformed into C.
16634 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
16635 Moved from here...
16636 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
16637 ... here. Transformed into C. Made static.
16638 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
16639 Moved from here...
16640 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
16641 ... here. Transformed into C.
21ed554b
VS
16642 * grub-core/kern/i386/pc/startup.S
16643 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
16644 * grub-core/video/i386/pc/vbe.c
16645 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
16646 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
16647 Moved from here...
16648 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
16649 ... here. Transformed into C.
16650 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
16651 Moved from here...
16652 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
16653 ... here. Transformed into C.
16654 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
16655 Moved from here...
16656 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
16657 ... here. Transformed into C.
16658 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
16659 Moved from here...
16660 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
16661 ... here. Transformed into C.
16662 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
16663 Moved from here...
16664 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
16665 ... here. Transformed into C. Made static.
16666 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
16667 Moved from here...
16668 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
16669 ... here. Transformed into C. Made static.
16670 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
16671 Moved from here...
16672 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
16673 ... here. Transformed into C. Made static.
16674 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
16675 pxe_rm_entry as third argument.
16676 (grub_bios_interrupt): New function.
16677 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
16678 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
16679 of calling grub_stop.
16680 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
16681 * grub-core/lib/efi/halt.c (grub_halt): ...here.
16682 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
16683 * grub-core/lib/emu/halt.c (grub_halt): ... here.
16684 * grub-core/lib/i386/halt.c: Moved from here ...
16685 * grub-core/lib/i386/halt.c: ... here.
16686 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
16687 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
16688 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
16689 grub_stop_floppy.
16690 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
16691 * include/grub/i386/coreboot/init.h: Removed.
16692 * include/grub/i386/multiboot/init.h: Likewise.
16693 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
16694 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
16695 * include/grub/i386/pc/int.h: New file.
16696 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
16697 (grub_pxe_scan): Removed.
16698 (grub_pxe_call): Update prototype.
16699 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
16700 prototypes.
16701 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
16702 * include/grub/i386/qemu/init.h: Removed.
16703 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
16704 noreturn.
16705 (grub_halt): Likewise.
16706 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
16707 (grub_reboot): Likewise.
16708 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
16709 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
16710 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
16711
215dd471
RM
167122010-08-30 Robert Millan <rmh@gnu.org>
16713
16714 * NEWS: Document addition of ZFS support in `grub-install' and
16715 `grub-mkconfig'.
16716
ebd65b82
BC
167172010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
16718
16719 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
16720 dprintf output.
16721
11721d19
VS
167222010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16723
16724 Remove leftover embedding of font objects.
16725
16726 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
16727 * util/grub-install.in (font): Removed.
16728 * util/grub-mkimage.c (generate_image): Remove font support. All users
16729 updated.
16730
37837d4e
VS
167312010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16732
16733 Remove leftover embedding of font objects.
16734
16735 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
16736 * util/grub-install.in (font): Removed.
16737 * util/grub-mkimage.c (generate_image): Remove font support. All users
16738 updated.
16739
b4c1aae0
VS
167402010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16741
16742 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 16743 Reported by: Ian Turner
b4c1aae0 16744
8920a08d
VS
167452010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16746
16747 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
16748 timeout to avoid indefinite boot stalling.
16749
f21db033
VS
167502010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16751
16752 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
16753 (grub_env_write_color_highlight): Likewise.
16754
9a9de209
VS
167552010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16756
16757 * grub-core/normal/term.c (print_more): Return to normal and not
16758 to standard state after printing "---MORE---".
16759
3dca01d7
VS
167602010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16761
16762 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
16763 Mask out the bit 0x80 since it has other meaning that specifiing color.
16764
0b986c40
VS
167652010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16766
16767 New relocator. Allows for more kernel support and more straightforward
16768 loader writing.
16769
16770 * Makefile.am (BOOTTARGET): New variable.
16771 (QEMU32): Likewise.
16772 (linux.init.x86_64): New target.
16773 (linux.init.i386): Likewise.
16774 (multiboot.elf): Likewise.
16775 (kfreebsd.elf): Likewise.
16776 (kfreebsd.aout): Likewise.
16777 (pc-chainloader.elf): Likewise.
16778 (pc-chainloader.bin): Likewise.
16779 (ntldr.elf): Likewise.
16780 (ntldr.bin): Likewise.
16781 (multiboot2.elf): Likewise.
16782 (kfreebsd.init.x86_64): Likewise.
16783 (kfreebsd.init.i386): Likewise.
16784 (knetbsd.init.i386): Likewise.
16785 (kopenbsd.init.i386): Likewise.
16786 (knetbsd.init.x86_64): Likewise.
16787 (kopenbsd.init.x86_64): Likewise.
16788 (linux-initramfs.i386): Likewise.
16789 (linux-initramfs.x86_64): Likewise.
16790 (kfreebsd-mfsroot.i386.img): Likewise.
16791 (knetbsd.image.i386): Likewise.
16792 (kopenbsd.image.i386): Likewise.
16793 (kopenbsd.image.x86_64): Likewise.
16794 (knetbsd.miniroot-image.i386.img): Likewise.
16795 (kfreebsd-mfsroot.x86_64.img): Likewise.
16796 (knetbsd.image.x86_64): Likewise.
16797 (knetbsd.miniroot-image.x86_64.img): Likewise.
16798 (kfreebsd-mfsroot.i386.gz): Likewise.
16799 (bootcheck-kfreebsd-i386): Likewise.
16800 (kfreebsd-mfsroot.x86_64.gz): Likewise.
16801 (bootcheck-kfreebsd-x86_64): Likewise.
16802 (knetbsd.miniroot-image.i386.gz): Likewise.
16803 (bootcheck-knetbsd-i386): Likewise.
16804 (bootcheck-kopenbsd-i386): Likewise.
16805 (bootcheck-kopenbsd-x86_64): Likewise.
16806 (knetbsd.miniroot-image.x86_64.gz): Likewise.
16807 (bootcheck-knetbsd-x86_64): Likewise.
16808 (bootcheck-linux-i386): Likewise.
16809 (bootcheck-linux-x86_64): Likewise.
16810 (bootcheck-linux16-i386): Likewise.
16811 (bootcheck-linux16-x86_64): Likewise.
16812 (bootcheck-multiboot): Likewise.
16813 (bootcheck-multiboot2): Likewise.
16814 (bootcheck-kfreebsd-aout): Likewise.
16815 (bootcheck-pc-chainloader): Likewise.
16816 (bootcheck-ntldr): Likewise.
16817 (CLEANFILES): Add new targets.
16818 (BOOTCHECKS): New variable.
16819 (.PHONY): Add bootchecks.
16820 (SUCCESSFUL_BOOT_STRING): New variable.
16821 (BOOTCHECK_TIMEOUT): Likewise.
16822 (bootcheck): New target
16823 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
16824 * configure.ac: Correct efiemu excuse.
16825 * docs/grub.texi (Supported kernels): New chapter.
16826 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
16827 include/grub/mm_private.h. Simplify inclusion of
16828 include/grub/boot.h, include/grub/loader.h
16829 and include/grub/msdos_partition.h
16830 (KERNEL_HEADER_FILES) [i386_coreboot]:
16831 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
16832 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
16833 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
16834 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
16835 include/grub/machine/loader.h.
16836 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
16837 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
16838 extra_dist.
16839 (pci.mod): Enable on i386-multiboot.
16840 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
16841 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
16842 i386-qemu.
16843 (relocator.mod): Rewritten.
16844 (aout.mod): Enable on all x86.
16845 (bsd.mod): Likewise.
16846 (ntldr.mod): New module.
16847 (linux.mod): Use loader/i386/linux.c on all x86.
16848 (xnu.mod): Enable on all x86.
16849 (vga_text.mod): disable on EFI and QEMU.
16850 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
16851 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
16852 * grub-core/efiemu/loadcore.c: Likewise.
16853 * grub-core/efiemu/main.c: Likewise.
16854 (grub_efiemu_exit_boot_services): Removed.
16855 (grub_efiemu_finish_boot_services): Likewise.
16856 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
16857 function.
16858 * grub-core/efiemu/i386/nocfgtables.c: New file.
16859 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
16860 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
16861 (grub_efi_finish_boot_services): Moved from here ...
16862 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
16863 Fille finish memory map and related data.
16864 (finish_mmap_buf): New variable.
16865 (grub_efi_uintn_t finish_mmap_size): Likewise.
16866 (grub_efi_uintn_t finish_key): Likewise.
16867 (grub_efi_uintn_t finish_desc_size): Likewise.
16868 (grub_efi_uint32_t finish_desc_version): Likewise.
16869 (grub_efi_is_finished): Likewise.
16870 (grub_efi_get_memory_map): Use saved memory map if EFI is already
16871 finished.
16872 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
16873 (grub_elf64_phdr_iterate): Likewise.
16874 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
16875 (grub_os_area_size): Likewise.
16876 (grub_machine_init): Don't reserve os area.
16877 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
16878 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
16879 * grub-core/kern/i386/loader.S: Removed.
16880 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
16881 (grub_os_area_size): Likewise.
16882 (grub_machine_init): Don't reserve os area.
16883 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
16884 Don't call grub_dl_unload_all.
16885 Don't include loader.S.
16886 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
16887 Declare the memory after _end as available.
16888 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 16889 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 16890 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
16891 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
16892 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
16893 * include/grub/mm_private.h (grub_mm_header): ... here.
16894 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
16895 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
16896 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
16897 (grub_mm_region): ..here. Removed addr. Added pre_size.
16898 All users updated.
16899 * grub-core/kern/mm.c (base): Renamed to ...
16900 (grub_mm_base): ... this. Made global.
16901 (grub_real_malloc): Alloc from end of region.
16902 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
16903 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
16904 * grub-core/kern/powerpc/cache_flush.S: ... here.
16905 * grub-core/lib/efi/relocator.c: New file.
16906 * grub-core/lib/i386/relocator.c: Rewritten.
16907 * grub-core/lib/i386/relocator16.S: New file.
16908 * grub-core/lib/i386/relocator32.S: Likewise.
16909 * grub-core/lib/i386/relocator64.S: Likewise.
16910 * grub-core/lib/i386/relocator_asm.S: Rewritten.
16911 * grub-core/lib/i386/relocator_common.S: New file.
16912 * grub-core/lib/ieee1275/relocator.c: Likewise.
16913 * grub-core/lib/mips/relocator.c: Rewritten.
16914 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
16915 stylistic adjustments.
16916 * grub-core/lib/powerpc/relocator.c: New file.
16917 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
16918 * grub-core/lib/relocator.c: Rewritten.
16919 * grub-core/lib/x86_64/relocator_asm.S: New file.
16920 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
16921 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
16922 (bsd_tag): New struct.
16923 (tags): New variable.
16924 (tags_last): Likewise.
16925 (netbsd_module): New struct.
16926 (netbsd_mods): New variable.
16927 (netbsd_mods_last): Likewise.
16928 (openbsd_opts): New parameter "serial".
16929 (OPENBSD_SERIAL_ARG): New definition.
16930 (netbsd_opts): New parameter "serial".
16931 (NETBSD_SERIAL_ARG): New definition.
16932 (grub_freebsd_add_meta): Reorganised into ...
16933 (grub_bsd_add_meta): ...this. All users updated.
16934 (grub_freebsd_add_mmap): Reorganised into ...
16935 (generate_e820_mmap): ...this...
16936 (grub_bsd_add_mmap): ...and this. All users updated.
16937 (grub_freebsd_list_modules): Use tags.
16938 (grub_netbsd_add_meta_module): New function.
16939 (grub_netbsd_list_modules): Likewise.
16940 (grub_freebsd_boot): Use relocator and finish EFI.
16941 (grub_openbsd_boot): Likewise.
16942 (grub_netbsd_setup_video): New function.
16943 (grub_netbsd_add_modules): Likewise.
16944 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
16945 and finish EFI.
16946 (grub_bsd_unload): Unload tags.
16947 (grub_bsd_load_aout): Use relocator.
16948 (grub_bsd_elf32_size_hook): New function.
16949 (grub_bsd_elf32_hook): Use relocator.
16950 (grub_bsd_elf64_size_hook): New function.
16951 (grub_bsd_elf64_hook): Use relocator.
16952 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
16953 (grub_bsd_load): Zero-out openbsd_ramdisk.
16954 (grub_bsd_load): Use relocator.
16955 (grub_cmd_openbsd): Support serial.
16956 (grub_cmd_netbsd): Support modules.
16957 (grub_cmd_freebsd_module): Use relocator.
16958 (grub_netbsd_module_load): New function.
16959 (grub_cmd_netbsd_module): Likewise.
16960 (grub_cmd_openbsd_ramdisk): Likewise.
16961 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
16962 kopenbsd_ramdisk.
16963 (GRUB_MOD_FINI): Unregister new commands.
16964 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
16965 (grub_freebsd_load_elfmodule_obj): Use relocator.
16966 (grub_freebsd_load_elfmodule): Likewise.
16967 (grub_freebsd_load_elf_meta): Likewise.
16968 (grub_netbsd_load_elf_meta): New function.
16969 (grub_openbsd_find_ramdisk): Likewise.
16970 * grub-core/loader/i386/bsd_helper.S: Removed.
16971 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
16972 * grub-core/loader/i386/bsd_trampoline.S: Removed.
16973 * grub-core/loader/i386/efi/linux.c: Likewise.
16974 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
16975 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
16976 (DEFAULT_VIDEO_MODE): Likewise.
16977 (real_mode_target): New variable.
16978 (prot_mode_target): Likewise.
16979 (initrd_mem_target): Likewise.
16980 (relocator): Likewise.
16981 (efi_mmap_buf): Likewise.
16982 (efi_mmap_size): Likewise.
16983 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
16984 (free_pages): Use relocator.
16985 (allocate_pages): Account for efi_mmap and use relocator. Return error.
16986 (grub_linux_setup_video): Return error.
16987 (grub_linux_trampoline_start): Removed.
16988 (grub_linux_trampoline_end): Likewise.
16989 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
16990 andd video parameters depending on firmware.
16991 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
16992 [GRUB_MACHINE_EFI]: Pass EFI parameters.
16993 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
16994 (grub_cmd_initrd): Use relocator.
16995 * grub-core/loader/i386/linux_trampoline.S: Removed.
16996 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
16997 (elf_sec_entsize): Likewise.
16998 (elf_sec_shstrndx): Likewise.
16999 (elf_sections): Likewise.
17000 (grub_multiboot_load): Use relocator.
17001 (grub_multiboot_get_mbi_size): Account for sections.
17002 (grub_multiboot_make_mbi): Use relocator and support sections.
17003 (grub_multiboot_add_elfsyms): New function.
17004 (grub_multiboot_free_mbi): Free sections.
17005 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
17006 (grub_linux_real_target): Likewise.
17007 (grub_linux_real_chunk): Likewise.
17008 (grub_linux16_prot_size): Likewise.
17009 (grub_linux16_boot): Use relocator.
17010 (grub_linux_unload): Unload relocator.
17011 (grub_cmd_linux): Use relocator.
17012 (grub_cmd_initrd): Likewise.
17013 * grub-core/loader/i386/pc/ntldr.c: New file.
17014 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
17015 Don't try to guess CPU frequency.
17016 (grub_xnu_set_video): Stretch bitmap.
17017 (grub_xnu_boot): Use relocator.
17018 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
17019 (grub_linux_unload): Free relocator.
17020 (grub_linux_load32): Use relocator.
17021 (grub_linux_load64): Likewise.
17022 (grub_cmd_initrd): Likewise.
17023 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
17024 (grub_multiboot_unload): Unload relocator.
17025 (grub_cmd_multiboot): Use relocator.
17026 (grub_cmd_module): Likewise.
17027 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
17028 Use relocator and support sections.
17029 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
17030 (elf_sec_entsize): Likewise.
17031 (elf_sec_shstrndx): Likewise.
17032 (elf_sections): Likewise.
17033 (grub_multiboot_load): Use relocator.
17034 (grub_multiboot_get_mbi_size): Account for sections.
17035 (grub_multiboot_make_mbi): Use relocator and support sections.
17036 (grub_multiboot_add_elfsyms): New function.
17037 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
17038 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
17039 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
17040 Prototype changed. All users updated.
17041 (grub_xnu_align_heap): Simplified.
17042 (grub_xnu_writetree_toheap): Likewise.
17043 (grub_xnu_unload): Unload relocator.
17044 (grub_cmd_xnu_kernel): Use relocator.
17045 (grub_cmd_xnu_kernel64): Likewise.
17046 (grub_xnu_register_memory): Simplified.
17047 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
17048 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
17049 EFI is finished.
17050 (grub_console_checkkey): Likewise.
17051 (grub_console_getkey): Likewise.
17052 (grub_console_getwh): Likewise.
17053 (grub_console_getxy): Likewise.
17054 (grub_console_gotoxy): Likewise.
17055 (grub_console_cls): Likewise.
17056 (grub_console_setcolorstate): Likewise.
17057 (grub_console_setcursor): Likewise.
17058 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
17059 * grub-core/tests/boot/kbsd.init-i386.S: New file.
17060 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
17061 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
17062 * grub-core/tests/boot/kernel-8086.S: Likewise.
17063 * grub-core/tests/boot/kernel-i386.S: Likewise.
17064 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
17065 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
17066 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
17067 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
17068 * grub-core/tests/boot/knetbsd.cfg: Likewise.
17069 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
17070 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
17071 * grub-core/tests/boot/linux.cfg: Likewise.
17072 * grub-core/tests/boot/linux.init-i386.S: Likewise.
17073 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
17074 * grub-core/tests/boot/linux16.cfg: Likewise.
17075 * grub-core/tests/boot/multiboot.cfg: Likewise.
17076 * grub-core/tests/boot/multiboot2.cfg: Likewise.
17077 * grub-core/tests/boot/ntldr.cfg: Likewise.
17078 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
17079 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
17080 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
17081 New definition.
17082 * include/grub/dl.h (grub_dl_unload_all): Removed.
17083 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
17084 (grub_efi_finish_boot_services): Change prototype.
17085 (grub_efi_is_finished): New variable.
17086 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
17087 Changed prototype.
17088 (grub_efiemu_finish_boot_services): Removed.
17089 (grub_machine_efiemu_init_tables): New prototype.
17090 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
17091 (grub_elf64_phdr_iterate): Likewise.
17092 * include/grub/i386/bsd.h: Include relocator.h.
17093 (freebsd_tag_header): New struct.
17094 (grub_openbsd_bios_mmap): Removed.
17095 (grub_unix_real_boot): Removed.
17096 (grub_freebsd_load_elfmodule32): Changed prototype.
17097 (grub_freebsd_load_elfmodule_obj64): Likewise.
17098 (grub_freebsd_load_elf_meta32): Likewise.
17099 (grub_freebsd_load_elf_meta64): Likewise.
17100 (grub_freebsd_add_meta): Removed.
17101 (grub_netbsd_load_elf_meta32): New prototype.
17102 (grub_netbsd_load_elf_meta64): Likewise.
17103 (grub_bsd_add_meta): Likewise.
17104 (grub_openbsd_ramdisk_descriptor): New struct.
17105 (grub_openbsd_find_ramdisk32): New prototype.
17106 (grub_openbsd_find_ramdisk64): Likewise.
17107 * include/grub/i386/coreboot/loader.h: Removed.
17108 * include/grub/i386/efi/loader.h: Likewise.
17109 * include/grub/i386/ieee1275/loader.h: Likewise.
17110 * include/grub/i386/linux.h (linux_kernel_header): Change void *
17111 to grub_uint32_t.
17112 * include/grub/i386/loader.h: Removed.
17113 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
17114 value.
17115 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
17116 (grub_phys_addr_t): New type.
17117 (grub_vtop): New inline function.
17118 (grub_map_memory): Likewise.
17119 (grub_unmap_memory): Likewise.
17120 * include/grub/i386/multiboot/loader.h: Removed.
17121 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
17122 (NETBSD_BTINFO_CONSOLE): New definition.
17123 (NETBSD_BTINFO_SYMTAB): Likewise.
17124 (NETBSD_BTINFO_MODULES): Likewise.
17125 (NETBSD_BTINFO_FRAMEBUF): Likewise.
17126 (grub_netbsd_bootinfo): New struct.
17127 (grub_netbsd_btinfo_common): Use explicit bitsize.
17128 (grub_netbsd_btinfo_mmap_entry): Removed.
17129 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
17130 (grub_netbsd_btinfo_bootdisk): New struct.
17131 (grub_netbsd_btinfo_symtab): Likewise.
17132 (grub_netbsd_btinfo_serial): Likewise.
17133 (grub_netbsd_btinfo_modules): Likewise.
17134 (grub_netbsd_btinfo_framebuf): Likewise.
17135 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
17136 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
17137 Likewise.
17138 (grub_openbsd_bootargs): Use explicit bitsize.
17139 (grub_openbsd_bootarg_console): New struct.
17140 (GRUB_OPENBSD_COM_MAJOR): New definition.
17141 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
17142 * include/grub/i386/pc/efiemu.h: Removed.
17143 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
17144 * include/grub/i386/qemu/loader.h: Removed.
17145 * include/grub/i386/relocator.h: Rewritten.
17146 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
17147 * include/grub/mips/memory.h: New file.
17148 * include/grub/mips/multiboot.h: Rewritten.
17149 * include/grub/mips/relocator.h: Rewritten.
17150 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
17151 (grub_vtop): New function.
17152 (grub_map_memory): Likewise.
17153 (grub_unmap_memory): Likewise.
17154 * include/grub/misc.h (ALIGN_DOWN): New definition.
17155 * include/grub/mm.h (grub_mm_check_real): New proto.
17156 (GRUB_MM_CHECK): New definition.
17157 * include/grub/mm_private.h: New file.
17158 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
17159 (grub_multiboot_get_mbi_size): Removed.
17160 (grub_multiboot_make_mbi): Change prottype.
17161 (grub_multiboot_set_accepts_video): New proto.
17162 (grub_multiboot_add_elfsyms): Likewise.
17163 (grub_multiboot_payload_eip): New variable.
17164 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
17165 New prototype.
17166 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
17167 New definition.
17168 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
17169 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
17170 * include/grub/powerpc/ieee1275/loader.h: Removed.
17171 * include/grub/powerpc/memory.h: New file.
17172 * include/grub/powerpc/relocator.h: Likewise.
17173 * include/grub/relocator.h: Likewise.
17174 * include/grub/relocator_private.h: Likewise.
17175 * include/grub/sparc64/ieee1275/loader.h: Removed.
17176 * include/grub/x86_64/memory.h: New file.
17177 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
17178 (grub_xnu_heap_malloc): Likewise.
17179 (grub_xnu_heap_real_start): Removed.
17180 (grub_xnu_heap_start): Likewise.
17181 (grub_xnu_relocator): New variable.
17182 (grub_xnu_heap_target_start): Likewise.
17183 * tests/util/grub-shell.in: Support non-pc.
17184 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 17185
5303b85d
VS
171862010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17187
17188 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
17189 on malloc error.
17190 (grub_bidi_logical_to_visual): Check that malloc succeded.
17191 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
17192 puts.
17193 (grub_xputs_normal): Likewise.
17194
d768d159
VS
171952010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17196
17197 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
17198 extra_dist.
17199
172002010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17201
17202 * grub-core/efiemu/runtime/efiemu.sh: Removed.
17203
5bf84df4
VS
172042010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17205
17206 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
17207
3626810e
VS
172082010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17209
17210 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
17211 dprintf.
17212
a7363f53
BC
172132010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
17214
17215 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
17216
902f75f6
VS
172172010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17218
17219 * grub-core/normal/term.c (print_more): Fix a memory leak.
17220 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
17221 (grub_xputs_normal): Likewise.
17222
3c707967
VS
172232010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17224
17225 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
17226 the begining of the string
17227
2053cc07
VS
172282010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17229
17230 * grub-core/script/script.c (grub_script_parse): Free parsed on
17231 failure.
17232
46422ebf
VS
172332010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17234
17235 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
17236 on failure.
17237
9e0fa3f6
VS
172382010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17239
17240 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
17241 return.
17242
3393cf16
VS
172432010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17244
17245 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
17246 (scroll_up): Fix a memory leak.
17247
b17540cb
VS
172482010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17249
17250 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
17251 errors.
17252
67140446
VS
172532010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
17254
17255 Handle USB pendrives exposed as floppies.
17256
17257 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
17258 floppy.
17259 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
17260 Check for partitions on all devices.
17261
e35e46fc
VS
172622010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
17263
17264 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
17265 (readkey): Likewise.
17266
d24c6190
BC
172672010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
17268
17269 Multiple variable names support to "export" command.
17270
17271 * normal/context.c (grub_cmd_export): "export" command supports
17272 multiple variable names.
17273
04ddcc6a
ST
172742010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
17275
17276 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
17277 --target=drive output to Mach device name.
17278
0c8b61d8
BC
172792010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
17280
17281 New Automake based build system for GRUB.
17282
17283 * ABOUT-NLS: New file.
17284 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
17285 in Makefile.util.def file.
17286 * Makefile.util.def: New file. Autogen build definitions file for
17287 GRUB host utils.
17288 * conf/Makefile.common: New file. Common variables for GRUB host
17289 utils and target modules.
17290 * conf/Makefile.extra-dist: New file. Extra files for make dist.
17291 * docs/Makefile.am: New file. Automake file for docs.
17292 * gentpl.py: New file. Python script to generate Autogen
17293 template.
17294 * grub-core/Makefile.am: New file. GRUB target modules' rules
17295 that doesn't fit in Makefile.core.def file.
17296 * grub-core/Makefile.core.def: New file. Autogen build
17297 definitions file for GRUB target modules.
17298 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
17299 specific setjmp.S file.
17300 * po/Makefile.am: New file.
17301
17302 * .bzrignore: New ignores.
17303 * INSTALL: New requirements, without Ruby.
17304 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
17305 * autogen.sh: Updated to invoke autogen as necessary.
17306 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
17307 and defines for Automake conditionals.
17308 * geninit.sh: Refactoring.
17309
17310 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
17311 necessary.
17312 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
17313 New prototype.
17314
17315 * include/grub/test.h: Fix functional test modules' naming.
17316 * grub-core/tests/example_functional_test.c: Fix test module name.
17317
17318 * util/misc.c: Hosted versions' of grub functions for libgrub.a
17319 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
17320 * util/grub-editenv.c: Likewise.
17321 * util/grub-fstest.c: Likewise.
17322 * util/grub-mkdevicemap.c: Likewise.
17323 * util/grub-mkfont.c: Likewise.
17324 * util/grub-mkimage.c: Likewise.
17325 * util/grub-mkpasswd-pbkdf2.c: Likewise.
17326 * util/grub-probe.c: Likewise.
17327 * util/grub-script-check.c: Likewise.
17328 * util/i386/pc/grub-setup.c: Likewise.
17329 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17330
17331 * tests/util/grub-shell.in: Fix override directory path.
17332 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
17333 * util/import_gcry.py: Create Makefile.gcry.def file instead.
17334
17335 * util/lvm.c: Update #includes.
17336 * util/raid.c: Likewise.
17337 * util/resolve.c: Likewise.
17338 * grub-core/bus/emu/pci.c: Likewise.
17339 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
17340 * grub-core/lib/posix_wrap/string.h: Likewise.
17341 * grub-core/kern/emu/main.c: Likewise.
17342
17343 * grub-core/gensymlist.sh: New file. Script for generating kernel
17344 symbols file.
17345 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
17346
17347 * grub-core/gentrigtables.c: Fix unused variable warnings.
17348
17349 * Makefile.in: Removed.
17350 * conf/any-emu.rmk: Removed.
17351 * conf/common.rmk: Removed.
17352 * conf/i386-coreboot.rmk: Removed.
17353 * conf/i386-efi.rmk: Removed.
17354 * conf/i386-ieee1275.rmk: Removed.
17355 * conf/i386-multiboot.rmk: Removed.
17356 * conf/i386-pc.rmk: Removed.
17357 * conf/i386-qemu.rmk: Removed.
17358 * conf/i386.rmk: Removed.
17359 * conf/mips-yeeloong.rmk: Removed.
17360 * conf/mips.rmk: Removed.
17361 * conf/powerpc-ieee1275.rmk: Removed.
17362 * conf/sparc64-ieee1275.rmk: Removed.
17363 * conf/tests.rmk: Removed.
17364 * conf/x86-efi.rmk: Removed.
17365 * conf/x86_64-efi.rmk: Removed.
17366 * gendistlist.sh: Removed.
17367 * geninitheader.sh: Removed.
17368 * genkernsyms.sh.in: Removed.
17369 * genmk.rb: Removed.
17370 * gensymlist.sh.in: Removed.
17371 * mkinstalldirs: Removed.
17372 * boot: Moved ...
17373 * grub-core/boot: ... to here.
17374 * bus: Moved ...
17375 * grub-core/bus: ... to here.
17376 * commands: Moved ...
17377 * grub-core/commands: ... to here.
17378 * disk: Moved ...
17379 * grub-core/disk: ... to here.
17380 * efiemu: Moved ...
17381 * grub-core/efiemu: ... to here.
17382 * font: Moved ...
17383 * grub-core/font: ... to here.
17384 * fs: Moved ...
17385 * grub-core/fs: ... to here.
17386 * gencmdlist.sh: Moved ...
17387 * grub-core/gencmdlist.sh: ... to here.
17388 * genemuinit.sh: Moved ...
17389 * grub-core/genemuinit.sh: ... to here.
17390 * genemuinitheader.sh: Moved ...
17391 * grub-core/genemuinitheader.sh: ... to here.
17392 * genfslist.sh: Moved ...
17393 * grub-core/genfslist.sh: ... to here.
17394 * genhandlerlist.sh: Moved ...
17395 * grub-core/genhandlerlist.sh: ... to here.
17396 * genmoddep.awk: Moved ...
17397 * grub-core/genmoddep.awk: ... to here.
17398 * genmodsrc.sh: Moved ...
17399 * grub-core/genmodsrc.sh: ... to here.
17400 * genpartmaplist.sh: Moved ...
17401 * grub-core/genpartmaplist.sh: ... to here.
17402 * genparttoollist.sh: Moved ...
17403 * grub-core/genparttoollist.sh: ... to here.
17404 * genterminallist.sh: Moved ...
17405 * grub-core/genterminallist.sh: ... to here.
17406 * gentrigtables.c: Moved ...
17407 * grub-core/gentrigtables.c: ... to here.
17408 * genvideolist.sh: Moved ...
17409 * grub-core/genvideolist.sh: ... to here.
17410 * gettext: Moved ...
17411 * grub-core/gettext: ... to here.
17412 * gfxmenu: Moved ...
17413 * grub-core/gfxmenu: ... to here.
17414 * gnulib: Moved ...
17415 * grub-core/gnulib: ... to here.
17416 * hello: Moved ...
17417 * grub-core/hello: ... to here.
17418 * hook: Moved ...
17419 * grub-core/hook: ... to here.
17420 * io: Moved ...
17421 * grub-core/io: ... to here.
17422 * kern: Moved ...
17423 * grub-core/kern: ... to here.
17424 * lib: Moved ...
17425 * grub-core/lib: ... to here.
17426 * loader: Moved ...
17427 * grub-core/loader: ... to here.
17428 * mmap: Moved ...
17429 * grub-core/mmap: ... to here.
17430 * normal: Moved ...
17431 * grub-core/normal: ... to here.
17432 * partmap: Moved ...
17433 * grub-core/partmap: ... to here.
17434 * parttool: Moved ...
17435 * grub-core/parttool: ... to here.
17436 * script: Moved ...
17437 * grub-core/script: ... to here.
17438 * term: Moved ...
17439 * grub-core/term: ... to here
17440 * tests/example_functional_test.c: Moved ...
17441 * grub-core/tests/example_functional_test.c: ... to here.
17442 * tests/lib/functional_test.c: Moved ...
17443 * grub-core/tests/lib/functional_test.c: ... to here.
17444 * tests/lib/test.c: Moved ...
17445 * grub-core/tests/lib/test.c: ... to here.
17446 * video: Moved ...
17447 * grub-core/video: ... to here.
17448
645586e6
BC
174492010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
17450
17451 Replace --enable-grub-emu-modules with grub-emu-lite.
17452
17453 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
17454 cache.S.
17455
17456 * include/grub/emu/misc.h (grub_emu_init): New prototype.
17457 * kern/emu/full.c: New file. For grub-emu specific initialization.
17458 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
17459 * kern/emu/main.c: Call initialization function grub_emu_init.
17460
17461 * Makefile.in: Include grub-emu-lite in install.
17462 * commands/parttool.c: Use grub_no_autoload to differentiate
17463 between grub-emu and grub-emu-lite.
17464 * include/grub/misc.h: New variable grub_no_autoload.
17465
17466 * conf/any-emu.rmk: New rules for grub-emu-lite.
17467 * configure.ac: Remove --enable-grub-emu-modules.
17468 * genmk.rb: Cleanup unnecessary rules.
17469 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
17470
17471 * normal/main.c: Don't load list files on grub-emu-lite.
17472 * util/misc.c (grub_arch_sync_caches): Removed.
17473
f86a4030
CW
174742010-08-23 Colin Watson <cjwatson@ubuntu.com>
17475
17476 * kern/mips/startup.S (grub_prefix): Update comment to refer to
17477 grub-mkimage rather than grub-mkelfimage.
17478 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
17479
06776944
VS
174802010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
17481
17482 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
17483 a key after CapsLock or NumLock. It's just a qemu bug.
17484
df262419
VS
174852010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
17486
17487 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
17488 needed by libusb wrapper.
17489
b40ea81b
ST
174902010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
17491
17492 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
17493
dee50575
VS
174942010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
17495
17496 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
17497 --nounzip is passed.
17498
fb1d7b79
VS
174992010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
17500
17501 USB hotunplugging and USB serial support.
17502
17503 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
17504 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
17505 (grub_uhci_transfer): Respect timeout and set *actual.
17506 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
17507 non-standard length.
17508 (grub_usb_device_attach): Autoload modules.
17509 (GRUB_MOD_INIT): Set grub_term_poll_usb.
17510 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
17511 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
17512 users updated.
17513 (grub_usb_add_hub): Fill nports and children.
17514 (attach_root_port): Receive hub instead of controller.
17515 All users updated. Fill hub->devices.
17516 (grub_usb_root_hub): Allocate hub->devices.
17517 (detach_device): New function.
17518 (poll_nonroot_hub): Fill children and detach devices.
17519 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
17520 actual arguments. All users updated.
17521 (grub_usb_bulk_read_extended): New function.
17522 * bus/usb/serial/common.c: New file.
17523 * bus/usb/serial/ftdi.c: Likewise.
17524 * bus/usb/serial/pl2303.c: Likewise.
17525 * commands/terminal.c (handle_command): Support wildcard.
17526 * commands/usbtest.c: Output "Unknown" instead of empty string.
17527 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
17528 (usbserial_common_mod_SOURCES): New variable.
17529 (usbserial_common_mod_CFLAGS): Likewise.
17530 (usbserial_common_mod_LDFLAGS): Likewise.
17531 (pkglib_MODULES): Add usbserial_pl2303.mod.
17532 (usbserial_pl2303_mod_SOURCES): New variable.
17533 (usbserial_pl2303_mod_CFLAGS): Likewise.
17534 (usbserial_pl2303_mod_LDFLAGS): Likewise.
17535 (pkglib_MODULES): Add usbserial_ftdi.mod.
17536 (usbserial_ftdi_mod_SOURCES): New variable.
17537 (usbserial_ftdi_mod_CFLAGS): Likewise.
17538 (usbserial_ftdi_mod_LDFLAGS): Likewise.
17539 (pkglib_MODULES): Add serial.mod.
17540 (serial_mod_SOURCES): New variable.
17541 (serial_mod_CFLAGS): Likewise.
17542 (serial_mod_LDFLAGS): Likewise.
17543 * conf/i386-pc.rmk: Likewise.
17544 * conf/mips-yeeloong.rmk: Likewise.
17545 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
17546 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
17547 * disk/usbms.c (first_available_slot): New variable.
17548 (grub_usbms_attach): Don't reuse free slots due to potential cache
17549 problems.
17550 * include/grub/serial.h: Moved to ..
17551 * include/grub/ns8250.h: ...this.
17552 * include/grub/serial.h: New file.
17553 * include/grub/term.h (grub_term_poll_usb): New variable.
17554 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
17555 readkey. All users updated.
17556 (grub_terminfo_output_state): Pass term to put.
17557 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
17558 (grub_usb_controller_dev): Add timeout and actual arguments to
17559 transfer. All users updated.
17560 (grub_usb_interface): New field detach_data.
17561 (grub_usb_device): New fields children and nports.
17562 (grub_usb_ep_type_t): New type.
17563 (grub_usb_get_ep_type): New function.
17564 (grub_usb_bulk_read_extended): Likewise.
17565 * include/grub/usbdesc.h (grub_usb_desc): New type.
17566 * include/grub/usbserial.h: New file.
17567 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
17568 * kern/term.c (grub_term_poll_usb): New variable.
17569 (grub_getkey): Call grub_term_poll_usb if set.
17570 (grub_checkkey): Likewise.
17571 (grub_getkeystatus): Likewise.
17572 * term/serial.c: Moved controller-specific parts to ...
17573 * term/ns8250.c: ... here.
17574 * term/serial.c: Mostly rewritten.
17575 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
17576 according to spec.
17577
21a313de
RM
175782010-08-20 Robert Millan <rmh@gnu.org>
17579
17580 Make kFreeBSD code more generic to support ext2fs as root, ufs as
17581 a separate module and maybe other interesting combinations.
17582
17583 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
17584 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
17585 (kfreebsd_entry): Add generic filesystem module load routine.
17586 Map GRUB `ext2' to kFreeBSD `ext2fs'.
17587
63c734a6
CW
175882010-08-20 Colin Watson <cjwatson@ubuntu.com>
17589
17590 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
17591 "numcenter" (I misunderstood the purpose of this entry).
17592 * docs/grub.texi (sendkey): Likewise.
17593
c4d16542
CW
175942010-08-20 Colin Watson <cjwatson@ubuntu.com>
17595
17596 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
17597 status flag options; simply omitting the option is equivalent and
17598 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
17599 (keysym_table): Rename "num5numlock" to "numlock".
17600 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
17601 can uniformly say that only the last of multiple `sendkey'
17602 invocations has any effect.
17603 * docs/grub.texi (sendkey): New section.
17604
93541d66
CW
176052010-08-19 Colin Watson <cjwatson@ubuntu.com>
17606
17607 * commands/i386/pc/sendkey.c (options): Fix three typos.
17608
b4ece5e1
VS
176092010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17610
17611 Implement sendkey support.
17612
17613 * commands/i386/pc/sendkey.c: New file.
17614 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
17615 (sendkey_mod_SOURCES): New variable.
17616 (sendkey_mod_CFLAGS): Likewise.
17617 (sendkey_mod_LDFLAGS): Likewise.
17618
51f1f5af
CW
176192010-08-18 Colin Watson <cjwatson@ubuntu.com>
17620
17621 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
17622 fix warnings from Autoconf.
17623
9da94e05
CW
176242010-08-18 Colin Watson <cjwatson@ubuntu.com>
17625
17626 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
17627 to avoid false positives with some assemblers that output things
17628 like "someprefix_func" as part of their output.
17629
729a0f2e
RM
176302010-08-15 Robert Millan <rmh@gnu.org>
17631
17632 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
17633 errors.
17634 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
17635 grub_get_libzfs_handle() errors.
17636
f3710e08
RM
176372010-08-14 Robert Millan <rmh@gnu.org>
17638
17639 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
17640 filesystem is not ZFS.
17641
7a3c13de
BC
176422010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17643
17644 Fix for misspelled color names defaulting to black/black (bug
17645 reported by Doug Nazar)
17646
17647 * include/grub/normal.h (grub_parse_color_name_pair): Add return
17648 status to prototype.
17649 * normal/color.c (grub_parse_color_name_pair): Return failure
17650 status.
17651 (grub_env_write_color_normal): Ignore bad color names.
17652 (grub_env_write_color_highlight): Likewise.
17653 * normal/main.c (GRUB_MOD_INIT): Set default color names.
17654
ab8ba50d
BC
176552010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17656
17657 "shift" command support to GRUB script.
17658
17659 * include/grub/script_sh.h (grub_script_shift): New prototype.
17660 * script/execute.c (grub_script_shift): New function.
17661 * script/main.c (grub_script_init): Register shift command.
17662 (grub_script_fini): Unregister shift command.
17663 * util/grub-script-check.c (grub_script_cmd_shift): New function.
17664
17665 * tests/grub_script_shift.in: New testcase.
17666 * conf/tests.rmk: Rules for new testcase.
17667
4d61999e
BC
176682010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17669
17670 "continue" command support to GRUB script.
17671
17672 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
17673 (grub_script_break): Continue support.
17674 * script/main.c (grub_script_init): Register continue command.
17675 (grub_script_fini): Unregister continue command.
17676
17677 * tests/grub_script_continue.in: New testcase.
17678 * conf/tests.rmk: Rules for new testcase.
17679
4df51e00
BC
176802010-08-12 BVK Chaitanya <bvk@dbook>
17681
17682 "break" command support to GRUB script.
17683
17684 * conf/common.rmk: Rule updates to grub-script-check.
17685 * include/grub/misc.h (grub_min): New function.
17686 * include/grub/script_sh.h (grub_script_init): New prototype.
17687 (grub_script_fini): New prototype.
17688 (grub_script_break): New prototype.
17689 * script/main.c (grub_script_init): New function.
17690 (grub_script_fini): New function.
17691 * script/execute.c (grub_script_break): New function.
17692 * normal/main.c: Calls to grub_script_{init,fini}.
17693 * util/grub-script-check.c (grub_script_break): New function.
17694
17695 * tests/grub_script_break.in: New testcase.
17696 * conf/tests.rmk: Rules for new test case.
17697
f12c8420
BC
176982010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17699
17700 Function parameters support to GRUB script.
17701
17702 * script/yylex.l (VARIABLE): Regular expression update.
17703 * script/function.c (grub_script_function_call): Moved ...
17704 * script/execute.c (grub_script_function_call): ... to here.
17705 (grub_script_execute_arglist_to_argv): Removed.
17706 (grub_script_arglist_to_argv): New function.
17707 * script/argv.c: New file.
17708 (grub_script_argv_free): New function.
17709 (grub_script_argv_next): Likewise.
17710 (grub_script_argv_append): Likewise.
17711 (grub_script_argv_split_append): Likewise.
17712 * include/grub/script_sh.h (grub_script_argv): New struct.
17713 (grub_script_argv_free): New function.
17714 (grub_script_argv_next): Likewise.
17715 (grub_script_argv_append): Likewise.
17716 (grub_script_argv_split_append): Likewise.
17717
17718 * conf/common.rmk (normal.mod): New source script/argv.c.
17719
17720 * tests/grub_script_echo1.in: More tests.
17721 * tests/grub_script_vars1.in: Likewise.
17722 * tests/grub_script_functions.in: New test case.
17723 * conf/tests.rmk: Rules for new testcase.
17724
8022b748
BC
177252010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17726
17727 Remove grub_script_cmdblock struct.
17728
17729 * include/grub/script_sh.h: Remove grub_script_cmdblock.
17730 * script/parser.y: Likewise.
17731 * script/execute.c: Rename cmdblock suffix to cmdlist.
17732 * script/script.c: Likewise.
17733 * util/grub-script-check.c: Likewise.
17734
79a6ba61
YB
177352010-08-11 Yves Blusseau <blusseau@zetam.org>
17736
17737 * .bzrignore: add grub-macho2img
17738
d04b9414
VS
177392010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
17740
17741 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
17742
f947ab49
VS
177432010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
17744
17745 Remove the dump of sm712 initialisation sequence.
17746
17747 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
17748 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
17749 (GRUB_VGA_IO_MISC_WRITE): Likewise.
17750 (GRUB_VGA_CR_*): Added many registers.
17751 (GRUB_VGA_SR_*): Likewise.
17752 (GRUB_VGA_GR_*): Likewise.
17753 (grub_vga_write_arx): New function.
17754 (grub_video_hw_config): New struct.
17755 (grub_vga_set_geometry): New function.
17756 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
17757 GRUB_PCI_CLASS_SUBCLASS_VGA.
17758 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
17759 * video/sm712.c (grub_sm712_write_reg): New function
17760 (grub_sm712_read_reg): Likewise.
17761 (grub_sm712_sr_write): Likewise.
17762 (grub_sm712_gr_write): Likewise.
17763 (grub_sm712_cr_write): Likewise.
17764 (grub_sm712_write_arx): Likewise.
17765 (grub_sm712_cr_shadow_write): Likewise.
17766 (grub_sm712_write_dda_lookup): Likewise.
17767 (grub_video_sm712_setup): Initialise the video rather then
17768 blindly replay the dump.
17769 (main) [TEST]: Add a routine to be able to compile as standalone for
17770 tests.
17771 * video/sm712_init.c (sm712_init): Removed.
17772 (sm712_sr_seq1): New array.
17773 (sm712_sr_seq2): Likewise.
17774
f0206638
VS
177752010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
17776
17777 * include/grub/vga.h: Add missing grub/pci.h include.
17778
2764da3b
YB
177792010-08-10 Yves Blusseau <blusseau@zetam.org>
17780
17781 * util/grub-macho2img.c (main): fix typo
17782
cf0c775e
VS
177832010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
17784
17785 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
17786 (grub_vga_gr_read): Likewise.
17787 (grub_vga_cr_write): Likewise.
17788 (grub_vga_cr_read): Likewise.
17789 (grub_vga_sr_write): Likewise.
17790 (grub_vga_sr_read): Likewise.
17791 (grub_vga_palette_read): Likewise.
17792 (grub_vga_palette_write): Likewise.
17793 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
17794 (grub_sm712_sr_read): New function.
17795 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
17796 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
17797
07f360e9
RM
177982010-08-09 Robert Millan <rmh@gnu.org>
17799
17800 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
17801 out unused variables on non-ZFS build.
17802
346c2072
RM
178032010-08-08 Robert Millan <rmh@gnu.org>
17804
17805 Fix path generation for sub-filesystems in ZFS.
17806
17807 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
17808 missing slash.
17809
71175420
RM
178102010-08-08 Robert Millan <rmh@gnu.org>
17811
17812 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
17813
0d8286f3
RM
178142010-08-08 Robert Millan <rmh@gnu.org>
17815
17816 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
17817 exist, issue a proper error message (rely on `ls' for translated
17818 strings).
17819
55dd2924
RM
178202010-08-08 Robert Millan <rmh@gnu.org>
17821
17822 Fix grub-probe invocation.
17823
17824 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
17825
d3dd9e80
RM
178262010-08-04 Robert Millan <rmh@gnu.org>
17827
17828 * configure.ac: Remove checks for getfsstat() and getmntany().
17829 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
17830 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
17831 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
17832 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
17833 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
17834 function.
17835 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
17836 via find_mount_point_from_dir() and getfsstat() / getmntany().
17837
0de22aa9
RM
178382010-08-04 Robert Millan <rmh@gnu.org>
17839
17840 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
17841 (grub_find_zpool_from_mount_point): Merge into ...
17842 (grub_find_zpool_from_dir): ... this.
17843 * kern/emu/misc.c: Likewise.
17844
17845 * kern/emu/misc.c
17846 (grub_make_system_path_relative_to_its_root): Replace
17847 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
17848 with grub_find_zpool_from_dir().
17849 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
17850
62858144
RM
178512010-08-04 Robert Millan <rmh@gnu.org>
17852
17853 Support OpenSolaris in ZFS device resolution.
17854
17855 * configure.ac: Check for getmntany().
17856 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
17857 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
17858 support.
17859
9dd6fd50
RM
178602010-08-03 Robert Millan <rmh@gnu.org>
17861
17862 Fix grub-emu build.
17863
17864 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
17865 * include/grub/emu/misc.h: ... here.
17866
17867 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
17868 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
17869
17870 * util/misc.c: Remove `<grub/util/libzfs.h>'.
17871 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
17872 (grub_get_libzfs_handle): Move to ...
17873 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
17874 (grub_get_libzfs_handle): ... here.
17875
c9f7ff97
BC
178762010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
17877
17878 * script/execute.c (grub_script_execute_cmdline): Check for NULL
17879 as command name case.
17880
a870a783
CW
178812010-08-02 Colin Watson <cjwatson@ubuntu.com>
17882
17883 * disk/raid.c (insert_array): Select unique numbers for named arrays
17884 as well, for use as keys in the disk cache.
17885
c7db243b
RM
178862010-08-01 Robert Millan <rmh@gnu.org>
17887
17888 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
17889 kFreeBSD device name, except on ZFS where the filesystem label is
17890 used.
17891 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
17892 `/boot/zfs/zpool.cache'.
17893 Set mountfrom kernel variable using ${kfreebsd_device}.
17894
f7abdefb
RM
178952010-08-01 Robert Millan <rmh@gnu.org>
17896
17897 Make it even harder to use uninitialized `libzfs_handle' (and
17898 make the interface a bit simpler).
17899
17900 * include/grub/util/misc.h (grub_util_init_libzfs)
17901 (libzfs_handle): Remove.
17902 (grub_get_libzfs_handle): New prototype.
17903
17904 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
17905 attribute.
17906 (grub_util_init_libzfs): Remove.
17907 (grub_get_libzfs_handle): New function.
17908
17909 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
17910 grub_get_libzfs_handle() to obtain a libzfs handle instead of
17911 accessing `libzfs_handle' directly.
17912
c882acc0
RM
179132010-08-01 Robert Millan <rmh@gnu.org>
17914
17915 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
17916 (grub_find_zpool_from_mount_point): New function prototypes.
17917
17918 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
17919 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
17920
17921 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
17922 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
17923 `static' attribute.
17924
17925 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
17926 finding zpool from mount point into ...
17927 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
17928
17929 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
17930 requested path is part of a ZFS pool, use
17931 grub_find_zpool_from_mount_point() to detect its filesystem name,
17932 and generate a path with `/fsname@path' syntax.
17933
8bfe31d8
CW
179342010-08-01 Colin Watson <cjwatson@ubuntu.com>
17935
17936 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
17937 (void) rather than () so that this is a proper prototype.
17938
553df63d
VS
179392010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
17940
17941 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
17942
8687cf07
VS
179432010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
17944
17945 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
17946 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
17947
ea9be8ea
CW
179482010-08-01 Colin Watson <cjwatson@ubuntu.com>
17949
17950 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
17951
6eea041a
CW
179522010-08-01 Colin Watson <cjwatson@ubuntu.com>
17953
17954 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
17955
2cfb45df
CW
179562010-08-01 Colin Watson <cjwatson@ubuntu.com>
17957
17958 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
17959 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
17960 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
17961 disable gfxpayload.
17962 (Shell-like scripting): Add real content.
17963 (Serial terminal): Suggest `terminal_input serial; terminal_output
17964 serial' rather than putting the two commands on separate lines,
17965 since console input will be inoperative after the first command.
17966 (menuentry): Document --class, --users, and --hotkey options.
17967 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
17968 Vladimir Serbinenko).
17969
7decd202
VS
179702010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
179712010-08-01 Colin Watson <cjwatson@ubuntu.com>
17972
17973 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
17974
c882acc0
RM
179752010-08-01 Robert Millan <rmh@gnu.org>
17976
17977 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
17978 (grub_find_zpool_from_mount_point): New function prototypes.
17979
17980 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
17981 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
17982
17983 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
17984 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
17985 `static' attribute.
17986
17987 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
17988 finding zpool from mount point into ...
17989 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
17990
17991 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
17992 requested path is part of a ZFS pool, use
17993 grub_find_zpool_from_mount_point() to detect its filesystem name,
17994 and generate a path with `/fsname@path' syntax.
17995
deb0caa3
RM
179962010-08-01 Robert Millan <rmh@gnu.org>
17997
17998 Prevent accidental use of uninitialized libzfs_handle.
17999
18000 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
18001 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
18002 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
18003
ce04ef47
CW
180042010-08-01 Colin Watson <cjwatson@ubuntu.com>
18005
18006 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
18007 util/grub.d/10_linux.in). Fixes Debian bug #591093.
18008
ebf53056
RM
180092010-08-01 Robert Millan <rmh@gnu.org>
18010
18011 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 18012
3710bb6b
RM
180132010-07-31 Robert Millan <rmh@gnu.org>
18014
18015 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
18016
8072efeb
RM
180172010-07-31 Robert Millan <rmh@gnu.org>
18018
18019 * kern/emu/misc.c: Add missing license header.
18020
3169f4c7
RM
180212010-07-31 Robert Millan <rmh@gnu.org>
18022
18023 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
18024
18025 * include/grub/util/libnvpair.h: Include `<config.h>'.
18026 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
18027 declaring libnvpair prototypes ourselves.
18028 * include/grub/util/libzfs.h: Include `<config.h>'.
18029 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
18030 declaring libzfs prototypes ourselves.
18031
18032 (libzfs_handle): Moved to ...
18033 * include/grub/util/misc.h (libzfs_handle): ... here.
18034 Include `<grub/util/libzfs.h>'.
18035
c9a00aee
RM
180362010-07-30 Robert Millan <rmh@gnu.org>
18037
18038 * include/grub/emu/misc.h: Add missing license header.
18039
a184f9c8
RM
180402010-07-30 Robert Millan <rmh@gnu.org>
18041
18042 Enable `grub-probe -t device' resolution on ZFS.
18043
18044 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
18045 * include/grub/util/libnvpair.h: New file.
18046 * include/grub/util/libzfs.h: New file.
18047
18048 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
18049 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
18050 `<grub/util/libnvpair.h>'.
18051 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
18052
18053 (find_mount_point_from_dir): New static function.
18054 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
18055 function.
18056 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
18057 find_root_device_from_libzfs() before ressorting to find_root_device().
18058
18059 * include/grub/util/misc.h (grub_util_init_libzfs): New function
18060 prototype.
18061 * util/misc.c: Include `<grub/util/libzfs.h>'.
18062 (grub_util_init_libzfs): New function.
18063 [HAVE_LIBZFS] (libzfs_handle): New global variable.
18064 [HAVE_LIBZFS] (fini_libzfs): New static function.
18065 (grub_util_init_libzfs): New function.
18066 * util/grub-probe.c (main): Call grub_util_init_libzfs().
18067
f7790cdd
RM
180682010-07-30 Robert Millan <rmh@gnu.org>
18069
18070 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
18071 (xmalloc, xrealloc, xstrdup, xasprintf): Add
18072 `warn_unused_result' attribute.
18073 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
18074 (grub_xasprintf, grub_xvasprintf): Likewise.
18075 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
18076
0806b63c
RM
180772010-07-29 Robert Millan <rmh@gnu.org>
18078
18079 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
18080 (probe): Handle `PRINT_FS_LABEL'.
18081 (main): Handle `-t fs_label'.
18082
9f841f5c
RM
180832010-07-29 Robert Millan <rmh@gnu.org>
18084
18085 * configure.ac: Remove grub-mkisofs checks.
18086
46371121
VS
180872010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
18088
18089 * util/ieee1275/grub-install.in: Don't use empty grub_device.
18090 Reported by: Lennart Sorensen.
18091
180922010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18093
18094 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
18095 prior to terminal_input/terminal_output separation. It's been over 1.5
18096 years and those versions weren't widely deployed.
18097
a9600892
CW
180982010-07-22 Colin Watson <cjwatson@ubuntu.com>
18099
18100 * disk/raid.c (insert_array): Don't count named arrays when looking
18101 for unused array numbers.
697e053c 18102 Reported and tested by: Michael Guntsche.
a9600892 18103
c03507df
CW
181042010-07-20 Colin Watson <cjwatson@ubuntu.com>
18105
18106 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
18107 implementation of this so that grub-emu links again, with a note
18108 that this should support hotplugging in the future.
18109
b26f1c11
CW
181102010-07-20 Colin Watson <cjwatson@ubuntu.com>
18111
18112 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
18113
efc9d7f1
CW
181142010-07-20 Colin Watson <cjwatson@ubuntu.com>
18115
18116 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
18117 handle on failure.
18118 (grub_loopback_close): Remove empty function.
18119 (grub_loopback_dev): Remove close method.
18120
dd8ff5c9
CW
181212010-07-20 Colin Watson <cjwatson@ubuntu.com>
18122
18123 Disable EFI cursor when the EFI console becomes inactive.
18124
18125 * term/efi/console.c (grub_efi_console_init): New function.
18126 (grub_efi_console_fini): New function.
18127 (grub_console_term_output): Register init and fini methods.
18128
5e3bec67
VS
181292010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18130
18131 * tests/util/grub-shell-tester.in: Remove bashism and declare as
18132 sh script.
18133
afaec079
VS
181342010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18135
18136 * disk/loopback.c (grub_loopback): Replace filename with file.
18137 (delete_loopback): Handle new semantics.
18138 (grub_cmd_loopback): Likewise.
18139 (grub_loopback_iterate): Likewise.
18140 (grub_loopback_close): Likewise.
18141
a6a11f3c
VS
181422010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18143
18144 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
18145 with -p "".
18146 Reported by: Tito Keitel.
18147
64a638b0
VS
181482010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18149
18150 * docs/grub.texi (Naming convention): Document new naming convention.
18151
ab8ba957
VS
181522010-07-20 Vadim Solomin <vadic052@gmail.com>
181532010-07-20 Colin Watson <cjwatson@ubuntu.com>
18154
18155 Generate device.map in something closer to the old ordering.
18156
18157 * util/deviceiter.c (struct device): New declaration.
18158 (compare_file_names): Rename to ...
18159 (compare_devices): ... this. Sort by kernel name in preference to
18160 the stable by-id name, but keep the latter as a fallback comparison.
18161 Update header comment.
18162 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
18163 of `struct device' rather than of plain file names.
18164
a29d6a4b
TF
181652010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
18166
18167 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
18168 on i386.
18169
39d824e8
VS
181702010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18171
18172 * commands/acpi.c (setup_common_tables): Use sizeof instead of
18173 hardcoding size.
18174 (setv1table): Likewise.
18175
f058276b
FZ
181762010-07-20 Colin Watson <cjwatson@ubuntu.com>
18177
18178 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
18179 removing the homehost if present.
18180 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
18181 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
18182 removing the homehost if present.
18183 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
18184 if possible.
18185 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
18186
18187 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
18188 parameter. Set its pointer target to 0.
18189 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
18190 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
18191 `data_offset' value from the superblock for 1.x metadata.
18192 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
18193 data on the device.
18194 (insert_array): Record the start sector of data on the device.
18195 (grub_raid_register): Pass start_sector parameters to
18196 grub_raid_list->detect and insert_array.
18197 * include/grub/raid.h (struct grub_raid_array): Add start_sector
18198 member.
18199 (struct grub_raid): Add start_sector parameter to `detect'.
18200
18201 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
18202 __attribute__ ((packed)), leaving a comment.
18203 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
18204 (grub_mdraid_detect_09): ... here and ...
18205 (grub_mdraid_detect_1x): ... here.
18206
182072010-07-20 Peter Henn <peter.henn@web.de>
18208
18209 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
18210 chunk size and disk size, which are already given as sector counts
18211 as distinct from the 0.90 units. Fetch the correct device number
18212 from the role table instead of using the table index.
18213
182142010-07-20 Felix Zielcke <fzielcke@z-51.de>
18215
18216 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
18217 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
18218 (WriteMostly1): New macro.
18219 Set array->name to NULL for metadata format 0.90. Add support for
18220 metadata 1.x. Fix some comments.
18221 * disk/raid.c (): Add support for name based RAID arrays. Fix a
18222 few comments.
18223 * util/getroot.c (grub_util_get_grub_dev): Add support for
18224 /dev/md/name style devices.
18225
4b761da9
CW
182262010-07-20 Colin Watson <cjwatson@ubuntu.com>
18227
18228 * .bzrignore: Ignore 20_linux_xen.
18229
5771289a
CW
182302010-07-17 Colin Watson <cjwatson@ubuntu.com>
18231
18232 * util/import_unicode.py: Remove unnecessary imports.
18233
5dab68df
AN
182342010-07-17 Aleš Nesrsta <starous@volny.cz>
18235
18236 Hotplugging and USB hub support.
18237
18238 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
18239 (grub_ohci): Likewise.
18240 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
18241 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
18242 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
18243 (GRUB_OHCI_CTRL_EDS): Likewise.
18244 (GRUB_OHCI_BULK_EDS): Likewise.
18245 (GRUB_OHCI_TDS): Likewise.
18246 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
18247 (grub_ohci_ed_phys2virt): New function.
18248 (grub_ohci_virt_to_phys): Likewise.
18249 (grub_ohci_td_phys2virt): Likewise.
18250 (grub_ohci_td_virt2phys): Likewise.
18251 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
18252 attachment.
18253 (grub_ohci_find_ed): New function.
18254 (grub_ohci_alloc_td): Likewise.
18255 (grub_ohci_free_td): Likewise.
18256 (grub_ohci_free_tds): Likewise.
18257 (grub_ohci_transfer): Use previously allocated memory.
18258 (grub_ohci_portstatus): Reset status changed bit.
18259 (grub_ohci_detect_dev): Supply status changed.
18260 (grub_ohci_fini_hw): Free memory.
18261 (grub_ohci_restore_hw): Reallocate memory.
18262 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
18263 Reset status change.
18264 (grub_uhci_detect_dev): Supply status_change.
18265 * bus/usb/usb.c (attach_hooks): New var.
18266 (grub_usb_device_attach): New function.
18267 (grub_usb_register_attach_hook_class): Likewise.
18268 (grub_usb_unregister_attach_hook_class): Likewise.
18269 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
18270 (grub_usb_add_hub): Reset connection changed bit.
18271 (attach_root_port): New function.
18272 (grub_usb_root_hub): Likewise.
18273 (poll_nonroot_hub): Likewise.
18274 (grub_usb_poll_devices): Likewise.
18275 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
18276 * disk/usbms.c (grub_usbms_open): Use device hooks.
18277 (grub_usbms_iterate) :Poll devices.
18278 (grub_usbms_finddevs): Split into ...
18279 (grub_usbms_attach): ... this ...
18280 (grub_usbms_attach): ... and this.
18281 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
18282 in detect_dev.
18283 (grub_usb_interface): New fields attached and detach_hook.
18284 (grub_usb_attach_hook_class): New type.
18285 (grub_usb_attach_desc): New struct.
18286 (grub_usb_register_attach_hook_class): New function.
18287 (grub_usb_unregister_attach_hook_class): Likewise.
18288 (grub_usb_poll_devices): Likewise.
18289 (grub_usb_device_attach): Likewise.
18290 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
18291 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
18292
3222efaf
VS
182932010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
18294
18295 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
18296 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
18297 delta determination style. Works with most NetBSD partitions too.
18298
139b714a
VS
182992010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
18300
18301 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
18302 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
18303
986aad56
VS
183042010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
18305
18306 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
18307
99be513c
AB
183082010-07-14 Anton Blanchard <anton@samba.org>
18309
18310 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
18311 ET_DYN files.
18312
18075f62
GS
183132010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
18314
18315 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
18316
8d9a5b15
GS
183172010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
18318
18319 * kern/partition.c (grub_partition_check_containment): New function to
18320 check that a partition is physically contained in a parent. Since
18321 offsets are relative (and non-negative), this reduces to checking that
18322 the partition ends before its parent.
18323 (grub_partition_map_probe): Discard out-of-range sub-partitions.
18324 (grub_partition_iterate): Likewise.
18325 * include/grub/partition.h (grub_partition_map): Slightly more detailed
18326 comments.
18327 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
18328 partitions that start before their parent, and add debug printfs.
18329
19563c25
CW
183302010-07-13 Colin Watson <cjwatson@ubuntu.com>
18331
18332 * Makefile.in (.SUFFIX): Spell correctly, as ...
18333 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
18334 bare module name without `.mod', e.g. `test') tried to invoke a
18335 Modula-2 compiler.
18336
1a1f1e67
CW
183372010-07-13 Colin Watson <cjwatson@ubuntu.com>
18338
18339 * README: Point to the Info manual.
18340
811b0dca
JS
183412010-07-13 Jiro SEKIBA <jir@unicus.jp>
18342
18343 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
18344 2nd superblock position from partition size.
18345
e4f4eafc
CW
183462010-07-10 Colin Watson <cjwatson@ubuntu.com>
18347
18348 * Makefile.in (MAINTAINER_CLEANFILES): Remove
18349 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
18350 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
18351 outputs.
18352
4274c30f
VS
183532010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18354
18355 Restructure SCSI .id handling.
18356 Reported and tested by: Aleš Nesrsta.
18357
18358 * disk/ata.c (grub_atapi_close): Removed. All users updated.
18359 (grub_atapi_dev): Changed .name to "ata". New field .id.
18360 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
18361 (grub_usbms_dev): New field .id.
18362 * disk/scsi.c (grub_scsi_iterate): Generate name.
18363 (grub_scsi_open): Parse name.
18364 * include/grub/scsi.h (grub_make_scsi_id): New function.
18365 (grub_scsi_dev): Change iterate and open to number instead of naming
18366 busses. All users updated.
18367 (grub_scsi): Remove name. Add .bus.
18368
5bc24388
VS
183692010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18370
18371 * commands/help.c (grub_cmd_help): Fix a typo.
18372
249975ba
VS
183732010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18374
18375 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
18376 Reported and tested by: Colin Watson.
18377
3eaac1a1
VS
183782010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18379
18380 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
18381 in this context.
18382
becce1b1
VS
183832010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
18384
18385 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
18386
f7bf0918
CW
183872010-07-07 Colin Watson <cjwatson@ubuntu.com>
18388
18389 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
18390 indentation.
18391
0b0f9620
CW
183922010-07-06 Colin Watson <cjwatson@ubuntu.com>
18393
18394 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
18395 and disk/raid6_recover.c.
18396 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
18397 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
18398
1e545469
CW
183992010-07-06 Colin Watson <cjwatson@ubuntu.com>
18400
18401 * term/gfxterm.c (repaint_schedulded): Rename to ...
18402 (repaint_scheduled): ... this. Update all callers.
18403 (repaint_was_schedulded): Rename to ...
18404 (repaint_was_scheduled): ... this. Update all callers.
18405
5357687a
CW
184062010-07-06 Colin Watson <cjwatson@ubuntu.com>
18407
18408 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
18409 which we expect to be handled by upper layers.
18410
29d7e783
BC
184112010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
18412
18413 * bus/usb/usbhub.c: #include time.h header.
18414
37582066
CW
184152010-07-06 Colin Watson <cjwatson@ubuntu.com>
18416
18417 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
18418 entry_name also for entries without stat blocks (e.g. ".."); fixes
18419 corruption of the first entry in a directory.
18420
c8c06953
CW
184212010-07-06 Colin Watson <cjwatson@ubuntu.com>
18422
18423 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
18424 after setting gfxterm as the active terminal. GRUB_BACKGROUND
18425 doesn't work otherwise.
18426
e75056f1
CW
184272010-07-05 Colin Watson <cjwatson@ubuntu.com>
18428
18429 * docs/grub.texi (Features): Update list of supported file systems.
18430 (GNU/Linux): Update for GRUB 2.
18431 (Serial terminal): Remove mention of --disable-serial, which was a
18432 GRUB Legacy configure option. Update instructions to use
18433 `terminal_input' and `terminal_output' rather than `terminal'.
18434 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
18435 configuration' and `Installing GRUB using grub-install'.
18436 (Menu entry editor): Update for GRUB 2.
18437 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
18438 Document new -a, -u, and -v options.
18439 (initrd): New section.
18440 (initrd16): New section.
18441 (linux): New section.
18442 (linux16): New section.
18443 (search): The `var' argument to `--set' is optional.
18444 (GRUB only offers a rescue shell): Go into a little more detail on
18445 drive ordering.
18446
5cf69151
CW
184472010-07-05 Colin Watson <cjwatson@ubuntu.com>
18448
18449 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
18450
e3f90044
CW
184512010-07-05 Colin Watson <cjwatson@ubuntu.com>
18452
18453 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
18454 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
18455
38d8f4f3
CW
184562010-07-05 Colin Watson <cjwatson@ubuntu.com>
18457
18458 * util/i386/pc/grub-setup.c (setup): Rename prefix to
18459 install_prefix, in line with install_dos_part and install_bsd_part.
18460 Add new prefix variable, which is copied to install_prefix after
18461 comparing core.img in memory with the one read from disk in the
18462 no-embedding case, and use that rather than overwriting
18463 install_prefix immediately when installing to a partition.
18464 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
18465 Bicakci.
18466
57ebd41e
GS
184672010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
18468
18469 * configure.ac: Avoid == in test command, it's not portable.
18470 * util/grub.d/30_os-prober.in: Likewise.
18471
cb7f64b2
CW
184722010-07-04 Colin Watson <cjwatson@ubuntu.com>
18473
18474 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
18475
6b654bb0
GS
184762010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
18477
18478 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
18479 multiple (top-level) partmaps.
18480
72a2026d
VS
184812010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18482
18483 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 18484 Reported by: Tino Keitel.
72a2026d 18485
df3eb88f
VS
184862010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18487
18488 Bidi and diacritics support.
18489
18490 * Makefile.in (widthspec.bin): New target.
18491 (widthspec.h): Likewise.
18492 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
18493 * autogen.sh: Generate unidata.c.
18494 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
18495 * commands/ls.c (grub_ls_list_devices): Likewise.
18496 (grub_ls_list_files): Likewise.
18497 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
18498 (grub_mini_cmd_lsmod): Likewise.
18499 * commands/read.c: Likewise.
18500 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
18501 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
18502 * lib/arg.c (grub_arg_show_help): Likewise.
18503 * lib/crypto.c (grub_password_get): Likewise.
18504 * normal/auth.c (grub_username_get): Likewise.
18505 * normal/misc.c (grub_normal_print_device_info): Likewise.
18506 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
18507 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
18508 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
18509 (normal/charset.c_DEPENDENCIES): New variable.
18510 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
18511 (pkglib_MODULES): Remove charset.mod.
18512 (charset_mod_SOURCES): Removed.
18513 (charset_mod_CFLAGS): Likewise.
18514 (charset_mod_LDFLAGS): Likewise.
18515 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
18516 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
18517 and term/tparm.c.
18518 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
18519 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
18520 (kernel_img_HEADERS): Add terminfo.h.
18521 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
18522 Fill ->font. Reverse ascii bitmaps.
18523 (grub_font_get_xheight): New function.
18524 * font/font.c (grub_font_get_string_width): Moved from here ...
18525 * gfxmenu/font.c (grub_font_get_string_width): ... here.
18526 * font/font.c (grub_font_draw_string): Moved from here ...
18527 * gfxmenu/font.c (grub_font_draw_string): ... here.
18528 * font/font.c (grub_font_dup_glyph): New function.
18529 (grub_font_blit_glyph): Likewise.
18530 (grub_font_blit_glyph_mirror): Likewise.
18531 (blit_comb): Likewise.
18532 (grub_font_construct_dry_run): Likewise.
18533 (grub_font_get_constructed_device_width): Likewise.
18534 (grub_font_construct_glyph): Likewise.
18535 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
18536 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
18537 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
18538 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
18539 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
18540 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
18541 (grub_font_get_xheight): New proto.
18542 (grub_font_get_constructed_device_width): Likewise.
18543 (grub_font_construct_glyph): Likewise.
18544 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
18545 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
18546 * include/grub/font.h (grub_font_draw_string): Moved from here ...
18547 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
18548 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
18549 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
18550 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
18551 (grub_console_getcharwidth): Likewise.
18552 * include/grub/misc.h (grub_xputs): New proto.
18553 (grub_puts): Inlined.
18554 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
18555 (grub_normal_get_line_counter): Removed.
18556 (grub_install_newline_hook): Likewise.
18557 (grub_normal_get_char_counter): New proto.
18558 (grub_normal_reset_more): Likewise.
18559 (grub_xputs_normal): Likewise.
18560 * include/grub/powerpc/ieee1275/console.h: Removed.
18561 * include/grub/sparc64/ieee1275/console.h: Likewise.
18562 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
18563 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
18564 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
18565 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
18566 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
18567 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
18568 (grub_term_input): Pass reference to self. All users updated.
18569 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
18570 Pass reference to self. New fields normal_color, highlight_color and
18571 data. All users updated.
18572 (grub_putchar): Removed.
18573 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
18574 (grub_unicode_estimate_width): New function.
18575 (grub_term_getcharwidth): Add defaults.
18576 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
18577 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
18578 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
18579 (grub_cls): Remove EXPORT_FUNC.
18580 (grub_setcolorstate): Inline.
18581 (grub_newline_hook): Removed.
18582 * include/grub/terminfo.h: Rewritten. All users updated.
18583 * include/grub/unicode.h: New file.
18584 * include/grub/video.h (grub_video_signed_rect): New type.
18585 * kern/emu/console.c (grub_console_highlight_color): Removed.
18586 (grub_console_normal_color): Likewise.
18587 (grub_console_standard_color): Made static.
18588 (grub_ncurses_putchar): Remove mapping.
18589 (grub_ncurses_getcharwidth): Removed.
18590 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
18591 (grub_ncurses_setcolor): Removed.
18592 (grub_ncurses_getcolor): Likewise.
18593 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
18594 (grub_console_putchar): ... this.
18595 (grub_console_putchar): Handle argument difference.
18596 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
18597 console_init_early and console_init_lately.
18598 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
18599 * kern/misc.c (grub_puts): Removed.
18600 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
18601 (grub_vsnprintf_real): Remove str = NULL support.
18602 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
18603 * normal/charset.c (grub_utf8_to_ucs4): ... here.
18604 * kern/term.c (grub_putcode): Renamed to ...
18605 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
18606 (grub_putchar): Removed.
18607 (grub_xputs_dumb): New function.
18608 (grub_xputs): New variable.
18609 * lib/charset.c: Move from here ...
18610 * normal/charset.c: ... to here.
18611 (grub_ucs4_to_utf8): New function.
18612 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
18613 (join_types): New variable.
18614 (unpack_join): New function.
18615 (bidi_types): New variable.
18616 (unpack_bidi): New function.
18617 (get_bidi_type): Likewise.
18618 (get_join_type): Likewise.
18619 (is_mirrored): Likewise.
18620 (grub_unicode_get_comb_type): Likewise.
18621 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
18622 (is_type_after): Likewise.
18623 (grub_unicode_aglomerate_comb): Likewise.
18624 (bidi_line_wrap): Likewise.
18625 (grub_bidi_line_logical_to_visual): Likewise.
18626 (grub_bidi_logical_to_visual): Likewise.
18627 (grub_unicode_mirror_code): Likewise.
18628 (grub_unicode_shape_code): Likewise.
18629 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
18630 Don't use grub_putchar.
18631 * normal/main.c (grub_normal_init_page): Use grub_putcode.
18632 (grub_normal_reader_init): Likewise.
18633 (grub_xputs_saved): New variable.
18634 (GRUB_MOD_INIT): Set grub_xputs.
18635 (GRUB_MOD_FINI): Restore grub_xputs.
18636 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
18637 (menu_init): Avoid printing gfxmenu error.
18638 (show_menu): Use grub_normal_get_char_counter.
18639 * normal/menu_entry.c (update_screen): Fix out-of-array.
18640 (complete): Avoid NULL dereferencing.
18641 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
18642 * normal/menu_text.c (print_spaces): Removed.
18643 (grub_print_ucs4): Likewise.
18644 (grub_print_message_indented): Use grub_print_ucs4.
18645 (print_message): Use grub_putcode.
18646 (print_entry): Hanlde diacritics.
18647 * normal/term.c (term_state): New type.
18648 (grub_more_lines): Removed.
18649 (term_states): New variable.
18650 (grub_normal_line_counter): Renamed to ..
18651 (grub_normal_char_counter): ...this. All users updated.
18652 (grub_normal_get_line_counter): Renamed to ...
18653 (grub_normal_get_char_counter): ... this.
18654 (grub_normal_reset_more): New function.
18655 (process_newline): Removed.
18656 (print_more): New function.
18657 (grub_install_newline_hook): Removed.
18658 (map_code): New function.
18659 (grub_puts_terminal): Use grub_print_ucs4.
18660 (putglyph): New function.
18661 (putcode_real): Likewise.
18662 (grub_putcode): Use putcode_real.
18663 (get_maxwidth): New function.
18664 (get_startwidth): Likewise.
18665 (print_ucs4_terminal): Likewise.
18666 (find_term_state): Likewise.
18667 (put_glyphs_terminal): Likewise.
18668 (print_backlog): Likewise.
18669 (print_ucs4_real): Likewise.
18670 (grub_print_ucs4): Likewise.
18671 (grub_xputs_normal): Likewise.
18672 * term/efi/console.c (grub_console_putchar): Output diacritics.
18673 (grub_console_getcharwidth): Removed.
18674 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
18675 * term/gfxterm.c (clear_char): Free chars.
18676 (scroll_up): Avoid leaking memory.
18677 (grub_gfxterm_putchar): Support diacritics.
18678 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
18679 * term/i386/pc/console.c (grub_console_term_output): Declare as
18680 GRUB_TERM_CODE_TYPE_VGA.
18681 * term/i386/pc/vga.c (grub_vga_term): Declare as
18682 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
18683 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
18684 GRUB_TERM_CODE_TYPE_VGA.
18685 * term/i386/vga_common.c (map_char): Removed.
18686 (grub_console_putchar): Likewise.
18687 (grub_console_getcharwidth): Likewise.
18688 * term/ieee1275/ofconsole.c: Simplify using terminfo.
18689 (colors): Reordered to match terminfo.
18690 (grub_ofconsole_normal_color): Removed.
18691 (grub_ofconsole_writeesc): Likewise.
18692 (grub_ofconsole_highlight_color): Likewise.
18693 (grub_ofconsole_getcharwidth): Likewise.
18694 (grub_ofconsole_setcolorstate): Likewise.
18695 (grub_ofconsole_setcolor): Likewise.
18696 (grub_ofconsole_getcolor): Likewise.
18697 (grub_ofconsole_readkey): Renamed to ...
18698 (readkey): ... this. Remove escape sequence handling. Return -1 on no
18699 key.
18700 (grub_ofconsole_checkkey): Removed.
18701 (grub_ofconsole_getkey): Likewise.
18702 (grub_ofconsole_getxy): Likewise.
18703 (grub_ofconsole_gotoxy): Likewise.
18704 (grub_ofconsole_cls): Likewise.
18705 (grub_ofconsole_refresh): Likewise.
18706 (grub_ofconsole_terminfo_input): New struct.
18707 (grub_ofconsole_terminfo_output): Likewise.
18708 (grub_ofconsole_term_input): Use terminfo.
18709 (grub_ofconsole_term_output): Likewise.
18710 (grub_console_init): Split into ...
18711 (grub_console_init_early): ...this and ...
18712 (grub_console_init_lately): ...this. Use terminfo.
18713 (grub_ofconsole_putchar): Renamed to ...
18714 (put): ... this. Remove mapping.
18715 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
18716 * term/serial.c: Simplify using terminfo.
18717 (xpos): Removed.
18718 (ypos): Likewise.
18719 (keep_track): Likewise.
18720 (registered): Likewise.
18721 (input_buf): Likewise.
18722 (npending): Likewise.
18723 (serial_translate_key_sequence): Likewise.
18724 (fill_input_buf): Likewise.
18725 (grub_serial_checkkey): Likewise.
18726 (grub_serial_getkey): Likewise.
18727 (grub_serial_getxy): Likewise.
18728 (grub_serial_gotoxy): Likewise.
18729 (grub_serial_putchar): Likewise.
18730 (grub_serial_cls): Likewise.
18731 (grub_serial_setcolorstate): Likewise.
18732 (grub_serial_setcursor): Likewise.
18733 (serial_hw_init): Use serial_hw_fetch.
18734 (grub_serial_terminfo_input): New variable.
18735 (grub_serial_terminfo_output): Likewise.
18736 (grub_serial_term_input): Use terminfo.
18737 (grub_serial_term_output): Likewise.
18738 * term/terminfo.c (putstr): Use put.
18739 (grub_terminfo_all_free): New function
18740 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
18741 (grub_terminfo_output_register): New function.
18742 (grub_terminfo_output_unregister): Likewise.
18743 (grub_terminfo_getxy): Likewise.
18744 (grub_terminfo_readkey): Likewise.
18745 (grub_terminfo_checkkey): Likewise.
18746 (grub_terminfo_getkey): Likewise.
18747 (grub_terminfo_input_init): Likewise.
18748 (print_terminfo): Likewise.
18749 (grub_cmd_terminfo): Handle encoding.
18750 (grub_terminfo_gotoxy): Track position.
18751 (grub_terminfo_cls): Likewise.
18752 (grub_terminfo_putchar): Likewise.
18753 (grub_terminfo_setcolorstate): Handle colors
18754 (grub_terminfo_cursor_on): This ...
18755 (grub_terminfo_cursor_off): ... and this merged into ...
18756 (grub_terminfo_setcursor): ... this.
18757 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
18758 * unicode/ArabicShaping.txt: New file (imported from Unicode).
18759 * unicode/BidiMirroring.txt: Likewise.
18760 * unicode/UnicodeData.txt: Likewise.
18761 * unicode/COPYING: Likewise.
18762 * util/grub-editenv.c (grub_putchar): Removed.
18763 (grub_xputs_real): New function.
18764 (grub_xputs): New variable.
18765 * util/grub-fstest.c (grub_putchar): Removed.
18766 (grub_xputs_real): New function.
18767 (grub_xputs): New variable.
18768 * util/grub-mkdevicemap.c (grub_putchar): Removed.
18769 (grub_xputs_real): New function.
18770 (grub_xputs): New variable.
18771 * util/grub-probe.c (grub_putchar): Removed.
18772 (grub_xputs_real): New function.
18773 (grub_xputs): New variable.
18774 * util/grub-script-check.c (grub_putchar): Removed.
18775 (grub_xputs_real): New function.
18776 (grub_xputs): New variable.
18777 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
18778 (grub_xputs_real): New function.
18779 (grub_xputs): New variable.
18780 * util/import_unicode.py: New file.
18781 * util/grub-mkfont.c (ft_errmsgs): New array.
18782 (grub_glyph_info): Make bitmap a pointer.
18783 (file_formats): New type WIDTH_SPEC.
18784 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
18785 (options): Add width-spec.
18786 (help): Likewise.
18787 (add_char): Renamed to ...
18788 (add_glyph): ... this.
18789 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
18790 (glyph_replace): New type.
18791 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
18792 (add_char): New function.
18793 (add_subst): Likewise.
18794 (process_cursive): Likewise.
18795 (add_font): Handle GSUB.
18796 (write_font_width_spec): New function.
18797 (main): Sort glyphs.
18798 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
18799 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
18800 * kern/term.c (grub_cls): Moved from here...
18801 * normal/term.c (grub_cls): ... here.
18802
50f0bcda
CW
188032010-07-02 Colin Watson <cjwatson@ubuntu.com>
18804
18805 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
18806 suitable for using within the format argument of printf when
18807 converting grub_size_t.
18808 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
18809 "x" to convert grub_size_t arguments.
18810
40372103
VS
188112010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18812
18813 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
18814 too long captions.
18815 (list_get_minimal_size): Take selection box into account.
18816
942a10c7
VS
188172010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18818
18819 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
18820 NULL font.
18821
2bdb2892
CW
188222010-07-02 Colin Watson <cjwatson@ubuntu.com>
18823
18824 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
18825 devices when iterating over /dev/disk/by-id; they will be handled
18826 later if appropriate, which they aren't always (e.g. LVM).
18827
e03ed6c1
CW
188282010-07-02 Colin Watson <cjwatson@ubuntu.com>
18829
18830 * include/grub/misc.h (grub_reboot): Declare as noreturn.
18831 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
18832 fails.
18833 (grub_halt): Likewise.
18834 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
18835 reset-all fails.
18836 (grub_halt): Don't return, even if all of shut-down, power-off, and
18837 poweroff fail.
18838
47695765
CW
188392010-07-02 Colin Watson <cjwatson@ubuntu.com>
18840
18841 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
18842 arguments, not three.
18843
507736c8
CW
188442010-07-02 Colin Watson <cjwatson@ubuntu.com>
18845
18846 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
18847 * util/grub.d/10_linux.in: Use it to check for LVM, so that
18848 LVM-on-RAID is handled correctly.
18849
e3c8cd37
CW
188502010-07-02 Colin Watson <cjwatson@ubuntu.com>
18851
18852 * docs/grub.texi (Changes from GRUB Legacy): New section.
18853 (Future): Fix typo.
18854
8d4a2fec
CW
188552010-07-02 Colin Watson <cjwatson@ubuntu.com>
18856
18857 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
18858 grub.d/README accidentally ends up executable for one reason or
18859 another. Ignore it.
18860
1c4827be
VS
188612010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18862
18863 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
18864 (gpt_partition_map_iterate): Support non-512B sectors.
18865
d9a0c941
VS
188662010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18867
18868 * kern/efi/init.c (grub_efi_init): Disable watchdog.
18869 Tested by: Seth Goldberg.
18870
48f27e87
VS
188712010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18872
18873 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
18874 Properly align mbi.
18875 Reported by: Seth Goldberg.
18876
b0c4f956
VS
188772010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
18878
18879 * util/grub-mkrescue.in: Avoid module duplication.
18880
105a2e8c
SF
188812010-07-01 Sean Finney <seanius@seanius.net>
18882
18883 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
18884
5944958c
SF
188852010-07-01 Sean Finney <seanius@seanius.net>
18886
18887 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
18888
188892010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
18890
18891 * disk/lvm.c (grub_lvm_checkvalue): New function.
18892 (grub_lvm_check_flag): Likewise.
18893
b79889ba
RM
188942010-07-01 Robert Millan <rmh@gnu.org>
18895
18896 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
18897 Support 'p' as partition separator on kernel of FreeBSD (used
18898 with GPT labels).
18899 (grub_util_biosdisk_get_grub_dev): Likewise.
18900
ec1d04f1
VS
189012010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
18902
18903 Yeeloong firmware port.
18904
18905 * boot/mips/yeeloong/fwstart.S: New file.
18906 * bus/cs5536.c (gpiodump): New const.
18907 (set_io_space): New function.
18908 (set_iod): Likewise.
18909 (set_p2d): Likewise.
18910 (grub_cs5536_init_geode): Likewise.
18911 * commands/mips/yeeloong/lsspd.c: New file.
18912 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
18913 (serial_mod_SOURCES): New variable.
18914 (serial_mod_CFLAGS): Likewise.
18915 (serial_mod_LDFLAGS): Likewise.
18916 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
18917 term/terminfo.c and term/tparm.c.
18918 (pkglib_IMAGES): Add fwstart.img.
18919 (fwstart_img_SOURCES): New variable.
18920 (fwstart_img_CFLAGS): Likewise.
18921 (fwstart_img_ASFLAGS): Likewise.
18922 (fwstart_img_LDFLAGS): Likewise.
18923 (fwstart_img_FORMAT): Likewise.
18924 (pkglib_MODULES): Add lsspd.mod.
18925 (lsspd_mod_SOURCES): New variable.
18926 (lsspd_mod_CFLAGS): Likewise.
18927 (lsspd_mod_LDFLAGS): Likewise.
18928 (pkglib_MODULES): Add halt.mod.
18929 (halt_mod_SOURCES): New variable.
18930 (halt_mod_CFLAGS): Likewise.
18931 (halt_mod_LDFLAGS): Likewise.
18932 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
18933 (serial_mod_SOURCES): Removed.
18934 (serial_mod_CFLAGS): Likewise.
18935 (serial_mod_LDFLAGS): Likewise.
18936 * disk/ata.c (check_device): New function.
18937 (grub_ata_device_initialize): Use check_device.
18938 (grub_ata_iterate): Recheck devices.
18939 (grub_ata_open): Likewise.
18940 (grub_atapi_iterate): Likewise.
18941 (grub_atapi_open): Likewise.
18942 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
18943 (GRUB_ATA_CH1_PORT1): Likewise.
18944 (GRUB_ATA_CH0_PORT2): Likewise.
18945 (GRUB_ATA_CH1_PORT2): Likewise.
18946 * include/grub/mips/loongson.h: New file.
18947 * include/grub/mips/yeeloong/ec.h: Likewise.
18948 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
18949 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
18950 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
18951 * include/grub/misc.h (grub_halt): Declare as noreturn.
18952 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
18953 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
18954 (UART_ENABLE_FIFO_TRIGGER1): New definition.
18955 (UART_ENABLE_DTRRTS): Likewise.
18956 (UART_ENABLE_MODEM): Removed.
18957 (UART_ENABLE_OUT2): New const.
18958 * include/grub/term.h (grub_term_register_input_active): New function.
18959 (grub_term_register_output_active): Likewise.
18960 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
18961 argument.
18962 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
18963 (init_pci): New function.
18964 (grub_machine_init): Execute platform init when firmware. Init serial.
18965 (grub_halt): Implement.
18966 (grub_exit): Likewise.
18967 (grub_reboot): Likewise.
18968 * term/serial.c (serial_hw_init): Update macros.
18969 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
18970 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
18971 (image_targets): New target mipsel-yeeloong-flash.
18972 (generate_image): Support IMAGE_YEELOONG_FLASH.
18973 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
18974 (grub_video_sm712_setup): Init card.
18975 (grub_video_sm712_set_palette): Removed.
18976 * video/sm712_init.c: New file.
18977
ff4a70d2
CW
189782010-06-30 Colin Watson <cjwatson@ubuntu.com>
18979
18980 * Makefile.in (install-local): Temporarily prepend $(builddir) to
18981 PATH when running help2man and then run it on the unadorned
18982 executable names, rather than passing $(builddir)/* paths to
18983 help2man. This avoids the build directory ending up in generated
18984 manual pages.
18985
1246efeb
CW
189862010-06-29 Colin Watson <cjwatson@ubuntu.com>
18987
18988 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
18989 to avoid accidents when debugging with 'sh -x'.
18990 * util/grub-mkrescue.in: Likewise.
18991 * util/grub.d/00_header.in: Likewise.
18992 * util/grub.d/10_hurd.in: Likewise.
18993 * util/grub.d/10_kfreebsd.in: Likewise.
18994 * util/grub.d/10_linux.in: Likewise.
18995 * util/grub.d/10_netbsd.in: Likewise.
18996 * util/grub.d/10_windows.in: Likewise.
18997 * util/grub.d/20_linux_xen.in: Likewise.
18998 * util/grub.d/30_os-prober.in: Likewise.
18999 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
19000
1ba9b889
CW
190012010-06-29 Colin Watson <cjwatson@ubuntu.com>
19002
19003 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
19004 last character in the buffer.
19005 Reported by: Vladimir Serbinenko.
19006
dccaf99d
RM
190072010-06-29 Robert Millan <rmh@gnu.org>
19008
19009 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
19010 (Command-line and menu entry commands): Document `badram' command.
19011
d500ed12
RM
190122010-06-28 Robert Millan <rmh@gnu.org>
19013
19014 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
19015 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
19016 command using ${GRUB_BADRAM} as parameter.
19017
20bc84a6
CW
190182010-06-28 Colin Watson <cjwatson@ubuntu.com>
19019
19020 * docs/grub.texi (Device map): New section.
19021 (Themes): New section (stub).
19022 * Makefile.in (docs/grub.info): The info documentation now builds
19023 without errors. Make sure it stays that way.
19024
4045dee1
VS
190252010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
19026
19027 Use normal parser for menu entries.
19028 Reported by: Thomas Frauendorfer
19029
19030 * include/grub/parser.h (grub_parser_execute): Don't export.
19031 * normal/menu.c (grub_menu_execute_entry_real): New function.
19032 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
19033
bca58c7b
CW
190342010-06-28 Colin Watson <cjwatson@ubuntu.com>
19035
19036 * docs/grub.texi (Embedded configuration): New section (replacing
19037 old "Preset Menu" stub).
19038 (Images): New section.
19039 (configfile): Note that any menu entries defined in `file' are shown
19040 immediately.
19041
dec53e63
JT
190422010-06-28 Josh Triplett <josh@joshtriplett.org>
19043
19044 * mmap/i386/pc/mmap_helper.S: Set CF on return.
19045
c06e40f7
CW
190462010-06-28 Colin Watson <cjwatson@ubuntu.com>
19047
19048 * util/grub-install.in: Add --debug-image= option.
19049
cb88052b
CW
190502010-06-28 Colin Watson <cjwatson@ubuntu.com>
19051
19052 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
19053 possible on Linux.
19054
19055 * util/deviceiter.c (check_device): Rename to ...
19056 (check_device_readable_unique): ... this. Update all callers.
19057 Maintain and check a list of which devices (by canonicalized name)
19058 have already been seen.
19059 (clear_seen_devices): New function.
19060 (compare_file_names) [__linux__]: New function.
19061 (grub_util_iterate_devices): Clear the list of seen devices on exit
19062 and (just in case) on entry.
19063 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
19064 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
19065 seen-devices list, superseded by general code in check_device.
19066
bbe34652
CW
190672010-06-28 Colin Watson <cjwatson@ubuntu.com>
19068
19069 * commands/cat.c (options): New variable.
19070 (grub_cmd_cat): Parse options. If the --dos option is given, print
19071 DOS-style "\r\n" line endings as simple newlines (Debian bug
19072 #586358).
19073 (GRUB_MOD_INIT): Use extcmd.
19074 (GRUB_MOD_FINI): Likewise.
19075 * docs/grub.texi (cat): Document --dos.
19076
412e09f3
VS
190772010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
19078
19079 XEN with Linux grub-mkconfig support.
19080
19081 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
19082 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
19083 GRUB_CMDLINE_XEN_DEFAULT.
19084 * util/grub.d/20_linux_xen.in: New file.
19085
53f3ef38 190862010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
19087
19088 Initialise VGA video on qemu ourselves.
19089
19090 * boot/i386/qemu/boot.S: Don't call 0xc000.
19091 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
19092 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
19093 (kernel_img_HEADERS): Add pci.h.
19094 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
19095 * configure.ac: Force unifont on qemu and yeeloong.
19096 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
19097 (grub_vga_palette_write): Use correct register.
19098 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
19099 Call grub_qemu_init_cirrus.
19100 * kern/i386/qemu/init.c: New file.
19101 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
19102
19103 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
19104
c75be4fb
PR
191052010-06-26 Pavel Roskin <proski@gnu.org>
19106
19107 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
19108 13.
19109
d8034603
CW
191102010-06-26 Colin Watson <cjwatson@ubuntu.com>
19111
19112 * docs/grub.texi (Simple configuration): Explain that
19113 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
19114 set to `true' to disable their respective recovery entries, not
19115 merely set.
19116
3fa06487
CW
191172010-06-26 Colin Watson <cjwatson@ubuntu.com>
19118
19119 Make the `source' command slightly faster.
19120
19121 * normal/main.c (grub_normal_execute): Don't re-read list files when
19122 nested.
19123
e9b29642
CW
191242010-06-23 Colin Watson <cjwatson@ubuntu.com>
19125
19126 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
19127 field position and mask size to red fields from mode_info, not
19128 green.
19129 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
19130 Remove redundant tag->common.framebuffer_type assignment.
19131 Reported by: Seth Goldberg.
19132
e726542f
CW
191332010-06-23 Colin Watson <cjwatson@ubuntu.com>
19134
19135 Sync up other versions of the Linux loader with Robert Millan's
19136 change of 2010-01-09, "Make loader output a bit more user-friendly".
19137
19138 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
19139 grub_dprintf().
19140 (grub_cmd_linux): Likewise.
19141 (grub_cmd_initrd): Likewise.
19142 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
19143 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
19144
d6e98a17
CW
191452010-06-21 Colin Watson <cjwatson@ubuntu.com>
19146
19147 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
19148 larger than MEMORY_MAP_SIZE.
19149
14d3f08e
BC
191502010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
19151
19152 Fix parallel build.
19153
19154 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
19155 dependency.
19156 * script/parser.y: #include grub_script.tab.h header.
19157
4f9613a3
VS
191582010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
19159
19160 Support >3GiB and <16MiB RAM in i386-qemu.
19161
19162 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
19163 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
19164 (grub_lower_mem): Removed.
19165 (grub_upper_mem): Likewise.
19166 (mem_size): Made static.
19167 (above_4g): New variable.
19168 (grub_machine_mmap_init): Detect small mem_size and above_4g.
19169 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
19170 support.
19171
05e51879
VS
191722010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
19173
19174 Cirrus 5446 and Bochs video cards support.
19175
19176 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
19177 video_bochs.mod
19178 (video_cirrus_mod_SOURCES): New variable.
19179 (video_cirrus_mod_CFLAGS): Likewise.
19180 (video_cirrus_mod_LDFLAGS): Likewise.
19181 (video_bochs_mod_SOURCES): Likewise.
19182 (video_bochs_mod_CFLAGS): Likewise.
19183 (video_bochs_mod_LDFLAGS): Likewise.
19184 * include/grub/vga.h: New file.
19185 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
19186 (grub_video_fb_set_page_t): New type.
19187 (grub_video_fb_setup): New prototype.
19188 (grub_video_fb_swap_buffers): Likewise.
19189 (grub_video_fb_get_info_and_fini): Likewise.
19190 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
19191 (CRTC_DATA_PORT): Likewise.
19192 (CRTC_CURSOR): Likewise.
19193 (CRTC_CURSOR_ADDR_HIGH): Likewise.
19194 (CRTC_CURSOR_ADDR_LOW): Likewise.
19195 (CRTC_CURSOR_DISABLE): Likewise.
19196 (update_cursor): Use grub_vga_cr_write.
19197 (grub_vga_text_setcursor): Likewise.
19198 * video/bochs.c: New file.
19199 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
19200 (palette): Likewise.
19201 (palette_size): Likewise.
19202 (framebuffer): New variable.
19203 (grub_video_fb_init): Use 'framebuffer'.
19204 (grub_video_fb_fini): Likewise.
19205 (grub_video_fb_get_info): Likewise.
19206 (grub_video_fb_get_palette): Likewise.
19207 (grub_video_fb_set_palette): Likewise.
19208 (grub_video_fb_set_viewport): Likewise.
19209 (grub_video_fb_get_viewport): Likewise.
19210 (grub_video_fb_map_color): Likewise.
19211 (grub_video_fb_map_rgb): Likewise.
19212 (grub_video_fb_map_rgba): Likewise.
19213 (grub_video_fb_unmap_color): Likewise.
19214 (grub_video_fb_unmap_color_int): Likewise.
19215 (grub_video_fb_fill_rect): Likewise.
19216 (grub_video_fb_blit_bitmap): Likewise.
19217 (grub_video_fb_blit_render_target): Likewise.
19218 (grub_video_fb_scroll): Likewise.
19219 (grub_video_fb_create_render_target): Likewise.
19220 (grub_video_fb_doublebuf_blit_init): Likewise.
19221 (grub_video_fb_set_active_render_target): Handle doublebuffering.
19222 (doublebuf_pageflipping_update_screen): New function.
19223 (doublebuf_pageflipping_init): Likewise.
19224 (grub_video_fb_setup): Likewise.
19225 (grub_video_fb_swap_buffers): Likewise.
19226 (grub_video_fb_get_info_and_fini): Likewise.
19227 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
19228 All users updated.
19229 (doublebuf_pageflipping_commit): Restructured into ...
19230 (doublebuf_pageflipping_set_page): ... this.
19231 (doublebuf_pageflipping_update_screen): Removed.
19232 (doublebuf_pageflipping_init): Likewise.
19233 (double_buffering_init): Likewise.
19234 (grub_video_vbe_setup): Use grub_video_fb_setup.
19235 (grub_video_vbe_swap_buffers): Removed.
19236 (grub_video_vbe_set_active_render_target): Likewise.
19237 (grub_video_vbe_get_active_render_target): Likewise.
19238 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
19239 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
19240 grub_video_fb_set_active_render_target and
19241 grub_video_fb_get_active_render_target.
19242 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
19243 (SEQUENCER_DATA_PORT): Likewise.
19244 (MAP_MASK_REGISTER): Likewise.
19245 (CRTC_ADDR_PORT): Likewise.
19246 (CRTC_DATA_PORT): Likewise.
19247 (START_ADDR_HIGH_REGISTER): Likewise.
19248 (START_ADDR_LOW_REGISTER): Likewise.
19249 (GRAPHICS_ADDR_PORT): Likewise.
19250 (GRAPHICS_DATA_PORT): Likewise.
19251 (READ_MAP_REGISTER): Likewise.
19252 (INPUT_STATUS1_REGISTER): Likewise.
19253 (INPUT_STATUS1_VERTR_BIT): Likewise.
19254 (get_map_mask): Use grub_vga_sr_read.
19255 (set_map_mask): Use grub_vga_sr_write.
19256 (set_read_map): Use grub_vga_gr_write.
19257 (set_start_address): Use grub_vga_cr_write.
19258 * video/sm712.c (framebuffer): Remove leftover fields.
19259
4321c64a
CW
192602010-06-20 Colin Watson <cjwatson@ubuntu.com>
19261
19262 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
19263 setting GRUB_VIDEO_BACKEND. Make it available as a user override
19264 instead. Replace the gfxterm backend check with a check that
19265 ${GRUB_PREFIX}/video.lst is non-empty.
19266 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
19267 again.
19268 (load_video): New generated function. Call it before loading
19269 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
19270 * util/grub.d/10_linux.in (linux_entry): Call load_video.
19271 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
19272 * docs/grub.texi (Simple configuration): Document
19273 GRUB_VIDEO_BACKEND.
19274
192752010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
19276
19277 Use video functions in linux and xnu loaders.
19278
19279 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
19280 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
19281 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
19282 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
19283 loader/i386/pc/linux.c.
19284 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
19285 (find_line_len): Removed.
19286 (find_framebuf): Likewise.
19287 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
19288 * loader/i386/efi/xnu.c: Removed.
19289 * loader/i386/pc/xnu.c: Moved from here...
19290 * loader/i386/xnu.c: ...here.
19291
19292 Enable priorities in video drivers.
19293
19294 * include/grub/video.h (grub_video_adapter_prio_t): New type.
19295 (grub_video_adapter): New field prio.
19296 (grub_video_register): Respect prio when inserting.
19297 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
19298 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
19299 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
19300 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
19301 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
19302 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
19303 * video/sm712.c (grub_video_sm712_adapter): Likewise.
19304
19305 Fix SDL driver ID.
19306
19307 * include/grub/video.h (grub_video_driver_id_t): New value
19308 GRUB_VIDEO_DRIVER_SDL.
19309 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
19310
7d24e434
CW
193112010-06-17 Colin Watson <cjwatson@ubuntu.com>
19312
19313 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
19314 argument to printf.
19315 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
19316
c88a83f6
CW
193172010-06-17 Colin Watson <cjwatson@ubuntu.com>
19318
19319 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
19320 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
19321
094dfb69
CW
193222010-06-17 Colin Watson <cjwatson@ubuntu.com>
19323
19324 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
19325 directly, and recommend grub-install instead.
19326 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
19327
2164da6b
CW
193282010-06-17 Colin Watson <cjwatson@ubuntu.com>
19329
19330 Fix i386-pc prefix handling with nested partitions (Debian bug
19331 #585068). Note that the case where the core image is booted using
19332 multiboot and relocated from its original location still requires
19333 more work.
19334
19335 * kern/i386/pc/init.c (make_install_device): If the prefix starts
19336 with "(,", fill the boot drive in between those two characters, but
19337 expect that a full partition specification including partition map
19338 names will follow.
19339 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
19340 specified, write a prefix without the drive name but including a
19341 full partition specification.
19342
044e2e60
CW
193432010-06-16 Colin Watson <cjwatson@ubuntu.com>
19344
19345 * util/grub-mkconfig.in: Ignore non-option arguments, for
19346 compatibility with older versions (before 2010-06-12) which did the
19347 same. In particular, this makes it easier to ship an update-grub
19348 wrapper which is compatible with that used with GRUB Legacy (Debian
19349 bug #586056).
19350
5591324f
GS
193512010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
19352
19353 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
19354 for manual page generation.
19355
662e24d5
GS
193562010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
19357
19358 * po/POTFILES: Remove leftover commands/handler.c.
19359
8d70754e
CW
193602010-06-14 Colin Watson <cjwatson@ubuntu.com>
19361
19362 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
19363 left this script non-functional.
19364
41160e2e
CW
193652010-06-14 Colin Watson <cjwatson@ubuntu.com>
19366
19367 * docs/man/grub-emu.h2m: New file.
19368
b5309cc1
CW
193692010-06-13 Colin Watson <cjwatson@ubuntu.com>
19370
19371 * docs/grub.texi (Commands): Document reduced command set in rescue
19372 mode.
19373 (cpuid): New section.
19374
fcb2d090
GS
193752010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
19376
19377 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
19378 new partition naming style.
19379 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
19380
96e5c556
BC
193812010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
19382
19383 Add "-o grub.iso" like cmdline options support.
19384
19385 * util/grub-install.in: Improve cmdline option parsing.
19386 * util/grub-mkconfig.in: Likewise.
19387 * util/grub-mkrescue.in: Likewise.
19388 * util/grub-reboot.in: Likewise.
19389 * util/grub-set-default.in: Likewise.
19390 * util/i386/efi/grub-install.in: Likewise.
19391 * util/ieee1275/grub-install.in: Likewise.
19392 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
19393
c16be99b
CW
193942010-06-12 Colin Watson <cjwatson@ubuntu.com>
19395
19396 * .bzrignore: Ignore 41_custom.
19397
ce08a9fb
TS
193982010-06-12 Thomas Schmitt <scdbackup@gmx.net>
19399
19400 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
19401
7beac90c
CW
194022010-06-12 Colin Watson <cjwatson@ubuntu.com>
19403
19404 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
19405 prototype declarations.
19406
19407 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
19408 generating fs, partmap, and video lists.
19409 * include/grub/fs.h (grub_fs_register): Omit prototype if
19410 GRUB_LST_GENERATOR is defined.
19411 * include/grub/partition.h (grub_partition_map_register): Likewise.
19412 * include/grub/video.h (grub_video_register): Likewise.
19413
1c8f0f8d
JM
194142010-06-12 Javier Martín <lordhabbit@gmail.com>
19415
19416 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
19417
a6085973
TS
194182010-06-12 Thomas Schmitt <scdbackup@gmx.net>
19419
19420 * util/grub-mkrescue.in: Support --xorriso argument.
19421
25c56d29
VS
194222010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
19423
19424 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
19425 Suggested by: Thomas Schmitt.
19426
e03e4b24
VS
194272010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
19428
19429 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
19430 Suggested by: Thomas Schmitt.
19431
57711df6
VS
194322010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
19433
19434 custom.cfg support.
19435
19436 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
19437 * util/grub.d/41_custom.in: New file.
19438
ee62c427
CW
194392010-06-12 Colin Watson <cjwatson@ubuntu.com>
19440
19441 * util/grub-mkrescue.in (make_image): Remove sh module, which has
19442 been merged back into normal.
19443
283af07a
CW
194442010-06-11 Colin Watson <cjwatson@ubuntu.com>
19445
19446 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
19447 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
19448
56a0d956
CW
194492010-06-11 Colin Watson <cjwatson@ubuntu.com>
19450
19451 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
19452 when generating manual pages.
19453 * docs/man/grub-bin2h.h2m: New file.
19454 * docs/man/grub-editenv.h2m: New file.
19455 * docs/man/grub-fstest.h2m: New file.
19456 * docs/man/grub-install.h2m: New file.
19457 * docs/man/grub-macho2img.h2m: New file.
19458 * docs/man/grub-mkconfig.h2m: New file.
19459 * docs/man/grub-mkdevicemap.h2m: New file.
19460 * docs/man/grub-mkfont.h2m: New file.
19461 * docs/man/grub-mkimage.h2m: New file.
19462 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
19463 * docs/man/grub-mkrelpath.h2m: New file.
19464 * docs/man/grub-mkrescue.h2m: New file.
19465 * docs/man/grub-ofpathname.h2m: New file.
19466 * docs/man/grub-pe2elf.h2m: New file.
19467 * docs/man/grub-probe.h2m: New file.
19468 * docs/man/grub-reboot.h2m: New file.
19469 * docs/man/grub-script-check.h2m: New file.
19470 * docs/man/grub-set-default.h2m: New file.
19471 * docs/man/grub-setup.h2m: New file.
19472
3a37e322
VS
194732010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
19474
19475 Use FOR_* macros instead of *_iterate whenever possible.
19476
19477 * commands/handler.c: Removed.
19478 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
19479 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
19480 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
19481 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
19482 (grub_probe_SOURCES): Remove kern/parser.c.
19483 (util/grub-script-check.c_DEPENDENCIES): Removed.
19484 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
19485 and grub_script_check_init.c.
19486 (grub_script_check_init.lst): Removed.
19487 (grub_script_check_init.h): Likewise.
19488 (grub_script_check_init.c): Likewise.
19489 (pkglib_MODULES): Remove handler.mod and sh.mod.
19490 (handler_mod_SOURCES): Removed.
19491 (handler_mod_CFLAGS): Likewise.
19492 (handler_mod_LDFLAGS): Likewise.
19493 (normal_mod_SOURCES): Remove normal/handler.c.
19494 Add script/main.c, script/script.c, script/execute.c,
19495 script/function.c, script/lexer.c, grub_script.tab.c
19496 and grub_script.yy.c.
19497 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
19498 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
19499 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
19500 (grub_setup_SOURCES): Remove kern/parser.c.
19501 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
19502 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
19503 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
19504 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
19505 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
19506 (grub_setup_SOURCES): Remove kern/parser.c.
19507 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
19508 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
19509 * include/grub/command.h (grub_command_iterate): Removed.
19510 (FOR_COMMANDS): New macro.
19511 * include/grub/dl.h (grub_dl): New member next.
19512 (grub_dl_iterate): Removed.
19513 (grub_dl_head): New variable declaration.
19514 (FOR_DL_MODULES): New macro.
19515 * include/grub/fs.h: Include list.h.
19516 (grub_fs): Make next first element.
19517 (grub_fs_list): New variable declaration.
19518 (grub_fs_register): Make inline.
19519 (grub_fs_unregister): Likewise.
19520 (grub_fs_iterate): Removed.
19521 (FOR_FILESYSTEMS): New macro.
19522 * include/grub/handler.h: Removed.
19523 * include/grub/list.h (grub_list_hook_t): Removed.
19524 (grub_list_test_t): Likewise.
19525 (grub_list_pop): Likewise.
19526 (grub_list_iterate): Likewise.
19527 (grub_list_insert): Likewise.
19528 (FOR_LIST_ELEMENTS): New macro.
19529 * include/grub/parser.h (grub_parser_class): Removed.
19530 (grub_parser_register): Likewise.
19531 (grub_parser_unregister): Likewise.
19532 (grub_parser_get_current): Likewise.
19533 (grub_parser_set_current): Likewise.
19534 (grub_register_rescue_parser): Likewise.
19535 (grub_rescue_parse_line): New function.
19536 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
19537 * include/grub/script_sh.h (grub_script_function_list): New variable
19538 declaration.
19539 (FOR_SCRIPT_FUNCTIONS): New macro.
19540 (grub_script_function_iterate): Removed.
19541 (grub_normal_parse_line): New prototype.
19542 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
19543 (FOR_DISABLED_TERM_INPUTS): Likewise.
19544 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
19545 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
19546 * include/grub/video.h (grub_video_adapter): Move 'next' to first
19547 element.
19548 (grub_video_register): Inline.
19549 (grub_video_unregister): Likewise.
19550 (grub_video_adapter_list): New variable declaration.
19551 (grub_video_iterate): Removed.
19552 (FOR_VIDEO_ADAPTERS): New macro.
19553 * kern/dl.c (grub_dl_list): Removed. All users updated.
19554 (grub_dl_iterate): Removed.
19555 * kern/fs.c (grub_fs_list): Make global.
19556 (grub_fs_register): Removed.
19557 (grub_fs_unregister): Likewise.
19558 (grub_fs_iterate): Likewise.
19559 * kern/handler.c: Removed.
19560 * kern/list.c (grub_list_pop): Removed.
19561 (grub_list_iterate): Likewise.
19562 (grub_list_insert): Likewise.
19563 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
19564 (grub_prio_list_insert): Don't use grub_list_insert.
19565 * kern/main.c (grub_register_rescue_parser): Don't call
19566 grub_register_rescue_parser.
19567 * kern/parser.c (grub_parser_class): Removed.
19568 (grub_parser_execute): Use grub_rescue_parse_line.
19569 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
19570 (grub_rescue_parser): Removed.
19571 (grub_register_rescue_parser): Likewise.
19572 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
19573 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
19574 (grub_auth_check_authentication): Likewise.
19575 * normal/completion.c (iterate_command): Removed.
19576 (grub_normal_do_completion): Use FOR_COMMANDS.
19577 * normal/handler.c: Removed.
19578 * normal/main.c (read_config_file): Remove parser changing.
19579 (grub_normal_execute): Don't call read_handler_list.
19580 (grub_normal_read_line_real): Statically allocate prompt.
19581 (grub_cmdline_run): Use grub_normal_parse_line.
19582 (GRUB_MOD_FINI): Don't call free_handler_list.
19583 * normal/menu_entry.c (run): Likewise.
19584 * script/function.c (grub_script_function_list): Make global.
19585 (grub_script_function_iterate): Removed.
19586 * script/main.c (grub_normal_parse_line): Make global.
19587 (grub_sh_parser): Removed.
19588 (GRUB_MOD_INIT): Likewise.
19589 (GRUB_MOD_FINI): Likewise.
19590 * tests/lib/functional_test.c (grub_functional_test): Use
19591 FOR_LIST_ELEMENTS.
19592 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
19593 (grub_test_run): Use FOR_LIST_ELEMENTS.
19594 * tests/lib/unit_test.c (main): Likewise.
19595 * util/deviceiter.c (grub_util_iterate_devices): Don't use
19596 grub_list_pop.
19597 * util/grub-fstest.c (grub_term_input_class): Removed.
19598 (grub_term_output_class): Likewise.
19599 * util/grub-probe.c: Likewise.
19600 * util/i386/pc/grub-setup.c: Likewise.
19601 * util/sparc64/ieee1275/grub-setup.c: Likewise.
19602 * util/grub-script-check.c (main): Don't call grub_init_all and
19603 grub_fini_all.
19604 * video/video.c (grub_video_adapter_list): Make global.
19605 (grub_video_register): Removed.
19606 (grub_video_unregister): Likewise.
19607 (grub_video_iterate): Likewise.
19608
6289c3a7
VS
196092010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
19610
19611 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
19612 reported by Henrique Ferreiro.
19613
91460247
RM
196142010-06-09 Robert Millan <rmh@gnu.org>
19615
19616 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
19617 ones, when both are available.
19618
0ea7c4f9
GS
196192010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
19620
19621 Make --version uniform and avoid hard-coded program name.
19622
19623 * util/grub-mkimage.c (main): Use `program_name' instead of
19624 hard-coded string.
19625 * util/i386/pc/grub-setup.c (main): Likewise.
19626 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
19627 * util/grub-install.in: Save the basename of $0 in $self, and use the
19628 latter in informational messages. Use the same format for --version
19629 as the binary programs.
19630 * util/grub-mkconfig.in: Likewise.
19631 * util/grub-mkrescue.in: Likewise.
19632 * util/grub-reboot.in: Likewise.
19633 * util/grub-set-default.in: Likewise.
19634 * util/i386/efi/grub-install.in: Likewise.
19635 * util/ieee1275/grub-install.in: Likewise.
19636 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
19637
e8a6f3b6
GS
196382010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
19639
19640 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
19641 embedding area. Use <= instead of == when checking for non-emptiness.
19642
f4d095d7
GS
196432010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
19644
19645 * configure.ac: Add `.' to the directories searched for unifont.
19646
50e532ca
CW
196472010-06-08 Colin Watson <cjwatson@ubuntu.com>
19648
19649 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
19650 grub_script.yy.h.
19651
d39f3dec
CW
196522010-06-08 Colin Watson <cjwatson@ubuntu.com>
19653
19654 * docs/grub.texi (History): Expand to cover GRUB 2.
19655 (Serial terminal): Refer to `terminal_input' and `terminal_output'
19656 commands, not `terminal'.
19657 (serial): Likewise.
19658 (terminal_input): New section.
19659 (terminal_output): New section.
19660 (uppermem): New section (stub).
19661 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
19662
6ef0ddb4
CW
196632010-06-08 Colin Watson <cjwatson@ubuntu.com>
19664
19665 * docs/grub.texi (Security): Menu entries are unrestricted by
19666 default, not restricted to superusers as I had previously thought.
19667 Reword to account for this.
19668
e0f4c438
CW
196692010-06-07 Colin Watson <cjwatson@ubuntu.com>
19670
19671 * kern/emu/misc.c (device_mapper_null_log): New function.
19672 (grub_device_mapper_supported): New function.
19673 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
19674 prototype.
19675 * kern/emu/hostdisk.c (find_partition_start): Check whether
19676 device-mapper is supported before trying to use it.
19677 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
19678
da908200
CW
196792010-06-07 Colin Watson <cjwatson@ubuntu.com>
19680
19681 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
19682 (File name syntax): Likewise.
19683 (help): --all is no longer supported in GRUB 2. Be more precise
19684 about pattern matching.
19685
fb55c3ac
CW
196862010-06-07 Colin Watson <cjwatson@ubuntu.com>
19687
19688 * normal/completion.c (grub_normal_do_completion): When completing
19689 arguments to "set" and the current word contains an equals sign,
19690 skip to after the equals sign before starting completion.
19691
258c2573
CW
196922010-06-07 Colin Watson <cjwatson@ubuntu.com>
19693
19694 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
19695
ee75515e
CW
196962010-06-07 Colin Watson <cjwatson@ubuntu.com>
19697
19698 * docs/grub.texi (Network): New section.
19699 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
19700 `(nd)' as in GRUB Legacy.
19701 (pxe_unload): New section.
19702
a6a700aa
CW
197032010-06-07 Colin Watson <cjwatson@ubuntu.com>
19704
19705 * docs/grub.texi (Troubleshooting): `echo' is not usually available
19706 in the rescue shell, so recommend using `set' instead. Thanks,
19707 Jordan Uggla.
19708
4003dd38
CW
197092010-06-07 Colin Watson <cjwatson@ubuntu.com>
19710
19711 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
19712 (password): New section.
19713 (password_pbkdf2): New section.
19714 (search): New section.
19715 (Security): New section.
19716 (Troubleshooting): New section, currently very incomplete.
19717 (Invoking grub-mkpasswd-pbkdf2): New section.
19718 (Internals): New section, currently very incomplete.
19719
e1cbcc40
CW
197202010-06-07 Colin Watson <cjwatson@ubuntu.com>
19721
19722 * util/grub.d/00_header.in: Add some more quoting (of
19723 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
19724 work again.
19725 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
19726
db8fa1ad
CW
197272010-06-07 Colin Watson <cjwatson@ubuntu.com>
19728
19729 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
19730 to `count', fixing variable shadowing that broke the -c option.
19731
197322010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
19733
19734 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
19735 in case they contain spaces.
19736
f28a9212
CW
197372010-06-04 Colin Watson <cjwatson@ubuntu.com>
19738
19739 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
19740 "part_" to partmap module names, in line with grub-install.
19741 Reported by: Jindřich Makovička (Debian bug #584426).
19742
9cdfe32f
CW
197432010-06-04 Colin Watson <cjwatson@ubuntu.com>
19744
19745 * util/grub-mkimage.c: Make target-related error messages slightly
19746 more helpful; -O talks about "format". Explicitly point to the use
19747 of -O if no target is specified.
19748 Reported by: Didier Raboud (Debian bug #584415).
19749
795b593a
CW
197502010-06-03 Colin Watson <cjwatson@ubuntu.com>
19751
19752 * INSTALL: Document several build requirements for optional features
19753 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
19754
9d9b5833
GS
197552010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
19756
19757 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
19758 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
19759 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
19760
0819fec8
CW
197612010-06-02 Colin Watson <cjwatson@ubuntu.com>
19762
19763 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
19764 Thanks to Jordan Uggla for spotting this.
19765
49396b4f
VS
197662010-06-02 Aleš Nesrsta <starous@volny.cz>
19767
19768 Finally make USB usable.
19769
19770 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
19771 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
19772 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
19773 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
19774 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
19775 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
19776 (GRUB_OHCI_FSMPS): Likewise.
19777 (GRUB_OHCI_PERIODIC_START): Likewise.
19778 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
19779 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
19780 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
19781 (GRUB_OHCI_SET_PORT_RESET): Likewise.
19782 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
19783 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
19784 (grub_ohci_transaction): Likewise.
19785 (grub_ohci_transfer): Improve condition detection algorithms.
19786 Handle toggle property. Program the transactions correctly.
19787 Improve error handling. Various important fixups.
19788 (grub_ohci_portstatus): Put register writes in right order.
19789 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
19790 (grub_uhci_transfer): Don't show "failed" message on success.
19791 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
19792 array.
19793 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
19794 determine its size.
19795 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
19796 before initialization is completed. Use IN direction for empty
19797 transfers. Use last_trans and compute toggle.
19798 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
19799 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
19800 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
19801 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
19802 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
19803 (grub_usb_device): Increase toggle to 256.
19804 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
19805 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
19806 GRUB_USBMS_SUBCLASS_SFF8070.
19807 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
19808 (grub_scsi_inquiry): New member page and alloc_length.
19809 (grub_scsi_request_sense): New structure.
19810 (grub_scsi_request_sense_data): Likewise.
19811 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
19812 control.
19813 * disk/scsi.c (grub_scsi_request_sense): New function.
19814 (grub_scsi_test_unit_ready): Likewise.
19815 (grub_scsi_inquiry): Fill new fields.
19816 (grub_scsi_read_capacity): Likewise.
19817 (grub_scsi_read10): Add request sense at the end.
19818 (grub_scsi_read12): Likewise.
19819 (grub_scsi_write10): Likewise.
19820 (grub_scsi_write12): Likewise.
19821 (grub_scsi_open): Add Test Unit Ready.
19822 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
19823 Support additional subclasses. Con't clear halt yet. Activate the
19824 proper config. Calculate LUNs correctly.
19825 (grub_usbms_transfer): Various important fixups.
19826
198272010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
19828
19829 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
19830 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
19831 (grub_ohci_fini_hw): New function.
19832 (grub_ohci_restore_hw): Likewise.
19833 (GRUB_MOD_INIT(ohci)): Register preboot hook.
19834 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
19835 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
19836
198372010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
19838
19839 Dedicated DMA allocations.
19840
19841 * bus/pci.c (grub_memalign_dma32): New function
19842 (grub_dma_free): Likewise.
19843 (grub_dma_get_virt): Likewise.
19844 (grub_dma_get_phys): Likewise.
19845 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
19846 (grub_ohci_pci_iter): Use dma32_alloc.
19847 (grub_ohci_transfer): Likewise.
19848 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
19849 (grub_usb_bulk_readwrite): Likewise.
19850 * include/grub/pci.h: Add declarations.
19851
198522010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
19853
19854 CS5536 support.
19855
19856 * bus/cs5536.c: New file.
19857 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
19858 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
19859 (cs5536_mod_SOURCES): New variable.
19860 (cs5536_mod_CFLAGS): Likewise.
19861 (cs5536_mod_LDFLAGS): Likewise.
19862 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
19863 machine/pci.h.
19864 (kernel_img_SOURCES): Add bus/cs5536.c.
19865 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
19866 usb_keyboard.mod.
19867 (usb_mod_SOURCES): New variable.
19868 (usb_mod_CFLAGS): New variable.
19869 (usb_mod_LDFLAGS): New variable.
19870 (usbtest_mod_SOURCES): New variable.
19871 (usbtest_mod_CFLAGS): New variable.
19872 (usbtest_mod_LDFLAGS): New variable.
19873 (ohci_mod_SOURCES): New variable.
19874 (ohci_mod_CFLAGS): New variable.
19875 (ohci_mod_LDFLAGS): New variable.
19876 (usbms_mod_SOURCES): New variable.
19877 (usbms_mod_CFLAGS): New variable.
19878 (usbms_mod_LDFLAGS): New variable.
19879 (usb_keyboard_mod_SOURCES): New variable.
19880 (usb_keyboard_mod_CFLAGS): New variable.
19881 (usb_keyboard_mod_LDFLAGS): New variable.
19882 * include/grub/smbus.h: New file.
19883 * include/grub/cs5536.h: New file.
19884
0b35b2a9
CW
198852010-06-02 Colin Watson <cjwatson@ubuntu.com>
19886
19887 * util/grub.d/00_header.in: Add safety check to make sure that
19888 ${locale_dir} exists before trying to probe it.
19889
ca0afd5b
CW
198902010-06-02 Colin Watson <cjwatson@ubuntu.com>
19891
19892 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
19893 per the GNU Coding Standards; this is now too obscure to be worth
19894 documenting.
19895 (QNX): Likewise.
19896 (chainloader): Remove cross-reference to `SCO UnixWare'.
19897
1c41aa78
CW
198982010-06-02 Colin Watson <cjwatson@ubuntu.com>
19899
19900 * docs/grub.texi (Chain-loading): New section.
19901 (DOS/Windows): New section, borrowed from GRUB Legacy with details
19902 adjusted for GRUB 2.
19903 (SCO UnixWare): Likewise.
19904 (QNX): Likewise.
19905 (chainloader): Add reference to `Block list syntax'.
19906 (drivemap): New section.
19907 (parttool): New section.
19908
bb8ea0f5
CW
199092010-06-02 Colin Watson <cjwatson@ubuntu.com>
19910
19911 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
19912 the grub shell'.
19913 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
19914 (Installing GRUB using grub-install): Remove reference to the grub
19915 shell; mention `grub-mkimage' and `grub-setup' instead.
19916 (Invoking grub-install): Likewise.
19917 (Interface): Add reference to `Menu entry editor'.
19918 (serial): Remove `--device' option.
19919
288dd6ed
CW
199202010-06-02 Colin Watson <cjwatson@ubuntu.com>
19921
19922 * docs/grub.texi (Configuration): New section, documenting
19923 configuration file generation using grub-mkconfig. I've left a slot
19924 for documenting the full shell scripting format but have not yet
19925 started on writing that up.
19926 (Invoking grub-mkconfig): New section.
19927
34c9f0e9
CW
199282010-06-02 Colin Watson <cjwatson@ubuntu.com>
19929
19930 * docs/grub.texi (direntry): Remove grub-terminfo reference.
19931 (GNU GRUB manual): Likewise.
19932 (General commands): Update description of `terminfo' for GRUB 2.
19933
9121567e
CW
199342010-06-02 Colin Watson <cjwatson@ubuntu.com>
19935
19936 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
19937 (GRUB_MOD_INIT): Fix capitalisation.
19938 * docs/grub.texi (Command-line and menu entry commands): Document
19939 gettext and gptsync commands.
19940
ab631611
CW
199412010-06-02 Colin Watson <cjwatson@ubuntu.com>
19942
19943 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
19944 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
19945
bde4a9ac
CW
199462010-06-01 Colin Watson <cjwatson@ubuntu.com>
19947
19948 Add btrfs probing support, currently only in the single-device case.
19949
19950 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
19951 function.
19952 (grub_guess_root_device): Call find_root_device_from_mountinfo
19953 before looking in /dev.
19954
b1d17e10
VS
199552010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19956
19957 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
19958 GRUB_DISK_SIZE_UNKNOWN.
19959 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
19960
dfbfe004
JS
199612010-05-31 Jiro SEKIBA <jir@unicus.jp>
19962
19963 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
19964 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
19965 corrupted or not synced properly.
19966
c2ffc8e9
VS
199672010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19968
19969 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
19970 Reported by: Seth Goldberg.
19971
56293166
VS
199722010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19973
19974 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
19975 addition of dest.
19976 Reported by: Seth Goldberg.
19977
7620e7de
VS
199782010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19979
19980 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
19981 Reported by: Seth Goldberg.
19982
c837af3f
VS
199832010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19984
19985 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
19986 64-bit address as signed on MIPS.
19987
c7c75cf4
CW
199882010-05-28 Colin Watson <cjwatson@ubuntu.com>
19989
19990 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
19991 to the empty string.
19992
fa4b8490
BC
199932010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
19994
19995 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
19996
19997 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
19998 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
19999 * kern/misc.c (__enable_execute_stack): Disable on
20000 GRUB_MACHINE_EMU.
20001
a33075b9
CW
200022010-05-28 Colin Watson <cjwatson@ubuntu.com>
20003
20004 Make grub-probe work with symbolic links under /dev/mapper as well
20005 as with real block devices. The Linux world seems to be (at best)
20006 in transition here, and GRUB shouldn't get caught in the middle.
20007
20008 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
20009 /dev/mapper.
20010
d8708134
CW
200112010-05-27 Colin Watson <cjwatson@ubuntu.com>
20012
20013 * util/grub-script-check.c (main): Ensure defined behaviour on empty
20014 input files (in which case exit zero).
20015
db2102a0
CW
200162010-05-27 Colin Watson <cjwatson@ubuntu.com>
20017
20018 * kern/emu/misc.c (canonicalize_file_name): realpath can still
20019 return NULL for various reasons even if it has a maximum-length
20020 buffer: for example, there might be a symlink loop, or the path
20021 might exceed PATH_MAX. If this happens, return NULL.
20022
5fdba519
RM
200232010-05-27 Robert Millan <rmh@gnu.org>
20024
20025 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
20026 partmap module to handle cross-partmap setups.
20027 Reported by Orestes Mas. Gràcies!
20028
d1d368e4
CW
200292010-05-27 Colin Watson <cjwatson@ubuntu.com>
20030
20031 * util/grub-mkrescue.in: Initialise override_dir rather than
20032 assuming that it's unset or empty in the environment.
20033
95ac3c73
GS
200342010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
20035
20036 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
20037 variable index into p_index to suppress a warning with -Wshadow.
20038
7d8c0213
BC
200392010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
20040
20041 * INSTALL: Added flex >= 2.5.35 requirement.
20042
db4d5813
VS
200432010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
20044
20045 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
20046
f24f4300
VS
200472010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
20048
20049 cmostest support.
20050
20051 * commands/i386/cmostest.c: New file.
20052 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
20053 (cmostest_mod_SOURCES): New variable.
20054 (cmostest_mod_CFLAGS): Likewise.
20055 (cmostest_mod_LDFLAGS): Likewise.
20056 * conf/i386-pc.rmk: Likewise.
20057 * docs/grub.texi (Vendor power-on keys): New section.
20058 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
20059 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
20060 and GRUB_BUTTON_CMOS_ADDRESS.
20061 * util/grub.d/00_header.in: Handle powering-on by separate button.
20062
ad603f61
VS
200632010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
20064
20065 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
20066 Removed drawing_scrollbar argument. All users updated
20067 Fixes #29792.
20068 Reported by Jo Shields
20069
3ecb080a
VS
200702010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
20071
20072 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
20073 buffer since gfxterm handles double repaint.
20074
5f2316c1
VS
200752010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
20076
20077 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
20078 * term/gfxterm.c (real_scroll): Likewise.
20079
9a25f885
VS
200802010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
20081
20082 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
20083 before calling BIOS.
20084
39fbb79a
VS
200852010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
20086
20087 * include/grub/i18n.h: Always enable grub_gettext.
20088
228cfa97
VS
200892010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
20090
20091 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
20092 partition naming style.
20093
21717c8f
CW
200942010-05-21 Colin Watson <cjwatson@ubuntu.com>
20095
20096 * util/grub-mkconfig.in: Fix handling of -o so that it works when
20097 not the first option.
20098
c0f48e65
CW
200992010-05-20 Colin Watson <cjwatson@ubuntu.com>
20100
20101 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
20102
96779aec
CW
201032010-05-20 Colin Watson <cjwatson@ubuntu.com>
20104
20105 * util/misc.c: Move inclusion of <limits.h> to ...
20106 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
20107
fa9d256e
GS
201082010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
20109
20110 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
20111 Fix merge error in NetBSD code.
20112 (find_partition_start) [__NetBSD__]: Likewise.
20113
123b7a85
BC
201142010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
20115
20116 Fix grub-mkrescue usage unit testing.
20117
20118 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
20119
74276c0d
CF
201202010-05-18 Christian Franke <franke@computer.org>
20121
20122 * util/grub.d/10_windows.in: Use path names instead of
20123 drive letters to prevent warning from Cygwin 1.7.
20124 Add drivemap command to menuentry if needed.
20125
c4f7b523
ST
201262010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
20127
20128 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
20129 gnumach and gnumach.gz.
20130
95b97950
VS
201312010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20132
20133 * include/grub/i18n.h (gettext): Inline instead of using #define.
20134 (grub_gettext): Likewise.
20135 (_): Likewise.
20136
01b8d2d7
VS
201372010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20138
20139 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
20140 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
20141 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
20142 (main): Add a slash after pkglibdirroot.
20143
654e1d1e
VS
201442010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20145
20146 * util/grub-install.in: Add missing "in" keyword.
20147
26966aeb
VS
201482010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20149
20150 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
20151 Reported by: Seth Goldberg.
20152
75006747
VS
201532010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20154
20155 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
20156
74cbf5bd
CW
201572010-05-18 Colin Watson <cjwatson@ubuntu.com>
20158
20159 * configure.ac: Check for Linux device-mapper support.
20160
20161 * util/hostdisk.c (device_is_mapped): New function.
20162 (find_partition_start): New function, partly broken out from
20163 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
20164 device-mapper support added.
20165 (linux_find_partition): Use find_partition_start.
20166 (convert_system_partition_to_system_disk): Add `st' argument.
20167 Support Linux /dev/mapper/* devices if device-mapper support is
20168 available; only DM-RAID devices are understood at present.
20169 (find_system_device): Add `st' argument. Pass it to
20170 convert_system_partition_to_system_disk.
20171 (grub_util_biosdisk_get_grub_dev): Pass stat result to
20172 find_system_device and convert_system_partition_to_system_disk. Use
20173 find_partition_start.
20174
20175 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
20176 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
20177 * util/deviceiter.c [__linux__]: Define MINOR.
20178 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
20179 * util/mkdevicemap.c (grub_putchar): New function.
20180 (grub_getkey): New function.
20181 (grub_refresh): New function.
20182 (main): Set debug=all if -v -v is used.
20183
355b51e9
CW
201842010-05-18 Colin Watson <cjwatson@ubuntu.com>
20185
20186 Fix build with non-GNU libcs.
20187
20188 * util/misc.c (canonicalize_file_name): Move to ...
20189 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
20190 grub_make_system_path_relative_to_its_root.
20191
7fb5c25f
CW
201922010-05-18 Colin Watson <cjwatson@ubuntu.com>
20193
20194 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
20195 we handle finding grub-mkimage. Default to finding grub-mkimage in
20196 ${bindir} with program_transform_name applied, and provide a
20197 --grub-mkimage option to override this.
20198
1d3293d6
VS
201992010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
20200
20201 Remove grub-mkisofs.
20202
20203 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
20204 (grub_mkisofs_SOURCES): Removed.
20205 (grub_mkisofs_CFLAGS): Removed.
20206 * util/mkisofs/defaults.h: Removed.
20207 * util/mkisofs/eltorito.c: Likewise.
20208 * util/mkisofs/exclude.h: Likewise.
20209 * util/mkisofs/hash.c: Likewise.
20210 * util/mkisofs/include/: Likewise.
20211 * util/mkisofs/include/fctldefs.h: Likewise.
20212 * util/mkisofs/include/mconfig.h: Likewise.
20213 * util/mkisofs/include/prototyp.h: Likewise.
20214 * util/mkisofs/include/statdefs.h: Likewise.
20215 * util/mkisofs/iso9660.h: Likewise.
20216 * util/mkisofs/joliet.c: Likewise.
20217 * util/mkisofs/match.c: Likewise.
20218 * util/mkisofs/match.h: Likewise.
20219 * util/mkisofs/mkisofs.c: Likewise.
20220 * util/mkisofs/mkisofs.h: Likewise.
20221 * util/mkisofs/msdos_partition.h: Likewise.
20222 * util/mkisofs/multi.c: Likewise.
20223 * util/mkisofs/name.c: Likewise.
20224 * util/mkisofs/rock.c: Likewise.
20225 * util/mkisofs/tree.c: Likewise.
20226 * util/mkisofs/write.c: Likewise.
20227
5dde9afe
VS
202282010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
20229
20230 Unify grub-mkimage accross platforms.
20231
20232 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
20233 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
20234 (grub_mkelfimage_SOURCES): Removed.
20235 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
20236 (util/grub-mkimage.c_DEPENDENCIES): .. this.
20237 (bin_UTILITIES): Add grub-mkimage.
20238 (grub_mkimage_SOURCES): New variable.
20239 (kernel_img_HEADERS): Remove machine/kernel.h.
20240 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
20241 (pkglib_PROGRAMS): Add kernel.img.
20242 (kernel_img_HEADERS): Add machine/kernel.h.
20243 (kernel_img_FORMAT): Removed.
20244 (bin_UTILITIES): Remove grub-mkimage.
20245 (grub_mkimage_SOURCES): Removed.
20246 (grub_mkimage_CFLAGS): Likewise.
20247 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20248 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
20249 (pkglib_PROGRAMS): Add kernel.img.
20250 (bin_UTILITIES): Remove grub-mkimage.
20251 (grub_mkimage_SOURCES): Removed.
20252 (grub_mkimage_CFLAGS): Likewise.
20253 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20254 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
20255 (pkglib_PROGRAMS): Add kernel.img.
20256 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
20257 (pkglib_PROGRAMS): Add kernel.img.
20258 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
20259 (grub_mkimage_SOURCES): Removed.
20260 (grub_mkimage_CFLAGS): Likewise.
20261 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20262 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
20263 (pkglib_PROGRAMS): Add kernel.img.
20264 (bin_UTILITIES): Remove grub-mkimage.
20265 (grub_mkimage_SOURCES): Removed.
20266 (grub_mkimage_CFLAGS): Likewise.
20267 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20268 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
20269 (grub_mkimage_SOURCES): Removed.
20270 (grub_mkimage_CFLAGS): Likewise.
20271 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20272 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
20273 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
20274 (grub_pe32_optional_header): ... this.
20275 (grub_pe64_optional_header): ... and this. All users updated.
20276 (GRUB_PE32_PE32_MAGIC): Split into ..
20277 (GRUB_PE32_PE32_MAGIC): .. this.
20278 (GRUB_PE32_PE64_MAGIC): .. and this.
20279 (GRUB_PE32_SIGNATURE_SIZE): New definition.
20280 * include/grub/elf.h (PT_GNU_STACK): New definition.
20281 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
20282 * include/grub/i386/efi/kernel.h: Likewise.
20283 * include/grub/i386/kernel.h: Likewise.
20284 * include/grub/i386/pc/kernel.h: Likewise.
20285 * include/grub/i386/qemu/boot.h: Likewise.
20286 * include/grub/mips/kernel.h: Likewise.
20287 * include/grub/mips/qemu-mips/kernel.h: Likewise.
20288 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
20289 * include/grub/powerpc/kernel.h: Likewise.
20290 * include/grub/sparc64/ieee1275/boot.h: Likewise.
20291 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
20292 * include/grub/sparc64/kernel.h: Likewise.
20293 * include/grub/x86_64/efi/kernel.h: Likewise.
20294 * include/grub/x86_64/kernel.h: Likewise.
20295 * include/grub/offsets.h: New file.
20296 * include/grub/kernel.h (grub_module_info): Split into ...
20297 (grub_module_info32): ... this.
20298 (grub_module_info64): ... and this.
20299 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
20300 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
20301 (grub_boot_blocklist): Moved from here ...
20302 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
20303 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
20304 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
20305 * include/grub/types.h (grub_target_to_host16): Removed.
20306 (grub_target_to_host32): Likewise.
20307 (grub_target_to_host64): Likewise.
20308 (grub_host_to_target16): Likewise.
20309 (grub_host_to_target32): Likewise.
20310 (grub_host_to_target64): Likewise.
20311 (grub_host_to_target_addr): Likewise.
20312
20313 Support grub-mkrescue for efi, coreboot and qemu.
20314
20315 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
20316 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
20317 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
20318 * util/grub-mkrawimage.c: Moved from here ...
20319 * util/grub-mkimage.c: ... here. All users updated.
20320 (ALIGN_ADDR): Use image_target.
20321 (TARGET_NO_FIELD): New const.
20322 (image_target_desc): New type.
20323 (image_targets): New array.
20324 (grub_target_to_host64): Use image_target.
20325 (grub_target_to_host32): Likewise.
20326 (grub_target_to_host16): Likewise.
20327 (grub_host_to_target64): Likewise.
20328 (grub_host_to_target32): Likewise.
20329 (grub_host_to_target16): Likewise.
20330 (grub_host_to_target_addr): Likewise.
20331 (generate_image): Handle multiimage.
20332 (main): Require -O parameter. All users updated.
20333 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
20334 util/efi/grub-mkimage.c
20335 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
20336 New option --rom-directory.
20337 Use xorriso.
20338 * util/i386/efi/grub-mkimage.c: Removed.
20339 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
20340 (grub_target_to_host32): Likewise.
20341 (grub_target_to_host64): Likewise.
20342 (grub_host_to_target16): Likewise.
20343 (grub_host_to_target32): Likewise.
20344 (grub_host_to_target64): Likewise.
20345 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
20346 (grub_target_to_host32): Likewise.
20347 (grub_target_to_host64): Likewise.
20348 (grub_host_to_target16): Likewise.
20349 (grub_host_to_target32): Likewise.
20350 (grub_host_to_target64): Likewise.
20351
f4fc97d0
BC
203522010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
20353
20354 Source tree is reorganized for emu build.
20355
20356 * include/grub/util/console.h: Move from here...
20357 * include/grub/emu/console.h: ...to here.
20358 * include/grub/util/getroot.h: Move from here...
20359 * include/grub/emu/getroot.h: ...to here.
20360 * include/grub/util/hostdisk.h: Move from here...
20361 * include/grub/emu/hostdisk.h: ...to here.
20362 * util/console.c: Move from here...
20363 * kern/emu/console.c: ...to here.
20364 * util/getroot.c: Move from here...
20365 * kern/emu/getroot.c: ...to here.
20366 * util/grub-emu.c: Move from here...
20367 * kern/emu/main.c: ...to here.
20368 * util/hostdisk.c: Move from here...
20369 * kern/emu/hostdisk.c: ...to here.
20370 * util/hostfs.c: Move from here...
20371 * kern/emu/hostfs.c: ...to here.
20372 * util/mm.c: Move from here...
20373 * kern/emu/mm.c: ...to here.
20374 * util/pci.c: Move from here...
20375 * bus/emu/pci.c: ...to here.
20376 * util/sdl.c: Move from here...
20377 * video/emu/sdl.c: ...to here.
20378 * util/time.c: Move from here...
20379 * kern/emu/time.c: ...to here.
20380 * util/usb.c: Move from here...
20381 * bus/usb/emu/usb.c: ...to here.
20382
20383 * include/grub/emu/misc.h: New header for grub-emu functions.
20384 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
20385
20386 * conf/any-emu.rmk: Rule updates for above renames.
20387 * conf/common.rmk: Likewise.
20388 * conf/i386-pc.rmk: Likewise.
20389 * conf/i386-qemu.rmk: Likewise.
20390 * conf/mips.rmk: Likewise.
20391 * conf/sparc64-ieee1275.rmk: Likewise.
20392 * conf/x86-efi.rmk: Likewise.
20393
20394 * disk/lvm.h: #include updates for above renames.
20395 * util/grub-mkrelpath.c: Likewise.
20396 * util/grub-probe.c: Likewise.
20397 * util/i386/pc/grub-setup.c: Likewise.
20398 * util/sparc64/ieee1275/grub-setup.c: Likewise.
20399 * kern/emu/console.c: Likewise.
20400 * kern/emu/getroot.c: Likewise.
20401 * kern/emu/hostdisk.c: Likewise.
20402 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
20403
20404 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
20405 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
20406 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
20407 * util/misc.c: Remove grub-emu functions.
20408
cced9145
VS
204092010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
20410
20411 Fix gfxmenu crash.
20412 Reported by: Thorsten Grützmacher.
20413
20414 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
20415 timeout hook.
20416 (circprog_set_property): Register and unregister timeout hook.
20417 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
20418 (label_destroy): Free template. and unregister hook.
20419 (label_set_state): New function.
20420 (label_set_property): Handle templates and hooks.
20421 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
20422 timeout hook.
20423 (progress_bar_set_property): Register and unregister timeout hook.
20424 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
20425 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
20426 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
20427 (update_timeout_visit): Removed.
20428 (update_timeouts): New function.
20429 (redraw_timeouts): Likewise.
20430 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
20431 (grub_gfxmenu_clear_timeout): Likewise.
20432 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
20433 (grub_gfxmenu_timeout_notify): Likewise.
20434 (grub_gfxmenu_timeout_notifications): New external variable.
20435 (grub_gfxmenu_timeout_register): New function.
20436 (grub_gfxmenu_timeout_unregister): Likewise.
20437
c6e5caab
VS
204382010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
20439
20440 Transform (broken) vga terminal into (working) vga video driver.
20441
20442 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
20443 video/i386/pc/vga.c.
20444 * include/grub/video.h (grub_video_driver_id):
20445 Add GRUB_VIDEO_DRIVER_VGA.
20446 * term/i386/pc/vga.c: Renamed to ...
20447 * video/i386/pc/vga.c: ...this
20448 (DEBUG_VGA): Removed.
20449 (CHAR_WIDTH): Likewise.
20450 (CHAR_HEIGHT): Likewise.
20451 (TEXT_WIDTH): Likewise.
20452 (TEXT_HEIGHT): Likewise.
20453 (DEFAULT_FG_COLOR): Likewise.
20454 (DEFAULT_BG_COLOR): Likewise.
20455 (colored_char): Likewise.
20456 (xpos): Likewise.
20457 (ypos): Likewise.
20458 (cursor_state): Likewise.
20459 (fg_color): Likewise.
20460 (bg_color): Likewise.
20461 (text_buf): Likewise.
20462 (page): Likewise.
20463 (font): Likewise.
20464 (framebuffer): New variable.
20465 (set_read_map): Disabled.
20466 (setup): New variable.
20467 (is_target): Likewise.
20468 (grub_vga_mod_init): Likewise.
20469 (grub_vga_mod_fini): Likewise.
20470 (check_vga_mem): Likewise.
20471 (write_char): Likewise.
20472 (write_cursor): Likewise.
20473 (scroll_up): Likewise.
20474 (grub_vga_putchar): Likewise.
20475 (grub_vga_getcharwidth): Likewise.
20476 (grub_vga_getwh): Likewise.
20477 (grub_vga_getxy): Likewise.
20478 (grub_vga_gotoxy): Likewise.
20479 (grub_vga_cls): Likewise.
20480 (grub_vga_setcolorstate): Likewise.
20481 (grub_vga_setcursor): Likewise.
20482 (grub_video_vga_init): New function.
20483 (grub_video_vga_setup): Likewise.
20484 (grub_video_vga_fini): Likewise.
20485 (update_target): Likewise.
20486 (grub_video_vga_blit_bitmap): Likewise.
20487 (grub_video_vga_blit_render_target): Likewise.
20488 (grub_video_vga_set_active_render_target): Likewise.
20489 (grub_video_vga_get_active_render_target): Likewise.
20490 (grub_video_vga_swap_buffers): Likewise.
20491 (grub_video_vga_set_palette): Likewise.
20492 (grub_video_vga_get_info_and_fini): Likewise.
20493 (grub_vga_term): Removed.
20494 (grub_video_vga_adapter): New variable.
20495 (GRUB_MOD_INIT): Register a video driver instead of terminal.
20496 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
20497
2bf61a98
VS
204982010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20499
20500 * video/readers/jpeg.c: Indented.
20501
09ddcd11
VS
205022010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20503
20504 Various jpeg cleanups.
20505
20506 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
20507 (grub_jpeg_decode_quan_table): Use sizeof.
20508 (grub_jpeg_decode_du): Use ARRAY_SIZE.
20509
e5507505
PH
205102010-05-05 Peter Hurley <No e-mail available> (tiny change)
20511
20512 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
20513 tables. Ignore non-last ac bit.
20514 (grub_jpeg_decode_quan_table): Likewise.
20515
7e720a9b
VS
205162010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20517
20518 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
20519 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
20520 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
20521 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
20522 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
20523 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
20524
a7fc080b
VS
205252010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20526
20527 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
20528 error.
20529
2bf6012d
VS
205302010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20531
20532 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
20533
265d68cd
VS
205342010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
20535
20536 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
20537 condition.
20538
205392010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
20540
20541 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
20542 part.
20543
265d68cd 205442010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
20545
20546 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
20547 pointers.
20548
265d68cd 205492010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
20550
20551 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
20552
d1b61374
CF
205532010-05-01 Christian Franke <franke@computer.org>
20554
20555 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
20556 Remove broken Cygwin path conversion.
20557 * util/misc.c: [__CYGWIN__] Add include and define.
20558 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
20559 for Cygwin 1.7.
20560 (make_system_path_relative_to_its_root): Simplify loop, replace early
20561 return by break.
20562 [__CYGWIN__] Add conversion to win32 path.
20563 Include "/" case in trailing slash removal.
20564
3558c6e9
VS
205652010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20566
20567 * kern/main.c (grub_load_config): Fix copy-pasted comment.
20568 Reported by: Seth Goldberg
20569
f5f3ff93
VS
205702010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20571
20572 * commands/help.c (grub_cmd_help): Fix a typo.
20573 Reported by: Seth Goldberg
20574
d8b5cd40
VS
205752010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20576
20577 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
20578 name and add N_.
20579 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
20580 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
20581 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
20582 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
20583 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
20584 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
20585 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
20586 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
20587 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
20588 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
20589 * normal/context.c (GRUB_MOD_INIT): Likewise.
20590 * normal/main.c (GRUB_MOD_INIT): Likewise.
20591 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
20592 * term/serial.c (GRUB_MOD_INIT): Likewise.
20593 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
20594
88c14915
VS
205952010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20596
20597 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
20598 extra == 0.
20599
165134bc
VS
206002010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20601
20602 * commands/iorw.c: New file.
20603 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
20604 (iorw_mod_SOURCES): New variable.
20605 (iorw_mod_CFLAGS): Likewise.
20606 (iorw_mod_LDFLAGS): Likewise.
20607
c5ac9b32
VS
206082010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20609
20610 Hotkey support
20611
20612 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
20613 * normal/main.c (hotkey_aliases): New variable.
20614 (grub_normal_add_menu_entry): Parse "--hotkey".
20615 * normal/menu_text.c (run_menu): Handle hotkeys.
20616
ce60689c
VS
206172010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20618
20619 * kern/i386/coreboot/init.c (grub_machine_init): Call
20620 grub_machine_mmap_init on qemu.
20621
0359d006
VS
206222010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20623
20624 * boot/i386/qemu/boot.S: Add a missing .code16.
20625
7819a456
VS
206262010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20627
20628 Use LBIO on coreboot.
20629
20630 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
20631 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
20632 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
20633 New declaration.
20634 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
20635 grub_machine_mmap_init on coreboot.
20636 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
20637 GRUB_LINUXBIOS_MEMBER_LINK.
20638 (grub_machine_mmap_iterate): Fix declaration.
20639 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
20640
7210dca9
VS
206412010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20642
20643 Split coreboot and multiboot ports.
20644
20645 * conf/i386-multiboot.rmk: New file.
20646 * configure.ac: Add multiboot port.
20647 * include/grub/i386/multiboot/boot.h: New file.
20648 * include/grub/i386/multiboot/console.h: Likewise.
20649 * include/grub/i386/multiboot/init.h: Likewise.
20650 * include/grub/i386/multiboot/kernel.h: Likewise.
20651 * include/grub/i386/multiboot/loader.h: Likewise.
20652 * include/grub/i386/multiboot/memory.h: Likewise.
20653 * include/grub/i386/multiboot/serial.h: Likewise.
20654 * include/grub/i386/multiboot/time.h: Likewise.
20655 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
20656 * loader/multiboot.c: Likewise.
20657 * loader/multiboot_mbi2.c: Likewise.
20658 * util/grub-mkrescue.in: Generate multiboot rescue.
20659
6f8aaf68
VS
206602010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20661
3080f7a7
VS
20662 * kern/parser.c (grub_parser_execute): Cope with read-only config.
20663
206642010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20665
20666 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
20667
20668 * commands/terminal.c (abstract_terminal): New struct.
20669 (handle_command): New function. Based on grub_cmd_terminal_input.
20670 (grub_cmd_terminal_input): Use handle_command.
20671 (grub_cmd_terminal_output): Use handle_command.
20672
a8ebb841
BC
206732010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
20674
20675 Fix comment handling.
20676
20677 * tests/grub_script_comments.in: New testcase.
20678 * conf/tests.rmk: Rules for new testcase.
20679 * script/yylex.l: Updated flex rules.
20680
bb06ba08
ST
206812010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
20682
20683 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
20684 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
20685 if argc is 1.
bb06ba08 20686
cc9d2425
VS
206872010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
20688
20689 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
20690 autogen issues.
20691
460d8402
CF
206922010-04-26 Christian Franke <franke@computer.org>
20693
20694 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
20695 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
20696 (grub_get_prefix): Remove function.
20697 * util/grub-emu.c (main): Replace grub_get_prefix () call by
20698 make_system_path_relative_to_its_root ().
20699 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
20700
553c01f9
CF
207012010-04-24 Christian Franke <franke@computer.org>
20702
20703 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
20704 (kernel_img_LDFLAGS): Remove -static-libgcc.
20705
2aec1692
CF
207062010-04-24 Christian Franke <franke@computer.org>
20707
20708 * configure.ac: Do not CHECK_BSS_START_SYMBOL
20709 and CHECK_END_SYMBOL if grub-emu is built.
20710 Unset TARGET_OBJ2ELF if grub-emu is built
20711 without module support.
20712
f67dc308
JS
207132010-04-24 Jiro SEKIBA <jir@unicus.jp>
20714
20715 Nilfs2 support.
20716
20717 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
20718 (grub_fstest_SOURCES): Likewise.
20719 (pkglib_MODULES): Add nilfs2.mod.
20720 (nilfs2_mod_SOURCES): New variable.
20721 (nilfs2_mod_CFLAGS): Likewise.
20722 (nilfs2_mod_LDFLAGS): Likewise.
20723 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
20724 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
20725 * fs/nilfs2.c: New file.
20726
4ba8d354
VS
207272010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
20728
20729 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
20730 is not supported.
20731
0d2c20c6
GS
207322010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
20733
20734 Add grub-mkconfig support for NetBSD.
20735
20736 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
20737 * util/grub-mkconfig.in: export new NetBSD specific variables.
20738 * po/POTFILES-shell: added 10_netbsd.in.
20739 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
20740
bc4a2d83
BC
207412010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
20742
20743 Fix emu build with grub-emu-pci and grub-emu-modules.
20744
20745 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
20746 functions.
20747 * include/grub/libpciaccess.h: New file.
20748 * conf/any-emu.rmk: Update kernel headers for emu build.
20749
f48c87aa
VS
207502010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
20751
20752 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
20753
18959385
VS
207542010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
20755
20756 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
20757
0037de3f
VS
207582010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20759
20760 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
20761 Retrieve chosen/bootpath if bootpath isn't hardcoded.
20762 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
20763 util/ieee1275/ofpath.c.
20764 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
20765 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
20766 * include/grub/sparc64/ieee1275/boot.h
20767 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
20768 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
20769 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
20770 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
20771 const char *.
20772 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
20773 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
20774 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
20775 install.
20776
38e55e90
GS
207772010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
20778
20779 * util/grub-mkconfig.in: Corrected two == equality tests.
20780 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
20781 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
20782 expect a number appended to it.
20783 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
20784 expects a number appended to it.
20785
a9e6ff28
VS
207862010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20787
20788 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
20789
0b830b8f
VS
207902010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20791
20792 * util/hostdisk.c (make_device_name): Change to new partition naming.
20793
0973daeb
VS
207942010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
20795
20796 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
20797
460d8402 207982010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
20799
20800 * Makefile.in: Add missing localedir setting.
20801
0b456309
CW
208022010-04-14 Colin Watson <cjwatson@ubuntu.com>
20803
20804 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
20805 mistake in r2156. Noticed by Anthony Fok.
20806
20807 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
20808 @localedir@.
20809 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
20810
08f46d62
BC
208112010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
20812
20813 Fix a spurious, uninitialized variable warning.
20814
20815 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
20816 Initialize variable, shdr.
20817 (grub_freebsd_load_elfmodule): Likewise.
20818 (grub_freebsd_load_elf_meta): Likewise.
20819
8c4a72d4
BC
208202010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
20821
20822 Fix for escaped dollar in double quoted strings.
20823
20824 * script/yylex.l: Updated flex rules.
20825 * conf/tests.rmk: Rule for new testcase.
20826 * tests/grub_script_dollar.in: New testcase.
20827
ce44826e
CPE
208282010-04-13 Carles Pina i Estany <carles@pina.cat>
208292010-04-13 Colin Watson <cjwatson@ubuntu.com>
20830
20831 Enclose all translated strings in grub.cfg in single quotes, and
20832 escape them appropriately (Ubuntu bug #552921).
20833
20834 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
20835 * util/grub.d/10_hurd.in: Use it.
20836 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
20837 * util/grub.d/10_linux.in (linux_entry): Likewise.
20838
4b0cd8f8
VS
208392010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20840
20841 Fix cygwin compilation.
20842
20843 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
20844 * include/grub/misc.h (__register_frame_info)
20845 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
20846 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
20847 * kern/misc.c (__register_frame_info)
20848 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
20849 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
20850
01fcf061
VS
208512010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20852
20853 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
20854
5d04b11e
VS
208552010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20856
20857 Unify libgcc processing.
20858
20859 * Makefile.in (kernel_img_LDFLAGS): New variable.
20860 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
20861 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
20862 overwriting.
20863 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
20864 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
20865 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
20866 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
20867 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
20868 overwriting. Remove -lgcc and -static-libgcc
20869 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
20870 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
20871 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
20872 (kernel_img_LDFLAGS): Append instead of overwriting.
20873 Remove -lgcc and -static-libgcc
20874 * conf/sparc64-ieee1275.rmk: Likewise.
20875 * include/grub/powerpc/libgcc.h: Move to ...
20876 * include/grub/libgcc.h: .. this.
20877 * include/grub/libgcc.h: Don't export most of the function on x86.
20878 (__bswapsi2): New export.
20879 (__bswapdi2): Likewise.
20880 * include/grub/mips/libgcc.h: Removed.
20881 * include/grub/sparc64/libgcc.h: Likewise.
20882
b7f3ac29
VS
208832010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20884
20885 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
20886 disk_info_msg (conflicts with gettexting into languages with cases).
20887
2c7031b1
GS
208882010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
20889
20890 Add grub-probe support for NetBSD.
20891
20892 * util/getroot.c (find_root_device): Convert block device to
20893 character device on NetBSD.
20894 * util/probe.c (probe): Require character device on NetBSD.
20895 * util/hostdisk.c: NetBSD specific headers.
20896 (configure_device_driver): new function to tune device driver
20897 parameters (currently only for NetBSD floppy driver).
20898 (grub_util_biosdisk_open): NetBSD specific code (get disk size
20899 via disklabel ioctl).
20900 (open_device): call configure_device_driver on NetBSD.
20901 (convert_system_partition_to_system_disk): NetBSD specific code.
20902 (device_is_wholedisk): Likewise.
20903 (grub_util_biosdisk_get_grub_dev): Likewise.
20904 (make_device_name): Fixed a typo in bsd_part_str.
20905 * configure.ac: check for opendisk() and getrawpartition() on
20906 NetBSD and set LIBUTIL.
20907 * Makefile.in: add LIBUTIL to LIBS.
20908
f516290c
BC
209092010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
20910
20911 Documentation fix.
20912
20913 * util/grub-script-check.c: Better help message.
20914
d8dcc0df
BC
209152010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
20916
20917 Fix FreeBSD build.
20918
20919 * configure.ac: Flex version check.
20920 * conf/common.rmk: Add -Wno-error to sh.mod.
20921 * script/yylex.l: Remove all #pragma.
20922
6734334a
VS
209232010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20924
20925 * include/grub/util/misc.h (canonicalise_file_name): Add missing
20926 prototype.
20927 Reported by: Seth Goldberg.
20928
daea6abd
VS
209292010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20930
20931 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
20932 Rename "module" to "module2".
20933 Reported by: Seth Goldberg.
20934
f2fd9d2b
VS
209352010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20936
20937 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
20938 EXPORT_FUNC.
20939 Reported by: Seth Goldberg.
20940
be124579
VS
209412010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20942
20943 * lib/posix_wrap/locale.h: Add missing file.
20944 Reported by: Seth Goldberg.
20945
ef5da797
VS
209462010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20947
20948 grub-emu module load support.
20949
20950 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
20951 NO_DYNAMIC_MODULES switched to this.
20952 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
20953 (CFLAGS): Likewise.
20954 * conf/any-emu.rmk: Generate symlist.
20955 (kernel_img_HEADERS): Add util/datetime.h.
20956 (kernel_img_HEADERS) [sdl]: Add sdl.h.
20957 (kernel_img_HEADERS) [libusb]: Add libusb.h.
20958 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
20959 kern/$(target_cpu)/cache.S.
20960 * configure.ac (grub-emu-modules): New option.
20961 * genmk.rb: Handle multiple source lists.
20962 * include/grub/sdl.h: New file.
20963 * include/grub/libusb.h: Likewise.
20964 * util/grub-emu.c (main): Hanle (host) root.
20965 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
20966 GRUB_ERR_UNKNOWN_DEVICE.
20967 * util/misc.c: Move mm functions to ...
20968 * util/mm.c: ... here. All users updated.
20969
47822096
VS
209702010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20971
20972 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
20973 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
20974 missing files.
20975 (maintainer-clean): Remove libgcrypt-grub.
20976
5d7e7445
VS
209772010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20978
20979 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
20980
25f4e252
EC
209812010-04-09 EFI Coder <eficoder@hotmail.com>
20982
20983 * normal/menu_text.c (print_message): Clean up the message and show
20984 the Fn information when on EFI
20985 * term/efi/console.c (grub_console_checkkey): Add F4 support.
20986
027de555
VS
209872010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20988
20989 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
20990 All users updated.
20991 * normal/crypto.c (read_crypto_list): Likewise.
20992 * normal/dyncmd.c (read_command_list): Likewise.
20993 * normal/term.c (read_terminal_list): Likewise.
20994 * normal/main.c (read_lists): Use explicit prefix.
20995 (read_lists_hook): Use read_lists.
20996 (grub_normal_execute): Likewise.
20997
47779711
VS
209982010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20999
21000 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
21001 Reported by: Thomas Schmitt.
21002 Add -no-emul-boot to grub-mkisofs parameters.
21003
1118c32e
VS
210042010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21005
21006 * font/font.c: Indented.
21007
7d652447
BC
210082010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
21009
21010 Elif support to GRUB script (by Deepak Vankadaru).
21011
21012 * tests/grub_script_if.in: New testcase.
21013 * conf/tests.rmk: Rule for new testcase.
21014 * script/parser.y: Grammar rules for elif.
21015
34bb22df
BC
210162010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
21017
21018 While and until loops support to GRUB script.
21019
21020 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
21021 (grub_script_create_cmdwhile): New function prototype.
21022 (grub_script_execute_cmdwhile): New function prototype.
21023 * script/execute.c (grub_script_execute_cmdwhile): New function.
21024 * script/parser.y (command): New commands.
21025 (whilecmd): New grammar rule.
21026 (untilcmd): New grammar rule.
21027 * script/script.c (grub_script_create_cmdwhile): New function.
21028 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
21029 function.
21030
21031 * tests/grub_script_while1.in: New testcase.
21032 * conf/tests.rmk: Rule for new testcase.
21033
e215d8e0
VS
210342010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21035
21036 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
21037 as *.jpg.
21038
d7c43ba1
MV
210392010-04-09 Mario Vazquez <mariovazq@gmail.com>
21040
21041 GRUB_BACKGROUND support.
21042
21043 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
21044 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
21045
d64795c0
VS
210462010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21047
21048 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 21049 Idea by: Mario Vazquez
d64795c0
VS
21050
21051 * util/grub.d/00_header.in: Load pf2 and image modules.
21052
f267f83a
VS
210532010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21054
21055 grub-mkconfig multiple terminal support.
21056
21057 * util/grub-mkconfig.in: Handle multiple terminals correctly.
21058 * util/grub.d/00_header.in: Likewise.
21059
b7841ceb
VS
210602010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
21061
21062 * Makefile.in: Specify files explicitly instead of using $< and $@ since
21063 we use cd $(srcdir).
21064
df60998c
CW
210652010-04-08 Colin Watson <cjwatson@ubuntu.com>
21066
21067 * util/grub.d/10_linux.in: Only use the first word of
21068 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
21069 spaces in GRUB_DISTRIBUTOR.
21070 * util/grub.d/10_kfreebsd.in: Likewise.
21071 * util/grub.d/10_hurd.in: Likewise.
21072
fa09c82e
BC
210732010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
21074
14e18ae3 21075 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
21076
21077 * tests/util/grub-shell.in: Remove -serial stdio option.
21078
daf892b3
BC
210792010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
21080
21081 POSIX header file wrappers.
21082
21083 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
21084 equivalents.
21085 * lib/posix_wrap/ctype.h: Likewise.
21086 * lib/posix_wrap/errno.h: Likewise.
21087 * lib/posix_wrap/langinfo.h: Likewise.
21088 * lib/posix_wrap/limits.h: Likewise.
21089 * lib/posix_wrap/localcharset.h: Likewise.
21090 * lib/posix_wrap/stdint.h: Likewise.
21091 * lib/posix_wrap/stdio.h: Likewise.
21092 * lib/posix_wrap/stdlib.h: Likewise.
21093 * lib/posix_wrap/string.h: Likewise.
21094 * lib/posix_wrap/sys/types.h: Likewise.
21095 * lib/posix_wrap/unistd.h: Likewise.
21096 * lib/posix_wrap/wchar.h: Likewise.
21097 * lib/posix_wrap/wctype.h: Likewise.
21098 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
21099 (grub_script.yy.h): Likewise.
21100 * script/yylex.l: Remove POSIX emulation #defines.
21101 * Makefile.in (POSIX_CFLAGS): New variable.
21102 (GNULIB_UTIL_CFLAGS): Likewise.
21103
21104 Regexp support.
21105
21106 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
21107 (regexp_mod_SOURCES): New variable.
21108 (regexp_mod_CFLAGS): Likewise.
21109 (regexp_mod_LDFLAGS): Likewise.
21110 * commands/regexp.c: New file.
21111 * gnulib/regcomp.c: New file. Imported from gnulib.
21112 * gnulib/regex.c: Likewise.
21113 * gnulib/regex_internal.c: Likewise.
21114 * gnulib/regex_internal.h: Likewise.
21115 * gnulib/regexec.c: Likewise.
21116 * gnulib/regex.h: Likewise.
21117
974ac4f7
VS
211182010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
21119
21120 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
21121 unsupported video mode types.
21122
2622c3ff
VS
211232010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
21124
21125 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
21126
064cb524
VS
211272010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
21128
21129 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
21130 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
21131
a8c3b552
VS
211322010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
21133
21134 Remove unused grub_vga_get_font.
21135
21136 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
21137 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
21138
187bbe3d
GS
211392010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21140
21141 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
21142 * include/grub/misc.h: Likewise.
21143
b9396631
GS
211442010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21145
21146 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
21147 for which failure is fatal.
21148
50479feb
GS
211492010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21150
21151 * util/grub-install.in: Use mkdir -p to create grub directory.
21152 * util/i386/efi/grub-install.in: Likewise.
21153 * util/ieee1275/grub-install.in: Likewise.
21154
b1654fdf
GS
211552010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21156
21157 * Makefile.in (LEX): new variable.
21158
bd5a6415
GS
211592010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21160
21161 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
21162 `=' and added double quotes on operands of this equality test.
21163
3db3a82b
VS
211642010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
21165
21166 * Makefile.in (uninstall): Remove a leftover debug echo.
21167 Reported by: Grégoire Sutre
21168
38023412
VS
211692010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
21170
21171 MIPS multiboot2 support.
21172
21173 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
21174 (multiboot2_mod_SOURCES): New variable.
21175 (multiboot2_mod_CFLAGS): Likewise.
21176 (multiboot2_mod_LDFLAGS): Likewise.
21177 (multiboot2_mod_ASFLAGS): Likewise.
21178 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
21179 definition.
21180 (MULTIBOOT_ENTRY_REGISTER): Likewise.
21181 (MULTIBOOT_MBI_REGISTER): Likewise.
21182 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
21183 (MULTIBOOT_ELF32_MACHINE): Likewise.
21184 (MULTIBOOT_ELF64_MACHINE): Likewise.
21185 * include/grub/mips/multiboot.h: New file.
21186 * include/grub/video.h (grub_video_driver_id): New type
21187 GRUB_VIDEO_DRIVER_SM712.
21188 (grub_video_get_info_and_fini): Export.
21189 (grub_video_get_palette): Likewise.
21190 (grub_video_get_driver_id): Likewise.
21191 * include/multiboot2.h: Resynced with spec.
21192 * loader/i386/multiboot.c: Moved from here ...
21193 * loader/multiboot.c: ... here. All users updated.
21194 (grub_multiboot_boot): Use platform-specific macros.
21195 * loader/i386/multiboot_elfxx.c: Moved from here ...
21196 * loader/multiboot_elfxx.c: ... here. All users updated.
21197 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
21198 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
21199 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
21200
47674667
VS
212012010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
21202
21203 Import gnulib argp module.
21204
21205 * gnulib/argp-ba.c: New file.
21206 * gnulib/argp-eexst.c: Likewise.
21207 * gnulib/argp-fmtstream.c: Likewise.
21208 * gnulib/argp-fmtstream.h: Likewise.
21209 * gnulib/argp-fs-xinl.c: Likewise.
21210 * gnulib/argp-help.c: Likewise.
21211 * gnulib/argp-namefrob.h: Likewise.
21212 * gnulib/argp-parse.c: Likewise.
21213 * gnulib/argp-pin.c: Likewise.
21214 * gnulib/argp-pv.c: Likewise.
21215 * gnulib/argp-pvh.c: Likewise.
21216 * gnulib/argp-version-etc.c: Likewise.
21217 * gnulib/argp-version-etc.h: Likewise.
21218 * gnulib/argp-xinl.c: Likewise.
21219 * gnulib/argp.h: Likewise.
21220
495442ed
VS
212212010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
21222
21223 * kern/device.c (grub_device_iterate): Clear errors after failed
21224 opening device.
21225
f9fd65df
VS
212262010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
21227
21228 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
21229 returned by firmware.
21230
af09641e
VS
212312010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
21232
21233 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
21234 compilation on coreboot and qemu
21235
016883a5
VS
212362010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
21237
21238 * include/multiboot2.h: Resync with spec.
21239
f97e1f7d
VS
212402010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
21241
21242 Multiboot2 tag support
21243
21244 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
21245 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
21246 Remove loader/multiboot_loader.c.
21247 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
21248 (grub_multiboot2_real_boot): Likewise.
21249 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
21250 (grub_get_multiboot_mmap_count): New proto.
21251 (grub_fill_multiboot_mmap): Likewise.
21252 (grub_multiboot_set_video_mode): Likewise.
21253 (grub_multiboot_set_console): Likewise.
21254 (grub_multiboot_load): Likewise.
21255 (grub_multiboot_load_elf): Likewise.
21256 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
21257 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
21258 * include/multiboot.h: Resynced with specification.
21259 * include/multiboot2.h: Resynced with specification.
21260 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
21261 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
21262 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
21263 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
21264 users updated.
21265 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
21266 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
21267 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
21268 Removed.
21269 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
21270 Moved from here...
21271 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
21272 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
21273 Moved from here...
21274 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
21275 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
21276 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
21277 All users updated.
21278 * loader/i386/multiboot_mbi2.c: New file.
21279
3506b90b
VS
212802010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
21281
21282 Resync with gnulib.
21283
21284 * Makefile.in (GNULIB_CFLAGS): New variable.
21285 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
21286 (grub_script_check_CFLAGS): New variable.
21287 * gnulib/alloca.h: Resync with gnulib.
21288 * gnulib/error.c: Likewise.
21289 * gnulib/error.h: Likewise.
21290 * gnulib/fnmatch.c: Likewise.
21291 * gnulib/fnmatch_loop.c: Likewise.
21292 * gnulib/getdelim.c: Likewise.
21293 * gnulib/getline.c: Likewise.
21294 * gnulib/getopt.c: Likewise.
21295 * gnulib/getopt1.c: Likewise.
21296 * gnulib/getopt_int.h: Likewise.
21297 * gnulib/gettext.h: Likewise.
21298 * gnulib/progname.c: Likewise.
21299 * gnulib/progname.h: Likewise.
21300
394a3120
GS
213012010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
21302
21303 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
21304 which is the case with --disabled-nls.
21305
21306 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
21307 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
21308 * util/misc.c: Likewise.
21309 * util/mkisofs/mkisofs.c: Likewise.
21310 * util/mkisofs/mkisofs.h: Likewise.
21311
969d1c78
VS
213122010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
21313
21314 Simplify Apple CC support.
21315
21316 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
21317 Add 0 byte at the end not to have a symbol with empty target.
21318 * mmap/i386/pc/mmap_helper.S: Likewise.
21319 * genmk.rb: Ignore errors 2030 and 2050.
21320 * kern/i386/pc/startup.S: Use LOCAL when possible.
21321
8d2977bb
BC
213222010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
21323
21324 Testcase and the fix for final semicolon on cmdline.
21325
21326 * tests/grub_script_final_semicolon.in: New testcase.
21327 * conf/tests.rmk: Rules for the new testcase.
21328 * script/parser.y: Grammar fix.
21329
a7bd6915
BC
213302010-03-26 BVK Chaitanya <bvk@localhost>
21331
21332 Blank lines testcase for GRUB script.
21333
21334 * tests/grub_script_blanklines.in: New testcase.
21335 * conf/tests.rmk: Rules for the new testcase.
21336
e4ff6628
VS
213372010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
21338
21339 Don't use __FILE__.
21340
21341 * genmk.rb: Add -DGRUB_FILE to all C targets.
21342 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
21343 * include/grub/list.h: Likewise.
21344 * include/grub/misc.h: Likewise.
21345 * include/grub/mm.h: Likewise.
21346 * include/grub/test.h: Likewise.
21347 * kern/mm.c: Likewise.
21348 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
21349
6a5cf6b6
VS
213502010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
21351
21352 Sunpc partitions support.
21353
21354 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
21355 (grub_fstest_SOURCES): Likewise.
21356 (pkglib_MODULES): Add part_sunpc.mod.
21357 (part_sunpc_mod_SOURCES): New variable.
21358 (part_sunpc_mod_CFLAGS): Likewise.
21359 (part_sunpc_mod_LDFLAGS): Likewise.
21360 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
21361 * partmap/sunpc.c: New file.
21362
746d9045
BC
213632010-03-26 BVK Chaitanya <bvk@localhost>
21364
21365 For loop support to GRUB script.
21366
21367 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
21368 (grub_script_create_cmdfor): New function prototype.
21369 (grub_script_execute_cmdfor): New function prototype.
21370 * script/execute.c (grub_script_execute_cmdfor): New function.
21371 * script/parser.y (command): New for command.
21372 (forcmd): New grammar rule.
21373 * script/script.c (grub_script_create_cmdfor): New function.
21374 * util/grub-script-check.c (grub_script_execute_cmdfor): New
21375 function.
21376 * tests/grub_script_for1.in: New testcase.
21377 * conf/tests.rmk: Rules for new testcase.
21378
18486b18
VS
213792010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
21380
21381 Nested partitions
21382
21383 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
21384 'partition' is NULL, grub_partition_get_start already does that.
21385 * commands/loadenv.c (check_blocklists): Likewise.
21386 (write_blocklists): Likewise.
21387 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
21388 (grub_fstest_SOURCES): Likewise.
21389 (pkglib_MODULES): Add part_bsd.mod.
21390 (part_bsd_mod_SOURCES): New variable.
21391 (part_bsd_mod_CFLAGS): Likewise.
21392 (part_bsd_mod_LDFLAGS): Likewise.
21393 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
21394 (grub_emu_SOURCES): Likewise.
21395 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21396 * include/grub/bsdlabel.h: New file.
21397 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
21398 'get_name'.
21399 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
21400 (grub_partition_map_list): New variable.
21401 (grub_partition_map_register): Inline.
21402 (grub_partition_map_unregister): Likewise.
21403 (FOR_PARTITION_MAPS): New macro.
21404 (grub_partition_map_iterate): Removed.
21405 (grub_partition_get_start): Handle nested partitions.
21406 * include/grub/msdos_partition.h: Remove bsd-related entries.
21407 (grub_pc_partition): Remove.
21408 * kern/disk.c (grub_disk_close): Free partition data.
21409 (grub_disk_adjust_range): Handle nested partitions.
21410 * kern/partition.c (grub_partition_map_probe): New function.
21411 (grub_partition_probe): Parse name to number, handle subpartitions.
21412 (get_partmap): New function.
21413 (grub_partition_iterate): Handle subpartitions.
21414 (grub_partition_get_name): Likewise.
21415 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
21416 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
21417 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
21418 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
21419 Set 'number'.
21420 (acorn_partition_map_probe): Remove.
21421 (acorn_partition_map_get_name): Likewise.
21422 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
21423 Set 'number'.
21424 Set 'index' to 0 since there can be only one partition entry per sector.
21425 (amiga_partition_map_probe): Remove.
21426 (amiga_partition_map_get_name): Likewise.
21427 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
21428 Set 'number'.
21429 Set 'offset' and 'index' to real positions of partitions.
21430 (apple_partition_map_probe): Remove.
21431 (apple_partition_map_get_name): Likewise.
21432 * partmap/bsdlabel.c: New file.
21433 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
21434 Set 'number'.
21435 Allocate 'data' so it can be correctly freed.
21436 Set 'index' to offset inside sector.
21437 (gpt_partition_map_probe): Remove.
21438 (gpt_partition_map_get_name): Likewise.
21439 * partmap/msdos.c (grub_partition_parse): Remove.
21440 (pc_partition_map_iterate): Don't force raw access.
21441 Set 'number'.
21442 Make 'ext_offset' a local variable.
21443 (pc_partition_map_probe): Remove.
21444 (pc_partition_map_get_name): Remove.
21445 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
21446 Set 'number'.
21447 (sun_partition_map_probe): Remove.
21448 (sun_partition_map_get_name): Likewise.
21449 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
21450 (grub_pcpart_type): Likewise.
21451 * util/hostdisk.c (open_device): Handle new numbering scheme.
21452 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
21453 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
21454 * util/grub-probe.c (probe_partmap): Handle nested paritions.
21455 * util/grub-install.in: Insert all subpartition modules.
21456 * util/ieee1275/grub-install.in: Likewise.
21457
a3940f88
AG
214582010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
21459
21460 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
21461 grammar.
21462
21b99926 214632010-03-24 Colin Watson <cjwatson@ubuntu.com>
21464
21465 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
21466
bed1d352
CW
214672010-03-21 Colin Watson <cjwatson@ubuntu.com>
21468
21469 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
21470 match where 'make install' puts them.
21471 * util/i386/efi/grub-install.in: Likewise.
21472
c9f58427
CW
214732010-03-19 Colin Watson <cjwatson@ubuntu.com>
21474
21475 * .bzrignore: Add gentrigtables, grub-script-check,
21476 grub_script_check_init.c, grub_script_check_init.h, and
21477 trigtables.c.
21478
f84afb27
VS
214792010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
21480
21481 * kern/parser.c: Indented.
21482
ed0e3d30
VS
214832010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
21484
21485 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
21486
0ea81d98
VS
214872010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
21488
21489 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
21490 alpha_mask_size == 0 case.
21491
0cdc2a09
BC
214922010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
21493
21494 GRUB shell lexer and parser improvements.
21495
21496 * conf/any-emu.rmk: Build rule updates.
21497 * conf/common.rmk: Likewise.
21498 * conf/i386-coreboot.rmk: Likewise.
21499 * conf/i386-efi.rmk: Likewise.
21500 * conf/i386-ieee1275.rmk: Likewise.
21501 * conf/i386-pc.rmk: Likewise.
21502 * conf/powerpc-ieee1275.rmk: Likewise.
21503 * conf/x86_64-efi.rmk: Likewise.
21504
21505 * configure.ac: Configure check for flex.
21506
21507 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
21508 types.
21509 (grub_lexer_param): Struct member updates.
21510 (grub_parser_param): Likewise.
21511 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
21512 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
21513 (grub_script_lexer_init): Prototype update.
21514 (grub_script_lexer_record_start): Likewise.
21515 (grub_script_lexer_record_stop): Likewise.
21516 (grub_script_lexer_yywrap): New function prototype.
21517 (grub_script_lexer_fini): Likewise.
21518 (grub_script_execute_argument_to_string): Removed by...
21519 (grub_script_execute_argument_to_argv): ...better version.
21520
21521 * script/execute.c (ROUND_UPTO): New macro.
21522 (grub_script_execute_cmdline): Out of memory fixes.
21523 (grub_script_execute_menuentry): Likewise.
21524 (grub_script_execute_argument_to_string): Removed. Update all
21525 users by...
21526 (grub_script_execute_argument_to_argv): ...better version.
21527 * script/function.c (grub_script_function_create): Use
21528 grub_script_execute_argument_to_argv instead of
21529 grub_script_execute_argument_to_string.
21530
21531 * script/lexer.c (check_varstate): Removed.
21532 (check_textstate): Removed.
21533 (grub_script_lexer_record_start): Likewise.
21534 (grub_script_lexer_record_stop): Likewise.
21535 (recordchar): Replaced with...
21536 (grub_script_lexer_record): ...new function.
21537 (nextchar): Removed.
21538 (grub_script_lexer_init): Rewritten.
21539 (grub_script_yylex): Rewritten.
21540 (append_newline): New function.
21541 (grub_script_lexer_yywrap): New function.
21542 (grub_script_lexer_fini): New function.
21543 (grub_script_yyerror): Sets error flag.
21544
21545 * script/yylex.l: New file.
21546 (grub_lexer_yyfree): Wrapper for flex yyffre.
21547 (grub_lexer_yyalloc): Likewise.
21548 (grub_lexer_yyrealloc): Likewise.
21549 * script/parser.y: Refactored.
21550
21551 * script/script.c (grub_script_arg_add): Out of memory fixes.
21552 (grub_script_add_arglist): Likewise.
21553 (grub_script_create_cmdline): Likewise.
21554 (grub_script_create_cmdmenu): Likewise.
21555 (grub_script_add_cmd): Likewise.
21556 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
21557 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
21558 unnecessary code.
21559
21560 * tests/grub_script_echo1.in: New testcase.
21561 * tests/grub_script_vars1.in: New testcase.
21562 * tests/grub_script_echo_keywords.in: New testcase.
21563
1d63a066
VS
215642010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21565
21566 Remove some redundancy in build system.
21567
21568 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
21569 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
21570 (TARGET_LDFLAGS): Add -nostdlib.
21571 (TARGET_IMG_LDFLAGS): Likewise.
21572 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
21573 anything since mmap isn't available.
21574 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
21575 Add util/time.c.
21576 (pkglib_MODULES): Remove reboot.mod.
21577 (reboot_mod_SOURCES): Removed.
21578 (reboot_mod_CFLAGS): Likewise.
21579 (reboot_mod_LDFLAGS): Likewise.
21580 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
21581 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
21582 (DEFSYMFILES): Add kernel_syms.lst.
21583 (kernel_img_HEADERS): Add common headers.
21584 (symlist.c): New target.
21585 (kernel_syms.lst): Likewise.
21586 (pkglib_MODULES): Add memdisk.mod.
21587 (memdisk_mod_SOURCES): New variable.
21588 (memdisk_mod_CFLAGS): Likewise.
21589 (memdisk_mod_LDFLAGS): Likewise.
21590 (pkglib_MODULES): Add reboot.mod.
21591 (reboot_mod_SOURCES): New variable.
21592 (reboot_mod_CFLAGS): Likewise.
21593 (reboot_mod_LDFLAGS): Likewise.
21594 (pkglib_MODULES): Add date.mod.
21595 (date_mod_SOURCES): New variable.
21596 (date_mod_CFLAGS): Likewise.
21597 (date_mod_LDFLAGS): Likewise.
21598 (pkglib_MODULES): Add datehook.mod.
21599 (datehook_mod_SOURCES): New variable.
21600 (datehook_mod_CFLAGS): Likewise.
21601 (datehook_mod_LDFLAGS): Likewise.
21602 (pkglib_MODULES): Add lsmmap.mod.
21603 (lsmmap_mod_SOURCES): New variable.
21604 (lsmmap_mod_CFLAGS): Likewise.
21605 (lsmmap_mod_LDFLAGS): Likewise.
21606 (pkglib_MODULES): Add boot.mod.
21607 (boot_mod_SOURCES): New variable.
21608 (boot_mod_CFLAGS): Likewise.
21609 (boot_mod_LDFLAGS): Likewise.
21610 * conf/i386-coreboot.rmk: Removed redundant parts.
21611 * conf/i386-ieee1275.rmk: Likewise.
21612 * conf/i386-pc.rmk: Likewise.
21613 * conf/mips-yeeloong.rmk: Likewise.
21614 * conf/mips.rmk: Likewise.
21615 * conf/powerpc-ieee1275.rmk: Likewise.
21616 * conf/sparc64-ieee1275.rmk: Likewise.
21617 * conf/x86_64-efi.rmk: Likewise.
21618 * conf/i386-coreboot.rmk: Moved qemu parts ..
21619 * conf/i386-qemu.rmk: ... here
21620 * conf/i386-efi.rmk: Moved common parts to...
21621 * conf/x86-efi.rmk: ... here.
21622 * conf/i386.rmk: Added modules common to all x86 variants.
21623 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
21624 * disk/memdisk.c: Remove grub/machine/kernel.h.
21625 * gensymlist.sh.in: Include symbol.h.
21626 * hook/datehook.c: Correct module name.
21627 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
21628 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
21629 * include/grub/i386/efi/serial.h: New file.
21630 * include/grub/x86_64/efi/serial.h: Likewise.
21631 * util/time.c: Likewise.
21632 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
21633
463ac55f
CK
216342010-03-14 Colin King <colin.king@ubuntu.com>
216352010-03-14 Colin Watson <cjwatson@ubuntu.com>
21636
21637 Shrink the pre-partition-table part of boot.img by eight bytes.
21638
21639 * boot/i386/pc/boot.S (ERR): New macro.
21640 (chs_mode): Use ERR.
21641 (geometry_error): Likewise.
21642 (hd_probe_error): Remove. This is only used once, so we wrwite
21643 it inline instead.
21644 (read_error): Instead of printing read_error_string, just set up
21645 %si and fall through to ...
21646 (error_message): ... this new function, also used by ERR.
21647
08e46ede
CW
216482010-03-14 Colin Watson <cjwatson@ubuntu.com>
21649
21650 Speed up consecutive hostdisk operations on the same device.
21651
21652 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
21653 (grub_util_biosdisk_open): Initialise disk->data.
21654 (struct linux_partition_cache): New structure.
21655 (linux_find_partition): Cache partition start positions; these are
21656 expensive to compute on every read and write.
21657 (open_device): Cache open file descriptor in disk->data, so that we
21658 don't have to reopen it and flush the buffer cache for consecutive
21659 operations on the same device.
21660 (grub_util_biosdisk_close): New function.
21661 (grub_util_biosdisk_dev): Set `close' member.
21662
21663 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
21664 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
21665 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
21666 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
21667 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
21668
4a6d2d06
VS
216692010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21670
21671 Compile parts of grub-emu as modules.
21672
21673 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
21674 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
21675 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
21676 (all-local): Add $(GRUB_EMU).
21677 (install-local): Install $(GRUB_EMU).
21678 (uninstall): Uninstall $(GRUB_EMU).
21679 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
21680 * kern/dl.c: Likewise.
21681 * commands/sleep.c: Not include machine/time.h.
21682 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
21683 (COMMON_CFLAGS): Likewise.
21684 (sbin_UTILITIES): Remove grub-emu.
21685 (grub_emu_SOURCES): Removed.
21686 (kernel_img_RELOCATABLE): New variable.
21687 (pkglib_PROGRAMS): Add kernel.img.
21688 (kernel_img_SOURCES): New variable
21689 (kernel_img_CFLAGS): Likewise.
21690 (kernel_img_LDFLAGS): Likewise.
21691 (TARGET_NO_STRIP): Likewise.
21692 (TARGET_NO_DYNAMIC_MODULES): Likewise.
21693 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
21694 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
21695 (grub-emu): New target.
21696 (GRUB_EMU): New variable.
21697 * configure.ac: Whitelist -emu as possible x86_64 architecture.
21698 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
21699 * loader/xnu.c: Likewise.
21700 * include/grub/pci.h: Likewise.
21701 * genemuinit.sh: New file.
21702 * genemuinitheader.sh: Likewise.
21703 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
21704 Support TARGET_NO_DYNAMIC_MODULES.
21705 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
21706 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
21707 * disk/loopback.c: Likewise.
21708 * font/font_cmd.c: Likewise.
21709 * partmap/acorn.c: Likewise.
21710 * partmap/amiga.c: Likewise.
21711 * partmap/apple.c: Likewise.
21712 * partmap/gpt.c: Likewise.
21713 * partmap/msdos.c: Likewise.
21714 * partmap/sun.c: Likewise.
21715 * parttool/msdospart.c: Likewise.
21716 * term/gfxterm.c: Likewise.
21717 * video/bitmap.c: Likewise.
21718 * video/readers/jpeg.c: Likewise.
21719 * video/readers/png.c: Likewise.
21720 * video/readers/tga.c: Likewise.
21721 * video/video.c: Likewise.
21722 * util/grub-emu.c (read_command_list): Removed.
21723 (main): Don't call util_init_nls.
21724 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
21725 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
21726
91fdd2ed
VS
217272010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21728
21729 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
21730 date.mod, datehook.mod.
21731 (datetime_mod_SOURCES): New variable.
21732 (datetime_mod_CFLAGS): Likewise.
21733 (datetime_mod_LDFLAGS): Likewise.
21734 (date_mod_SOURCES): Likewise.
21735 (date_mod_CFLAGS): Likewise.
21736 (date_mod_LDFLAGS): Likewise.
21737 (datehook_mod_SOURCES): Likewise.
21738 (datehook_mod_CFLAGS): Likewise.
21739 (datehook_mod_LDFLAGS): Likewise.
21740 * conf/sparc64-ieee1275.rmk: Likewise.
21741 * lib/ieee1275/datetime.c: New file.
21742
873ccae6
VS
217432010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21744
21745 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
21746 (ieee1275_fb_mod_SOURCES): New variable.
21747 (ieee1275_fb_mod_CFLAGS): Likewise.
21748 (ieee1275_fb_mod_LDFLAGS): Likewise.
21749 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
21750 New proto.
21751 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
21752 (HEAP_MAX_ADDR): Likewise.
21753 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
21754 type.
21755 Correct stop condition.
21756 (grub_ieee1275_devices_iterate): New function.
21757 * video/ieee1275.c: New file.
21758
601c97c0
VS
217592010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21760
21761 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
21762
21763 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
21764 as scratch.
21765 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
21766 SCRATCH_PAD_DISKBOOT as scratch.
21767 (bootit): Pass Openfirmware pointer in %o4.
21768 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
21769 of 0x200000.
21770 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
21771 with util/grub-mkrawimage.c.
21772 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
21773 * include/grub/aout.h (AOUT_MID_SUN): New definition.
21774 (grub_aout_get_type) [GRUB_UTIL]: Removed.
21775 (grub_aout_load) [GRUB_UTIL]: Likewise.
21776 * include/grub/kernel.h (grub_modules_get_end): New proto.
21777 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
21778 (SCRATCH_PAD_BOOT): New definition.
21779 (SCRATCH_PAD_DISKBOOT): Likewise.
21780 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
21781 * include/grub/sparc64/ieee1275/ieee1275.h
21782 (grub_ieee1275_original_stack): New variable
21783 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
21784 New definition
21785 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
21786 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
21787 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
21788 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
21789 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
21790 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
21791 (grub_platform_image_format_t): New type.
21792 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
21793 * kern/main.c (grub_modules_get_end)
21794 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
21795 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
21796 (codestart): Switch stacks.
21797 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
21798 variable.
21799 (grub_heap_init): Use grub_modules_get_end.
21800 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
21801 stack.
21802 * util/grub-mkrawimage.c (generate_image): Support sparc64.
21803 (main): Likewise.
21804 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
21805
d68b491e
TG
218062010-03-14 Thorsten Glaser <tg@mirbsd.org>
21807
21808 * util/grub-mkrescue.in: Base ISO UUID on UTC.
21809
4e02ed50
MK
218102010-03-08 Matt Kraai <kraai@ftbfs.org>
21811
21812 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
21813 bug #559005).
21814
1f15fc1e
VS
218152010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
21816
21817 * genmoddep.awk: Output all missing symbols and not only first.
21818
fce5d8ff
VS
218192010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21820
21821 * NEWS: Put the date of 1.98 release.
21822
d1e8a02f
VS
218232010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21824
21825 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
21826 ft2build.h.
21827
696fd607
VS
218282010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21829
21830 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
21831 completition in the middle of string.
21832
33e2e6f3
VS
218332010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21834
21835 * util/grub-mkrescue.in: Use mktemp with explicit template.
21836
b1f6d291
VS
218372010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21838
21839 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
21840
2ac227c7
VS
218412010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21842
21843 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
21844 right pointer.
21845
8f9a632b
VS
218462010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
21847
21848 Fix FreeBSD compilation.
21849
21850 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
21851 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
21852
60b03859
VS
218532010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
21854
21855 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
21856
48a5a769
VS
218572010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21858
21859 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
21860
3ab4bd77
VS
218612010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21862
21863 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
21864
d116e0d8
RM
218652010-03-04 Robert Millan <rmh.grub@aybabtu.com>
21866
21867 Support relative image path in theme file.
21868
21869 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
21870 (image_set_property): Handle theme_dir and relative path.
21871
c7ef54aa
VS
218722010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21873
21874 * configure.ac: Alias amd64 to x86_64.
21875
fcee14ed
VS
218762010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21877
21878 * NEWS: mention multiboot on EFI.
21879
d0780363
VS
218802010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21881
21882 * kern/main.c (grub_load_modules): Handle errors from init functions of
21883 embeded modules.
21884
41168ea4
VS
218852010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21886
21887 * normal/autofs.c (autoload_fs_module): Handle errors.
21888
b54d93ac
VS
218892010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21890
21891 Disable linux.mod on qemu-mips since it's not functional and leads
21892 to compilation failure.
21893
21894 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
21895 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
21896 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
21897 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
21898 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
21899 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
21900 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
21901 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
21902 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
21903 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
21904 Reported by: BVK Chaitanya
21905
fc8345da
JU
219062010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
21907
21908 * INSTALL: Add gettext as a dependency and add qemu to a new section
21909 "Prerequisites for make-check".
21910
4760f979
CF
219112010-03-04 Christian Franke <franke@computer.org>
21912
21913 * util/grub-pe2elf.c: Add missing include "progname.h".
21914
f209b5b2
VS
219152010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21916
21917 * normal/crypto.c (read_crypto_list): Fix a typo.
21918 Reported by: Seth Goldberg.
21919
b4b7be98
VS
219202010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21921
21922 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 21923 Reported by: Seth Goldberg.
b4b7be98 21924
c0ee0385
VS
219252010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21926
21927 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
21928 ascii.bitmaps.
21929
a8efbf64
VS
219302010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21931
21932 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 21933 Reported by: Seth Goldberg.
a8efbf64 21934
08dcd913
VS
219352010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21936
21937 * util/i386/efi/grub-install.in: Copy gettext files.
21938
c4d0b332
VS
219392010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
21940
21941 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
21942
c6f2fe52
VS
219432010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
21944
21945 Wait for user entry basing on presence of output rather than on errors.
21946
21947 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
21948 (grub_install_newline_hook): Likewise.
21949 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
21950 * normal/menu.c (show_menu): Check line_counter to determine presence
21951 of output.
21952 * normal/term.c (grub_normal_line_counter): New variable.
21953 (grub_normal_get_line_counter): New function.
21954 (grub_install_newline_hook): Likewise.
21955
5382b1e4
VS
219562010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
21957
21958 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
21959
5519963b
VS
219602010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
21961
21962 * configure.ac: Update version to 1.98.
21963
72b28631
VS
219642010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
21965
21966 * util/grub.d/10_linux.in (linux_entry): Don't default to
21967 gfxpayload=keep if Linux doesn't support video handover.
21968
c140a180
VS
219692010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
21970
21971 Don't compile video modules on yeeloong since video subsystem is part
21972 of kernel.
21973
21974 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
21975 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
21976 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
21977 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
21978 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
21979 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
21980 * include/grub/bitmap_scale.h: Likewise.
21981 * include/grub/bufio.h: Likewise.
21982 * include/grub/font.h: Likewise.
21983 * include/grub/gfxterm.h: Likewise.
21984 * include/grub/video.h: Likewise.
21985 * include/grub/vbe.h: Don't include video_fb.h.
21986 * video/i386/pc/vbe.c: Include video_fb.h.
21987 * commands/i386/pc/vbetest.c: Include video.h.
21988
a0ca21c2
CW
219892010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
21990
21991 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
21992 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
21993 default entry if GRUB_SAVEDEFAULT=true. This allows using
21994 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
21995 saving a new default on every boot.
21996
4a8a763c
VS
219972010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
21998
21999 * normal/crypto.c (read_crypto_list): Fix a memory leak.
22000 * normal/term.c (read_terminal_list): Likewise.
22001 * normal/main.c (grub_normal_init_page): Likewise.
22002 (grub_normal_read_line_real): Likewise.
22003
607ffde2
VS
220042010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
22005
22006 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
22007 memory leak.
22008 Reported by: Seth Goldberg.
22009
2b8fa975
CW
220102010-02-24 Joey Korkames <joey+lists@kidfixit.com>
22011
22012 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
22013 duplicate declaration of `start'.
22014
618307dd
VS
220152010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
22016
22017 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
22018 filename.
22019 Reported by: Georgy Buranov
22020
7dd05b96 220212010-02-20 Carles Pina i Estany <carles@pina.cat>
22022
22023 * util/grub-mkrawimage.c (usage): Change string formatting to
22024 improve gettext.
22025
d1484a42
MRA
220262010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
22027
22028 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
22029 backspace keys.
22030
42b1d186
VS
220312010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
22032
22033 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
22034 Reported by: Michael Suchanek.
22035
220362010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
22037
22038 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
22039 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
22040
d9f31a41
VS
220412010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
22042
22043 Remove any reference to non-free fonts.
22044
22045 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
22046 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
22047 uses non-free components.
22048 * font/font.c (grub_font_get_name): Remove example name.
22049 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
22050 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
22051 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
22052 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
22053
2793c71e
GB
220542010-02-16 Georgy Buranov <gburanov@gmail.com>
22055
22056 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
22057
402e3779
VS
220582010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
22059
22060 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
22061 Double divisor.
22062 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
22063 features.
22064 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
22065
0dd1e0dd
VS
220662010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
22067
22068 * gensymlist.sh.in: Use TARGET_CC instead of CC.
22069
6fa7cfce
ST
220702010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
22071
22072 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
22073 * docs/grub.texi (Command-line and menu entry commands): Document play
22074 command.
22075
37c8483b
ST
220762010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
22077
22078 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
22079 parse arguments as inline tempo and notes. Move code for playing notes
22080 to...
22081 (play): ... new function.
22082
14da0fb7
ST
220832010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
22084
22085 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
22086 grub_uint16_t instead of short.
22087 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
22088 disk from little endian to cpu endianness.
22089
04459e70
ST
220902010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
22091
22092 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
22093 GRUB_TICKS_PER_SECOND instead of 120.
22094
a0876943
VS
220952010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
22096
22097 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
22098 escape sequence after \e.
22099
e29f95dc
VS
221002010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
22101
22102 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
22103 non-ASCII characters.
22104
d27859b2
VS
221052010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
22106
22107 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
22108 set root in single quotes to prevent \, from being unescaped.
22109
bc028f2f
VS
221102010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
22111
22112 Prevent unknown commands from stopping menuentry execution.
22113
22114 * script/execute.c (grub_script_execute_cmdline): Print error after
22115 unknown command.
22116
095f5f82
VS
221172010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
22118
22119 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
22120 Reported by: Pavel Pisa.
22121
8c717950
VS
221222010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22123
22124 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
22125
904935c3
VS
221262010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22127
22128 Merge grub_ieee1275_map_physical into grub_map and rename to
22129 grub_ieee1275_map
22130
22131 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
22132 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
22133 Remove.
22134 * kern/ieee1275/openfw.c (grub_map): Rename to ...
22135 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
22136 necessary.
22137 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
22138
5b59a4e3
VS
221392010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22140
22141 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
22142 opening and not after.
22143
69e137e8
VS
221442010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22145
22146 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
22147 constants.
22148
2c0fcc36
VS
221492010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22150
22151 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
22152 (alloc_phys): Use ALIGN_UP instead of align_addr.
22153
8c6052ce
VS
221542010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22155
22156 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
22157
17cec782
VS
221582010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22159
22160 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
22161
e0128bbd
VS
221622010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22163
22164 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
22165 verbose dprintf.
22166
ca62070b
VS
221672010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22168
22169 Fix over-4GiB seek on sparc64.
22170
22171 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
22172 Replace pos_i and pos_lo with pos. All users updated.
22173 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
22174 New constant.
22175 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
22176 Likewise.
22177 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
22178 and pos_lo.
22179
bdca2607
VS
221802010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22181
22182 * util/grub-mkrawimage.c (main): Call set_program_name.
22183
da278c4d
VS
221842010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22185
22186 Properly align 64-bit targets.
22187
22188 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
22189 (generate_image): Use ALIGN_ADDR.
22190
b274d734
VS
221912010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22192
22193 Properly create cross-endian images.
22194
22195 * include/grub/types.h (grub_host_to_target_addr): New macro
22196 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
22197
82da2062
VS
221982010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22199
22200 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
22201
7cae4377
VS
222022010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
22203
22204 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
22205
22206 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
22207 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
22208 (grub_linux_boot): Divide by 64K when on VESA.
22209
65a533e7
VS
222102010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
22211
22212 Support GRUB_GFXPAYLOAD_LINUX.
22213
22214 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
22215 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
22216
dd01d397
VS
222172010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
22218
22219 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
22220 to show messages instead of discarding them.
22221 Process errors after executing command and not before. Keep old method
22222 too as precaution.
22223
660960d6
VS
222242010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
22225
22226 * configure.ac: Check for ft2build.h.
22227
62509f04
VS
222282010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22229
22230 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
22231
473df63d
VS
222322010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22233
22234 * genkernsyms.sh.in: Use TARGET_CC.
22235
c98d2a13
CW
222362010-02-07 Colin Watson <cjwatson@ubuntu.com>
22237
22238 * NEWS: Update.
22239
6e14234c
VS
222402010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22241
22242 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
22243 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
22244 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 22245
b255e9cf
YB
222462010-02-07 Yves Blusseau <blusseau@zetam.org>
22247
6e14234c 22248 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 22249
98e6959d
VS
222502010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22251
22252 Fix warnings in grub-emu when compiling with maximum warning options.
22253
22254 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
22255 (grub_arch_modules_addr): Return 0 and not NULL.
22256 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 22257 (xstrdup): Use newstr instead of dup.
f88d801b
VS
22258 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
22259 of disk to dsk to avoid shadowing.
74e4934e
VS
22260 (find_free_slot): Fix prototype.
22261 * util/getroot.c (grub_util_is_dmraid): Make static.
22262 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
22263 Add missing prototype.
22264 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 22265
74e31b5c
VS
222662010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22267
22268 * loader/i386/linux.c (grub_linux_setup_video): Handle error
22269 appropriately.
22270
6b2ad14b
VS
222712010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22272
22273 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
22274 code out.
22275
8f891adc
VS
222762010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22277
22278 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
22279 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
22280 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
22281 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
22282 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
22283 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
22284
74b45184
VS
222852010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22286
22287 * include/grub/err.h (grub_err_printf): Don't export.
22288
a4bced77
VS
222892010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22290
22291 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
22292
007d0695
VS
222932010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22294
22295 * include/grub/i18n.h (grub_gettext_dummy): Removed.
22296 * kern/misc.c (grub_gettext_dummy): Make static.
22297
b6c0d9c2
VS
222982010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22299
22300 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
22301 by non-valid ones.
22302 * kern/term.c (grub_putchar): Likewise.
22303
f51a90d0
VS
223042010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22305
22306 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
22307 buggy hook call and memory leak.
22308
6846cec5
VS
223092010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22310
22311 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
22312
468d69fe
VS
223132010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22314
22315 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
22316
51906b8c
VS
223172010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22318
22319 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
22320 modevar.
22321 Return grub_errno on allocation error.
22322
09706ce5
VS
223232010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22324
22325 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
22326
911df80c
YB
223272010-02-06 Yves Blusseau <blusseau@zetam.org>
22328
22329 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
22330 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
22331
3746a6bc
VS
223322010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22333
22334 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
22335 non-pxe disk.
22336 (grub_pxefs_open): Likewise.
22337
09706ce5
VS
223382010-02-06 Robert Millan <rmh.grub@aybabtu.com>
22339
22340 * util/grub.d/10_hurd.in: Add --class information to menuentries.
22341 * util/grub.d/10_kfreebsd.in: Likewise.
22342 * util/grub.d/10_linux.in: Likewise.
22343
7cc192d9
VS
223442010-02-06 Colin D Bennett <colin@gibibit.com>
22345
22346 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
22347 (gfxmenu_mod_SOURCES): New variable.
22348 (gfxmenu_mod_CFLAGS): Likewise.
22349 (gfxmenu_mod_LDFLAGS): Likewise.
22350 * include/grub/term.h (grub_term_set_current_output): Declare
22351 argument as const.
22352 * docs/gfxmenu-theme-example.txt: New file.
22353 * gfxmenu/gfxmenu.c: Likewise.
22354 * gfxmenu/gui_box.c: Likewise.
22355 * gfxmenu/gui_canvas.c: Likewise.
22356 * gfxmenu/gui_circular_progress.c: Likewise.
22357 * gfxmenu/gui_image.c: Likewise.
22358 * gfxmenu/gui_label.c: Likewise.
22359 * gfxmenu/gui_list.c: Likewise.
22360 * gfxmenu/gui_progress_bar.c: Likewise.
22361 * gfxmenu/gui_string_util.c: Likewise.
22362 * gfxmenu/gui_util.c: Likewise.
22363 * gfxmenu/icon_manager.c: Likewise.
22364 * gfxmenu/model.c: Likewise.
22365 * gfxmenu/named_colors.c: Likewise.
22366 * gfxmenu/theme_loader.c: Likewise.
22367 * gfxmenu/view.c: Likewise.
22368 * gfxmenu/widget-box.c: Likewise.
22369 * include/grub/gfxmenu_model.h: Likewise.
22370 * include/grub/gfxmenu_view.h: Likewise.
22371 * include/grub/gfxwidgets.h: Likewise.
22372 * include/grub/gui.h: Likewise.
22373 * include/grub/gui_string_util.h: Likewise.
22374 * include/grub/icon_manager.h: Likewise.
22375
223762010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22377
22378 Agglomerate scrolling in gfxterm.
22379
22380 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
22381 (grub_virtual_screen_setup): Initialise 'total_screen'.
22382 (write_char): Split to ...
22383 (paint_char): ... this ...
22384 (write_char): ... and this.
22385 (paint_char): Handle delayed scrolling.
22386 (draw_cursor): Likewise.
22387 (scroll_up): Split to ...
22388 (real_scroll): ... this ...
22389 (scroll_up): ... and this.
22390 (real_scroll): Handle multi-line scroll and draw below-the-bottom
22391 characters.
22392 (grub_gfxterm_refresh): Call real_scroll.
22393
223942010-02-06 Colin D Bennett <colin@gibibit.com>
22395
22396 * include/grub/misc.h (grub_iscntrl): New inline function.
22397 (grub_isalnum): Likewise.
22398 (grub_strtol): Likewise.
22399
224002010-02-06 Colin D Bennett <colin@gibibit.com>
22401
22402 * normal/menu_text.c (get_entry_number): Move from here ...
22403 * normal/menu.c (get_entry_number): ... moved here.
22404 * include/grub/menu.h (grub_menu_get_default_entry_index):
22405 New prototype.
22406 * normal/menu.c (grub_menu_get_default_entry_index): New function.
22407 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
22408 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
22409 (grub_menu_viewer_should_return): Likewise.
22410 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
22411 * normal/menu_text.c (run_menu): Enable menu switching.
22412 * normal/menu_viewer.c (should_return): New variable.
22413 (menu_viewer_changed): Likewise.
22414 (grub_menu_viewer_show_menu): Handle menu viewer changes.
22415 (grub_menu_viewer_should_return): New function.
22416 (menuviewer_write_hook): Likewise.
22417 (grub_menu_viewer_init): Likewise.
22418
224192010-02-06 Colin D Bennet <colin@gibibit.com>
224202010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22421
22422 Support for gfxterm in a window.
22423
22424 * include/grub/gfxterm.h: New file.
22425 * include/grub/video.h (struct grub_video_rect): New declaration.
22426 (grub_video_rect_t): Likewise.
22427 * term/gfxterm.c (struct grub_gfxterm_window): New type.
22428 (refcount): New variable.
22429 (render_target): Likewise.
22430 (window): Likewise.
22431 (repaint_callback): Likewise.
22432 (grub_virtual_screen_setup): Use 'render_target'.
22433 (init_window): New function.
22434 (grub_gfxterm_init_window): Likewise.
22435 (grub_gfxterm_init): Check reference counter.
22436 Use init_window.
22437 (destroy_window): New function.
22438 (grub_gfxterm_destroy_window): Likewise.
22439 (grub_gfxterm_fini): Check reference counter.
22440 Use destroy_window.
22441 (redraw_screen_rect): Restore viewport.
22442 Use 'render_target' and 'window'.
22443 Call 'repaint_callback'.
22444 (write_char): Use 'render_target'.
22445 (draw_cursor): Likewise.
22446 (scroll_up): Restore viewport.
22447 Use 'render_target' and 'window'.
22448 Call 'repaint_callback'.
22449 (grub_gfxterm_cls): Likewise.
22450 (grub_gfxterm_refresh): Use 'window'.
22451 (grub_gfxterm_set_repaint_callback): New function.
22452 (grub_gfxterm_background_image_cmd): Use 'window'.
22453 (grub_gfxterm_get_term): New function.
22454 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
22455
224562010-02-06 Colin D Bennett <colin@gibibit.com>
22457
22458 Bitmap scaling support.
22459
22460 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
22461 (bitmap_scale_mod_SOURCES): New variable.
22462 (bitmap_scale_mod_CFLAGS): Likewise.
22463 (bitmap_scale_mod_LDFLAGS): Likewise.
22464 * include/grub/bitmap_scale.h: New file.
22465 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
22466 (background_image_cmd_options): New variable.
22467 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
22468 (cmd): Rename and change type to ...
22469 (background_image_cmd_handle): ... this. All users updated.
22470 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
22471 * video/bitmap_scale.c: New file.
22472
224732010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22474
22475 SDL support.
22476
22477 * Makefile.in (LIBSDL): New variable.
22478 (enable_grub_emu_sdl): Likewise.
22479 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
22480 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
22481 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
22482 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
22483 * util/sdl.c: New file.
22484
224852010-02-06 Colin D Bennett <colin@gibibit.com>
224862010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22487
22488 Double buffering support.
22489
22490 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
22491 * include/grub/video.h: Update comment.
22492 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
22493 New type.
22494 (grub_video_fb_doublebuf_blit_init): New prototype.
22495 * term/gfxterm.c (scroll_up): Support double buffering.
22496 (grub_gfxterm_refresh): Likewise.
22497 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
22498 (grub_video_fb_doublebuf_blit_init): Likewise.
22499 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
22500 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
22501 'displayed_page', 'render_page' and 'update_screen'.
22502 (grub_video_vbe_fini): Free offscreen buffer.
22503 (doublebuf_pageflipping_commit): New function.
22504 (doublebuf_pageflipping_update_screen): Likewise.
22505 (doublebuf_pageflipping_init): Likewise.
22506 (double_buffering_init): Likewise.
22507 (grub_video_vbe_setup): Enable doublebuffering.
22508 (grub_video_vbe_swap_buffers): Implement.
22509 (grub_video_vbe_set_active_render_target): Handle double buffering.
22510 (grub_video_vbe_get_active_render_target): Likewise.
22511 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
22512 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
22513 (grub_video_vbe_enable_double_buffering): Likewise.
22514 (grub_video_vbe_swap_buffers): Use update_screen.
22515 (grub_video_set_mode): Use double buffering.
22516
225172010-02-06 Robert Millan <rmh.grub@aybabtu.com>
22518
22519 * maintainance/gentrigtables.py: Remove.
22520 * lib/trig.c: Likewise.
22521
22522 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
22523
22524 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
22525 `trigtables.c'.
22526 (trigtables.c): New rule.
22527 (gentrigtables): Likewise.
22528 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
22529
225302010-02-06 Robert Millan <rmh.grub@aybabtu.com>
22531
22532 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
22533 integer constants.
22534
225352010-02-06 Colin D Bennet <colin@gibibit.com>
22536
22537 Trigonometry support.
22538
22539 * include/grub/trig.h: New file.
22540 * lib/trig.c: Likewise.
22541 * maintainance/gentrigtables.py: Likewise.
22542 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
22543 (trig_mod_SOURCES): New variable.
22544 (trig_mod_CFLAGS): Likewise.
22545 (trig_mod_LDFLAGS): Likewise.
22546
5562834e
VS
225472010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22548
22549 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
22550 disk devices.
22551
4f8528fc
VS
225522010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22553
22554 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
22555 error.
22556
2b4068e9
VS
225572010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
22558
22559 * util/hostdisk.c (open_device): Don't use partition device when reading
22560 before the partition.
22561 (grub_util_biosdisk_read): Don't read from partition and before the
22562 partition in single operation.
22563 (grub_util_biosdisk_write): Don't write to partition and before the
22564 partition in single operation.
22565
399f6e4d
TL
225662010-02-03 Torsten Landschoff <torsten@debian.org>
22567
22568 * kern/disk.c (grub_disk_read): Fix offset computation when reading
22569 last sectors.
22570
996649b0
VS
225712010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
22572
22573 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
22574 CDROM reads.
22575 (grub_biosdisk_write): Refuse to write to CDROM.
22576
3b205d4d
VS
225772010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
22578
22579 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
22580
61e89d9d
VS
225812010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
22582
22583 * font/font.c (find_glyph): Check that bmp_idx is available before
22584 using it.
22585 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
22586 with (font == NULL).
22587
bf7fcba2
CS
225882010-01-28 Christian Schmitt <chris@ilovelinux.de>
22589
22590 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
22591
f45d2663
BC
225922010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
22593
22594 * include/grub/script_sh.h (sourcecode): Add const qualifier.
22595 * util/grub-script-check.c (getline): Fix empty lines case.
22596
ec1444e6
RM
225972010-01-28 Robert Millan <rmh.grub@aybabtu.com>
22598
22599 * Makefile.in (check): Exit with fail status when one of the tests
22600 fails.
22601 * tests/example_functional_test.c (example_test): Fix reversed assert.
22602 * tests/example_unit_test.c (example_test): Likewise.
22603
2e1cb9bb
CW
226042010-01-28 Colin Watson <cjwatson@ubuntu.com>
22605
22606 * util/grub.d/10_linux.in: This script does not use any of the
22607 contents of gettext.sh, only the external command `gettext', so stop
22608 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
22609 the same prefix as GRUB.)
22610 * util/grub.d/10_kfreebsd.in: Likewise.
22611
63533ab0
VS
226122010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
22613
22614 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
22615 of the line.
22616
989e1f93
VS
226172010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
22618
22619 * kern/disk.c (grub_disk_read): Fix offset computation when reading
22620 last sectors.
22621
e709ebe2
VS
226222010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
22623
22624 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
22625 having a 4KiB and not 32KiB buffer size.
22626
27dea7ed
RM
226272010-01-27 Robert Millan <rmh.grub@aybabtu.com>
22628
22629 * util/hostfs.c: Include `<errno.h>'.
22630 (grub_hostfs_read): Handle errors from fseeko() and fread().
22631
67667b9c
RM
226322010-01-27 Robert Millan <rmh.grub@aybabtu.com>
22633
22634 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
22635 loop when using read hooks on files whose size isn't sector-aligned.
22636
c294d9d8
RM
226372010-01-27 Robert Millan <rmh.grub@aybabtu.com>
22638
22639 Remove unused parameter.
22640
22641 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
22642 (grub_iso9660_open): Remove initialization of `data->length'.
22643
af75a9f1
RM
226442010-01-27 Robert Millan <rmh.grub@aybabtu.com>
22645
22646 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
22647 memleak conditions.
22648
254e2ce5 226492010-01-27 Carles Pina i Estany <carles@pina.cat>
22650
22651 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
22652 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
22653
b510928c 226542010-01-26 Carles Pina i Estany <carles@pina.cat>
22655
22656 * util/bin2h.c (usage): Fix warning (space after backslash).
22657
aa2f9dd2 226582010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 22659
22660 * font/font.c: Include `grub/fontformat.h.
22661 Remove font file format constants.
22662 (grub_font_load): Use the new macros.
22663 * include/grub/fontformat.h: New file.
22664 * util/grub-mkfont.c: Include `grub/fontformat.c'.
22665 (write_font_pf2): Use the new macros.
22666
94e7e712
RM
226672010-01-26 Robert Millan <rmh.grub@aybabtu.com>
22668
22669 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
22670 does.
22671
3973a59a
RM
226722010-01-26 Robert Millan <rmh.grub@aybabtu.com>
22673
22674 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
22675
22676 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
22677 (_start): Macroify `0x7F'.
22678
22679 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
22680 (make_install_device): Use "(pxe)" as fallback prefix when booting
22681 via PXE.
22682
42e0cba3
GS
226832010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
22684
22685 * configure.ac: Reset LIBS after check for libgcc symbols.
22686
847effd8
CW
226872010-01-25 Colin Watson <cjwatson@ubuntu.com>
22688
22689 * util/hostdisk.c (open_device): Add trailing newline to debug
22690 message.
22691
ea4a7e35
GS
226922010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
22693
22694 * configure.ac: Check for `limits.h'.
22695 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
22696
67951a53
RM
226972010-01-24 Robert Millan <rmh.grub@aybabtu.com>
22698
22699 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
22700 capitalize error strings.
22701
c273d4ce
ST
227022010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
22703
22704 * util/grub.d/10_hurd.in: Add a recovery mode.
22705
69be5b74
VS
227062010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
22707
22708 * configure.ac: Check for libgcc symbols with -nostdlib.
22709
fc9e5810
BC
227102010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
22711
22712 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
22713
4b358c0a
VS
227142010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
22715
22716 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
22717 stack since heap may be unavailable at that point.
22718 (grub_ofconsole_gotoxy): Likewise.
22719
454fcd1c
VS
227202010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
22721
22722 * configure.ac: Check for _restgpr_14_x.
22723 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
22724 and _savegpr_* prototypes.
22725
566863ca
RM
227262010-01-22 Robert Millan <rmh.grub@aybabtu.com>
22727
22728 Use generic grub_reboot() for i386-efi.
22729
22730 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
22731 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
22732 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
22733
bf86e59a
VS
227342010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
22735
22736 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
22737 presence of "prefix" variable as it breaks when normal.mod is
22738 embedded.
22739
d645e0f8
VS
227402010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
22741
22742 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
22743 stack since heap is unavailable at that point.
22744
f9ab2e25
VS
227452010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
22746
22747 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
22748 (grub_freebsd_bootinfo): Rewritten.
22749 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
22750
01fc7054
VS
227512010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
22752
22753 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
22754
caab4fd6
RM
227552010-01-21 Robert Millan <rmh.grub@aybabtu.com>
22756
22757 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
22758 domain now.
22759
67eb1427
FZ
227602010-01-20 Felix Zielcke <fzielcke@z-51.de>
22761
22762 * util/misc.c (make_system_path_relative_to_its_root): Change the work
22763 around for handling "/" to the correct fix. Fix a memory leak. Use
22764 xstrdup instead of strdup.
22765
a9ed4ff3
VS
227662010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22767
22768 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
22769
227702010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
22771
22772 Optimise glyph lookup by Basic Multilingual Plane lookup array.
22773
22774 * font/font.c (struct grub_font): New member 'bmp_idx'.
22775 (font_init): Initialise 'bmp_idx'.
22776 (load_font_index): Fill 'bmp_idx'.
22777 (find_glyph): Make inline. Use bmp_idx for BMP characters.
22778
48209f4f
VS
227792010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22780
22781 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
22782 unnecessary calls.
22783
9f0a4bb7
VS
227842010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22785
22786 Move context handling out of the kernel.
22787
22788 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
22789 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
22790 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
22791 * conf/i386-efi.rmk: Likewise.
22792 * conf/i386-ieee1275.rmk: Likewise.
22793 * conf/i386-pc.rmk: Likewise.
22794 * conf/powerpc-ieee1275.rmk: Likewise.
22795 * conf/sparc64-ieee1275.rmk: Likewise.
22796 * conf/x86_64-efi.rmk: Likewise.
22797 * include/grub/env.h: Include grub/menu.h.
22798 (grub_env_var_type): Removed.
22799 (grub_env_var): Replaced field 'type' with 'global'.
22800 (grub_env_find): New prototype.
22801 (grub_env_context_open): Remove EXPORT_FUNC.
22802 (grub_env_context_close): Likewise.
22803 (grub_env_export): Likewise.
22804 (grub_env_set_data_slot): Removed.
22805 (grub_env_get_data_slot): Likewise.
22806 (grub_env_unset_data_slot): Likewise.
22807 (grub_env_unset_menu): New prototype.
22808 (grub_env_set_menu): Likewise.
22809 (grub_env_get_menu): Likewise.
22810 * include/grub/env_private.h: New file.
22811 * include/grub/normal.h (grub_context_init): New prototype.
22812 (grub_context_fini): Likewise.
22813 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
22814 * normal/context.c (grub_cmd_export): ... to here.
22815 * kern/env.c: Include env_private.h.
22816 (HASHSZ): Moved to include/grub/env_private.h.
22817 (grub_env_context): Likewise.
22818 (grub_env_sorted_var): Likewise.
22819 (current_context): Renamed from this ...
22820 (grub_current_context): ...to this. 'static' removed. All users updated.
22821 (grub_env_find): Removed 'static'.
22822 (grub_env_context_open): Moved to normal/context.c.
22823 (grub_env_context_close): Likewise.
22824 (grub_env_export): Likewise.
22825 (mangle_data_slot_name): Removed.
22826 (grub_env_set_data_slot): Likewise.
22827 (grub_env_get_data_slot): Likewise.
22828 (grub_env_unset_data_slot): Likewise.
22829 * kern/main.c (grub_set_root_dev): Don't export root.
22830 It will be done later.
22831 (grub_main): Don't export prefix.
22832 It will be done later.
22833 * normal/context.c: New file.
22834 * normal/main.c (free_menu): Use grub_env_unset_menu.
22835 (grub_normal_add_menu_entry): Use grub_env_get_menu.
22836 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
22837 (GRUB_MOD_INIT(normal)): Call grub_context_init.
22838 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
22839
8dd35b8c
VS
228402010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22841
22842 setpci support.
22843
22844 * commands/setpci.c: New file.
22845 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
22846 (setpci_mod_SOURCES): New variable.
22847 (setpci_mod_CFLAGS): Likewise.
22848 (setpci_mod_LDFLAGS): Likewise.
22849
449193d5
VS
228502010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22851
22852 Byte-addressable PCI configuration space.
22853
22854 * bus/pci.c (grub_pci_make_address): Use byte address instead of
22855 dword address.
22856 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
22857 GRUB_PCI_REG_CACHELINE.
22858 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
22859 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
22860 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
22861 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
22862 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
22863 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
22864 grub_pci_make_address.
22865 (lock_rom_area): Likewise.
22866 * commands/lspci.c (grub_lspci_iter): Use macroses
22867 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
22868 of grub_pci_make_address.
22869 * disk/ata.c (grub_ata_pciinit): Likewise.
22870 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
22871 (GRUB_PCI_REG_VENDOR): Likewise.
22872 (GRUB_PCI_REG_DEVICE): Likewise.
22873 (GRUB_PCI_REG_COMMAND): Likewise.
22874 (GRUB_PCI_REG_STATUS): Likewise.
22875 (GRUB_PCI_REG_REVISION): Likewise.
22876 (GRUB_PCI_REG_CLASS): Likewise.
22877 (GRUB_PCI_REG_CACHELINE): Likewise.
22878 (GRUB_PCI_REG_LAT_TIMER): Likewise.
22879 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
22880 (GRUB_PCI_REG_BIST): Likewise.
22881 (GRUB_PCI_REG_ADDRESSES): Likewise.
22882 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22883 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22884 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22885 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22886 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22887 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22888 (GRUB_PCI_REG_CIS_POINTER): Likewise.
22889 (GRUB_PCI_REG_SUBVENDOR): Likewise.
22890 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
22891 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
22892 (GRUB_PCI_REG_CAP_POINTER): Likewise.
22893 (GRUB_PCI_REG_IRQ_LINE): Likewise.
22894 (GRUB_PCI_REG_IRQ_PIN): Likewise.
22895 (GRUB_PCI_REG_MIN_GNT): Likewise.
22896 (GRUB_PCI_REG_MAX_LAT): Likewise.
22897 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
22898 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
22899 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 22900 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
22901 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
22902 space.
22903
96d73208
RM
229042010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22905
22906 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
22907 can be reliably determined to be supported.
22908
d4484482
RM
229092010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22910
22911 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
22912 that VESA is supported.
22913 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
22914 supported.
22915
00308ecf
VS
229162010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22917
22918 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
22919
f66924a4
RM
229202010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22921
22922 * util/misc.c (make_system_path_relative_to_its_root): Work around
22923 special-casing of "/", as previous incarnation of this routine did.
22924
cbca0ada
VS
229252010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22926
22927 Fix any-emu compilation.
22928
22929 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
22930 * grub_bin2h_SOURCES: New variable.
22931
34a66d99
RM
229322010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22933
22934 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
22935
94fabf58
RM
229362010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22937
22938 * util/grub.d/00_header.in: Fix handling of locale_dir.
22939
02cf98ca
VS
229402010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22941
22942 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
22943 as possible unifont location (Gentoo).
22944 Reported by: Alexander Brüning
22945
327dbcd7
VS
229462010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22947
22948 Don't try to generate lists for kernel.img.
22949
22950 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
22951 (pkglib_MODULES): Remove kernel.img.
22952 (kernel_img_EXPORTS): Removed.
22953 (kernel_img_RELOCATABLE): New variable.
22954 * conf/x86_64-efi.rmk: Likewise.
22955 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
22956
ca467290
VS
229572010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22958
22959 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
22960 grub_xasprintf or grub_snprintf.
22961 (grub_vsprintf): Likewise.
22962 (grub_snprintf): New proto.
22963 (grub_vsnprintf): Likewise.
22964 (grub_xasprintf): Likewise.
22965 (grub_xvasprintf): Likewise.
22966 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
22967 (grub_sprintf): Removed.
22968 (grub_vsnprintf): New function.
22969 (grub_snprintf): Likewise.
22970 (grub_xvasprintf): Likewise.
22971 (grub_xasprintf): Likewise.
22972 (grub_vsprintf): Renamed to ...
22973 (grub_vsnprintf_real): ...this. New argument max_len.
22974
aca655fd
BC
229752010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
22976
22977 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
22978 fix grub-script-check warning.
22979
7ee92c32
VS
229802010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22981
22982 * include/grub/font.h (grub_font_load): Fix prototype.
22983
f80927ca
VS
229842010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22985
22986 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
22987
119c50ea
VS
229882010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22989
22990 * include/grub/x86_64/at_keyboard.h: New file.
22991
47d5f3c1
VS
229922010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22993
22994 * loader/mips/linux.c: Include missing grub/i18n.h.
22995
55ff5266
RM
229962009-12-20 Robert Millan <rmh.grub@aybabtu.com>
22997
22998 * normal/menu.c (notify_execution_failure): Clarify error message.
22999
c893cc87
RM
230002009-12-20 Robert Millan <rmh.grub@aybabtu.com>
23001
23002 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
23003 return value (and revert all return statements). Update users.
23004
917dd370
CW
230052010-01-20 Dan Merillat <debian@dan.merillat.org>
23006
23007 * kern/device.c (grub_device_iterate): Allocate new part_ent
23008 structure based on sizeof (*p) rather than sizeof (p->next), to
23009 account for structure padding.
23010
23011 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
23012 disk is NULL, which might happen for LVM physical volumes with no
23013 LVM signature.
23014
d4a4ee57
RM
230152009-12-20 Robert Millan <rmh.grub@aybabtu.com>
23016
23017 * loader/mips/linux.c (grub_cmd_initrd)
23018 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
23019
230202009-12-20 Robert Millan <rmh.grub@aybabtu.com>
23021
23022 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
23023 (grub_video_video_init, grub_video_bitmap_init)
23024 (grub_font_manager_init, grub_term_gfxterm_init)
23025 (grub_at_keyboard_init): New extern declarations.
23026 (grub_machine_init): Initialize gfxterm and at_keyboard.
23027
23028 * kern/main.c (grub_main): Revert grub_printf delay kludge.
23029
23030 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
23031 `gfxterm.mod' into core image.
23032
23033 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
23034 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
23035 (kernel_img_FORMAT): Copy to ...
23036
23037 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
23038 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
23039 (kernel_img_FORMAT): ... here, and ...
23040
23041 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
23042 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
23043 (kernel_img_FORMAT): ... here.
23044
23045 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
23046 and input (at_keyboard) terminals in kernel.
23047 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
23048
23049 (pkglib_MODULES): Remove `pci.mod'.
23050 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
23051 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
23052 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
23053 (at_keyboard_mod_LDFLAGS): Remove variables.
23054
230552010-01-11 Felix Zielcke <fzielcke@z-51.de>
23056
23057 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
23058
230592009-12-10 Robert Millan <rmh.grub@aybabtu.com>
23060
23061 * include/grub/mips/libgcc.h: Only export symbols for functions
23062 that libgcc provides.
23063
230642009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
23065
23066 MIPS support.
23067
23068 * bus/bonito.c: New file.
23069 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
23070 GRUB_PCI_NUM_DEVICES.
23071 * term/i386/pc/serial.c: Move to ...
23072 * term/serial.c: ... here. All users updated.
23073 * util/i386/pc/grub-mkimage.c: Move to ...
23074 * util/grub-mkrawimage.c: ... here. All users updated.
23075 * term/i386/pc/at_keyboard.c: Move to ...
23076 * term/at_keyboard.c: ... here. All users updated.
23077 * conf/mips-qemu-mips.rmk: New file.
23078 * conf/mips-yeeloong.rmk: Likewise.
23079 * conf/mips.rmk: Likewise.
23080 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
23081 mipsel-qemu-mips.
23082 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
23083 to port addresses.
23084 (grub_ata_pciinit): Support CS5536.
23085 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
23086 * font/font_cmd.c (loadfont_command): Open file before passing it to
23087 grub_font_load.
23088 (pseudo_file_read): New function.
23089 (pseudo_file_close): Likewise.
23090 (pseudo_fs): New structure.
23091 (load_font_module): New function.
23092 (GRUB_MOD_INIT(font_manager)): Load embedded font.
23093 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
23094 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
23095 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
23096 * include/grub/i386/at_keyboard.h: Split into ...
23097 * include/grub/at_keyboard.h: ... this ...
23098 * include/grub/i386/at_keyboard.h: ... and this.
23099 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
23100 New prototype.
23101 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
23102 updated.
23103 (grub_elf64_size): Likewise.
23104 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
23105 filename.
23106 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
23107 * include/grub/i386/coreboot/serial.h: Rewritten.
23108 * include/grub/i386/ieee1275/serial.h: Include
23109 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
23110 * include/grub/i386/pc/serial.h: Moved from here ...
23111 * include/grub/serial.h: ... to here. All users updated.
23112 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
23113 (GRUB_PCI_NUM_BUS): Likewise.
23114 (GRUB_PCI_NUM_DEVICES): Likewise.
23115 (grub_pci_device_map_range): Add missing volatile keyword.
23116 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
23117 * include/grub/mips/at_keyboard.h: New file.
23118 * include/grub/mips/cache.h: Likewise.
23119 * include/grub/mips/io.h: Likewise.
23120 * include/grub/mips/kernel.h: Likewise.
23121 * include/grub/mips/libgcc.h: Likewise.
23122 * include/grub/mips/pci.h: Likewise.
23123 * include/grub/mips/qemu-mips/boot.h: Likewise.
23124 * include/grub/mips/qemu-mips/kernel.h: Likewise.
23125 * include/grub/mips/qemu-mips/loader.h: Likewise.
23126 * include/grub/mips/qemu-mips/memory.h: Likewise.
23127 * include/grub/mips/qemu-mips/serial.h: Likewise.
23128 * include/grub/mips/qemu-mips/time.h: Likewise.
23129 * include/grub/mips/relocator.h: Likewise.
23130 * include/grub/mips/time.h: Likewise.
23131 * include/grub/mips/types.h: Likewise.
23132 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
23133 * include/grub/mips/yeeloong/boot.h: Likewise.
23134 * include/grub/mips/yeeloong/kernel.h: Likewise.
23135 * include/grub/mips/yeeloong/loader.h: Likewise.
23136 * include/grub/mips/yeeloong/memory.h: Likewise.
23137 * include/grub/mips/yeeloong/pci.h: Likewise.
23138 * include/grub/mips/yeeloong/serial.h: Likewise.
23139 * include/grub/mips/yeeloong/time.h: Likewise.
23140 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
23141 * kern/elf.c (grub_elf32_size): New parameter. All users
23142 updated.
23143 (grub_elf64_size): Likewise.
23144 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
23145 Load modules before saying "Welcome to GRUB!".
23146 Call grub_refresh after saying "Welcome to GRUB!".
23147 * kern/mips/cache.S: New file.
23148 * kern/mips/cache_flush.S: Likewise.
23149 * kern/mips/dl.c: Likewise.
23150 * kern/mips/init.c: Likewise.
23151 * kern/mips/qemu-mips/init.c: Likewise.
23152 * kern/mips/startup.S: Likewise.
23153 * kern/mips/yeeloong/init.c: Likewise.
23154 * kern/term.c (grub_putcode): Handle NULL terminal.
23155 (grub_getcharwidth): Likewise.
23156 (grub_getkey): Likewise.
23157 (grub_checkkey): Likewise.
23158 (grub_getkeystatus): Likewise.
23159 (grub_getxy): Likewise.
23160 (grub_getwh): Likewise.
23161 (grub_gotoxy): Likewise.
23162 (grub_cls): Likewise.
23163 (grub_setcolorstate): Likewise.
23164 (grub_setcolor): Likewise.
23165 (grub_getcolor): Likewise.
23166 (grub_refresh): Likewise.
23167 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
23168 (write_jump): Add hatch nop.
23169 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
23170 * lib/mips/setjmp.S: New file.
23171 * loader/mips/linux.c: Likewise.
23172 * term/i386/pc/at_keyboard.c: Move from here ...
23173 * term/at_keyboard.c: ... to here.
23174 * term/i386/pc/serial.c: Moved from here ...
23175 * term/serial.c: ... to here. All users updated.
23176 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
23177 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
23178 (serial_translate_key_sequence): Avoid deadlock.
23179 (grub_serial_getkey): Handle backspace.
23180 (grub_serial_putchar): Fix newline handling.
23181 * util/i386/pc/grub-mkimage.c: Move from here ...
23182 * util/grub-mkrawimage.c: ... to here. All users updated.
23183 (generate_image): New parameters 'font_path' and 'format'.
23184 Support embedding font.
23185 Use grub_host_to_target* instead of grub_cpu_to_le*.
23186 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
23187 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
23188 (options): New option "--font".
23189 (usage): Likewise.
23190 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
23191 (main): Handle "--font".
23192 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
23193 (grub_virtual_screen_setup): Set bg_color_display.
23194 (redraw_screen_rect): Use bg_color_display instead of incorrect
23195 bg_color.
23196 (grub_gfxterm_cls): Likewise.
23197 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
23198 Support embedding config file.
23199 (add_segments): Likewise.
23200 (options): New option "--config".
23201 (main): Handle "--config".
23202 * video/sm712.c: New file.
23203
25c2b5b3
RM
232042010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23205
23206 Fix parallel builds.
23207
23208 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
23209 font.c depend on ascii.h).
23210
232112010-01-12 Carles Pina i Estany <carles@pina.cat>
23212
23213 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
23214
232152010-01-11 Carles Pina i Estany <carles@pina.cat>
23216
23217 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
23218 By default: disabled.
23219 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
23220 parameter.
23221
232222010-01-10 Carles Pina i Estany <carles@pina.cat>
23223
23224 * font/font.c: Update copyright years.
23225 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
23226
232272010-01-10 Carles Pina i Estany <carles@pina.cat>
23228
23229 * font/font.c: Include `ascii.h'.
23230 (ASCII_BITMAP_SIZE): New macro.
23231 (ascii_font_glyph): Define.
23232 (ascii_glyph_lookup): New function.
23233 (grub_font_get_string_width): Change comment. If glyph not found, use
23234 ascii_glyph_lookup.
23235 (grub_font_get_glyph_with_fallback): If glyph not available returns
23236 ascii_glyph_lookup.
23237 * util/grub-mkfont.c (file_formats): New enum.
23238 (options): Add `ascii-bitmaps' new option.
23239 (usage): Add `asii-bitmaps' new option.
23240 (write_font_ascii_bitmap): New function.
23241 (write_font): Rename to ...
23242 (write_font_p2): ... this. Remove print_glyphs call.
23243 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
23244 used. Call print_glyphs.
23245 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
23246
232472010-01-14 Robert Millan <rmh.grub@aybabtu.com>
23248
23249 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
23250 (grub_bin2h_SOURCES): New variable.
23251 * util/bin2h.c: New file.
23252
915fc1b8
VS
232532010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23254
23255 * include/multiboot.h: Resynced with spec.
23256 * include/multiboot2.h: Likewise.
23257 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
23258 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
23259
9444b678
RM
232602010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23261
23262 * include/grub/term.h (grub_term_register_input,
23263 grub_term_register_output): Check return of terminal init()
23264 routines, and abort if errors are raised.
23265
23266 * commands/terminal.c: Update copyright year.
23267
cba98e8d
RM
232682010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23269
23270 * commands/terminal.c (grub_cmd_terminal_input)
23271 (grub_cmd_terminal_output): Check return of terminal init()
23272 routines, and abort if errors are raised.
23273
6f7db5d6
VS
232742010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
23275
23276 * include/grub/i386/bsd.h: Fix include pathes.
23277
262bff8d
VS
232782010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
23279
23280 Add missing *BSD copyright headers.
23281
23282 * include/grub/aout.h: Add BSD licence.
23283 * include/grub/i386/bsd.h: Parts under different licences moved to ...
23284 * include/grub/i386/freebsd_linker.h: ... here,
23285 * include/grub/i386/freebsd_reboot.h: ... here,
23286 * include/grub/i386/netbsd_bootinfo.h: ... here,
23287 * include/grub/i386/netbsd_reboot.h: ... here,
23288 * include/grub/i386/openbsd_bootarg.h: ... here,
23289 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
23290 licence to each file.
23291
b2cab848
RM
232922010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23293
23294 * acinclude.m4: Remove `nop' assembly instruction; it's not
23295 implemented by all architectures.
23296
2cb6be4b
RM
232972010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23298
23299 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
23300 ELILO. This is no longer necessary.
23301
a2eaee15
BC
233022010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
23303
23304 Added new tool, grub-scrit-check to verify grub.cfg syntax.
23305
23306 * util/grub-script-check.c: grub-script-check tool.
23307 * conf/common.rmk: Make rules for grub-script-check.
23308
88d17012
RM
233092010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23310
23311 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
23312 spotting it back in 2008. Shame on me for forgetting he did.
23313
23314 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
23315
8040619d
RM
233162010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23317
23318 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
23319 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
23320 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
23321 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
23322 (GRUB_VIDEO_TYPE_EFI): Rename to ...
23323 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
23324
a0c2a0f6
RM
233252010-01-17 Robert Millan <rmh.grub@aybabtu.com>
23326
23327 * include/grub/test.h: Add license header.
23328 * tests/example_functional_test.c: Likewise.
23329 * tests/example_unit_test.c: Likewise.
23330 * tests/lib/functional_test.c: Likewise.
23331 * tests/lib/test.c: Likewise.
23332 * tests/lib/unit_test.c: Likewise.
23333
b0b13907
VS
233342010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
23335
23336 Use flag-based instead of hook-based video mode selection and "auto"
23337 keyword.
23338
23339 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
23340 (grub_video_set_mode): Changed prototype. All users updated.
23341 (grub_video_check_mode_flag): New inline function.
23342 * video/video.c (parse_modespec): New function.
23343 (grub_video_set_mode): Parse flags and keywords.
23344
ea379330 233452010-01-17 Carles Pina i Estany <carles@pina.cat>
23346
23347 * util/misc.c (grub_util_info): Fix the order of the parameters in a
23348 fprintf call.
23349
e15c215e
FZ
233502010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
23351
23352 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
23353
409ae1c9 233542010-01-16 Carles Pina i Estany <carles@pina.cat>
23355
23356 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
23357 string.
23358 * util/grub-emu.c (usage): Likewise.
23359 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
23360 * util/i386/efi/grub-mkimage.c (usage): Likewise.
23361 * util/i386/pc/grub-mkimage.c (usage): Likewise.
23362 * util/i386/pc/grub-setup.c (usage): Likewise.
23363
70a14d3d 233642010-01-16 Carles Pina i Estany <carles@pina.cat>
23365
23366 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
23367 the message.
23368 (grub_util_info): Likewise.
23369 (grub_util_error): Likewise.
23370 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
23371 and/or new lines in `grub_util_warna', `grub_util_info',
23372 `grub_util_error' calls.
23373 * util/getroot.c: Likewise.
23374 * util/grub-editenv.c: Likewise.
23375 * util/grub-emu.c: Likewise.
23376 * util/grub-fstest.c: Likewise.
23377 * util/grub-mkdevicemap.c: Likewise.
23378 * util/grub-mkfont.c: Likewise.
23379 * util/grub-mkpasswd-pbkdf2.c: Likewise.
23380 * util/grub-mkrelpath.c: Likewise.
23381 * util/grub-pe2elf.c: Likewise.
23382 * util/grub-probe.c: Likewise.
23383 * util/hostdisk.c: Likewise.
23384 * util/i386/efi/grub-mkimage.c: Likewise.
23385 * util/i386/pc/grub-mkimage.c: Likewise.
23386 * util/i386/pc/grub-setup.c: Likewise.
23387 * util/ieee1275/ofpath.c: Likewise.
23388 * util/mkisofs/eltorito.c: Likewise.
23389 * util/mkisofs/rock.c: Likewise.
23390 * util/mkisofs/write.c: Likewise.
23391 * util/raid.c: Likewise.
23392 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
23393 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23394
a0b766fc
VS
233952010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
23396
23397 Enable multiboot on non-pc.
23398
23399 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
23400 multiboot.mod and multiboot2.mod to ...
23401 * conf/i386.rmk (pkglib_MODULES): ... here.
23402 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
23403 Moved to ...
23404 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
23405 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
23406 Moved to ...
23407 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
23408 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
23409 Moved to ...
23410 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
23411 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
23412 Moved to ...
23413 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
23414 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
23415 relocator.mod.
23416 (ata_mod_SOURCES): Removed.
23417 (ata_mod_CFLAGS): Likewise.
23418 (ata_mod_LDFLAGS): Likewise.
23419 (relocator_mod_SOURCES): Removed.
23420 (relocator_mod_CFLAGS): Likewise.
23421 (relocator_mod_ASFLAGS): Likewise.
23422 (relocator_mod_LDFLAGS): Likewise.
23423 Include i386.mk.
23424 * include/grub/x86_64/multiboot.h: New file.
23425 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
23426 Terminate EFI.
23427
884ade56
VS
234282010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
23429
23430 Video multiboot support.
23431
23432 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
23433 New prototype.
23434 * include/multiboot.h: Resynced with multiboot specification.
23435 * include/multiboot2.h: Likewise.
23436 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
23437 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
23438 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
23439 (HAS_VGA_TEXT): Likewise.
23440 (accepts_video): New variable.
23441 (grub_multiboot_set_accepts_video): New function.
23442 (grub_multiboot_get_mbi_size): Account for video structures.
23443 (set_video_mode): New function.
23444 (retrieve_video_parameters): Likewise.
23445 (grub_multiboot_make_mbi): Fill video fields.
23446
0d90e8a6
VS
234472010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
23448
23449 Video driver ids.
23450
23451 * include/grub/video.h (grub_video_driver_id): New type.
23452 (grub_video_adapter): New member 'id'. All users updated.
23453 (grub_video_get_driver_id): New proto.
23454 * video/video.c (grub_video_get_driver_id): New function.
23455
5c71db1b 234562010-01-14 Carles Pina i Estany <carles@pina.cat>
23457
23458 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
23459 `var=val'.
23460
cca15b52 234612010-01-14 Carles Pina i Estany <carles@pina.cat>
23462
23463 * normal/cmdline.c (print_completion): Gettextizze.
23464
c586fbb2 234652001-01-14 Carles Pina i Estany <carles@pina.cat>
23466
23467 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
23468
ba2f6848 234692010-01-14 Carles Pina i Estany <carles@pina.cat>
23470
23471 * gettext/gettext.c (grub_gettext_translate): Push and pop
23472 grub_errno.
23473 (grub_gettext_delete_list): Change comment style.
23474 * kern/err.c (grub_error): Gettextizze.
23475 (grub_fatal): Gettextizze.
23476
0a46429a
RM
234772010-01-14 Robert Millan <rmh.grub@aybabtu.com>
23478
23479 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
23480 (grub_linux16_real_boot): ... this.
23481 * kern/i386/loader.S: Likewise.
23482 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
23483 (grub_linux16_boot): New function. Switches to text mode and calls
23484 grub_linux16_real_boot().
23485
23486 * loader/i386/bsd.c: Include `<grub/video.h>'.
23487 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
23488 text mode before calling grub_unix_real_boot().
23489
23490 * loader/i386/multiboot.c: Include `<grub/video.h>'.
23491 (grub_multiboot_boot): Switch to text mode before calling
23492 grub_relocator32_boot().
23493
23494 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
23495 (grub_chainloader_boot): Switch to text mode before calling
23496 grub_chainloader_real_boot().
23497
d6f93a66
RM
234982010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
234992010-01-05 Colin Watson <cjwatson@ubuntu.com>
23500
23501 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
23502 non-empty value.
23503
235042010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
235052010-01-05 Colin Watson <cjwatson@ubuntu.com>
23506
23507 * util/grub.d/00_header.in: Define a "savedefault" function for use
23508 in menu entries.
23509 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
23510
235112010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
235122010-01-05 Colin Watson <cjwatson@ubuntu.com>
23513
23514 * util/grub-mkconfig_lib.in (save_default_entry): Only set
23515 saved_entry if boot_once is unset.
23516 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
23517 previous saved entry (i.e. grub-reboot).
23518
235192009-12-08 Colin Watson <cjwatson@ubuntu.com>
23520
23521 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
23522
235232009-12-08 Colin Watson <cjwatson@ubuntu.com>
23524
23525 * util/grub.d/00_header.in: Use `set var=val' rather than plain
23526 `var=val'.
23527 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
23528
235292009-12-08 Colin Watson <cjwatson@ubuntu.com>
23530
23531 * util/grub-reboot.in: Fix --version output.
23532 * util/grub-set-default.in: Likewise.
23533
235342009-12-08 Colin Watson <cjwatson@ubuntu.com>
23535
23536 * util/grub.d/00_header.in: Silently ignore zero-sized environment
23537 blocks.
23538
235392009-12-08 Colin Watson <cjwatson@ubuntu.com>
23540
23541 * util/grub.d/00_header.in: Quote the value assigned to `default',
23542 in case it contains spaces.
23543
235442009-12-08 Colin Watson <cjwatson@ubuntu.com>
23545
23546 * util/grub.d/30_os-prober.in: Fix merge error that moved a
23547 `save_default_entry' call from the macosx case to the linux case.
23548
235492009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
235502009-10-25 Colin Watson <cjwatson@ubuntu.com>
23551
23552 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
23553 in `chosen' environment variable.
23554 * normal/menu_text.c (get_entry_number): Check if the variable
23555 matches the title of a menu entry.
23556 (run_menu): Pass menu to get_entry_number.
23557
23558 * util/grub-reboot.in: New file.
23559 * util/grub-set-default.in: New file.
23560 * conf/common.rmk (grub-reboot): New utility.
23561 (grub-set-default): New utility.
23562
23563 * util/grub-mkconfig_lib.in (save_default_entry): New function.
23564 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
23565 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
23566 move it to `saved_entry' for the next boot. Load environment on
23567 initialisation.
23568 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
23569 * util/grub.d/10_hurd.in: Likewise.
23570 * util/grub.d/10_linux.in (linux_entry): Likewise.
23571 * util/grub.d/10_windows.in: Likewise.
23572 * util/grub.d/30_os-prober.in: Likewise.
23573
23574 * util/grub-install.in: Create environment block.
23575 * util/i386/efi/grub-install.in: Likewise.
23576 * util/ieee1275/grub-install.in: Likewise.
23577 * util/sparc64/ieee1275/grub-install.in: Likewise.
23578
0934d184
BC
235792010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
23580
23581 Unit testing framework for GRUB.
23582
23583 * Makefile.in: Test framework build rules for 'make check'.
23584 * conf/tests.rmk: Build rules for individual tests and framework.
23585
23586 * include/grub/test.h: Header file for whitebox tests.
23587 * tests/lib/functional_test.c: Framework support for whitebox
23588 functional tests.
23589 * tests/lib/test.c: Common whitebox testing code for unit and
23590 functional tests.
23591 * tests/lib/unit_test.c: Framework support for whitebox unit
23592 tests.
23593
23594 * tests/util/grub-shell-tester.in: Support utility for grub-script
23595 tests.
23596 * tests/util/grub-shell.in: Utility to execute grub-script
23597 commands in a Qemu instance.
23598
23599 * tests/example_functional_test.c: Example whitebox functional
23600 test.
23601 * tests/example_grub_script_test.in: Example grub-script test.
23602 * tests/example_scripted_test.in: Example scripted test.
23603 * tests/example_unit_test.c: Example whitebox unit test.
23604
9c4ffeeb
VS
236052010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
23606
23607 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
23608 Add loader/i386/multiboot_mbi.c.
23609 (multiboot2_mod_SOURCES): Likewise.
23610 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
23611 (multiboot2_mod_SOURCES): Likewise.
23612 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
23613 (grub_multiboot_make_mbi): Likewise.
23614 (grub_multiboot_free_mbi): Likewise.
23615 (grub_multiboot_init_mbi): Likewise.
23616 (grub_multiboot_add_module): Likewise.
23617 (grub_multiboot_set_bootdev): Likewise.
23618 * loader/i386/multiboot.c (mbi): Removed.
23619 (mbi_dest): Likewise.
23620 (alloc_mbi): New variable.
23621 (grub_multiboot_payload_size): Removed. All users updated.
23622 (grub_multiboot_pure_size): New variable.
23623 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
23624 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
23625 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
23626 (grub_fill_multiboot_mmap): Likewise.
23627 (grub_multiboot_get_bootdev): Likewise.
23628 (grub_multiboot): Use multiboot_mbi functions.
23629 * loader/i386/multiboot_mbi.c: New file.
23630
17383dfe
VS
236312010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
23632
23633 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
23634 it would result in module crash.
23635
c1f28820
VS
236362010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
23637
23638 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
23639 (grub_ofconsole_getwh): Split to ...
23640 (grub_ofconsole_getwh): ... this.
23641 (grub_ofconsole_dimensions): ...and this.
23642 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
23643
58655a16
RM
236442010-01-13 Robert Millan <rmh.grub@aybabtu.com>
23645
23646 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
23647
10891398
VS
236482010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
23649
23650 * loader/i386/pc/multiboot2.c: Removed stalled file.
23651
0b8a223c
VS
236522010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
23653
23654 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
23655 Reported by: Grégoire Sutre
23656
92ab12b0
RM
236572010-01-11 Robert Millan <rmh.grub@aybabtu.com>
23658
23659 * util/misc.c (canonicalize_file_name): New function.
23660 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
23661 instead of realpath().
23662
a788afb6
CW
236632010-01-11 Colin Watson <cjwatson@ubuntu.com>
23664
23665 * util/grub-install.in (usage): Clarify meaning of --root-directory,
23666 and make it clearer that it's optional. Based on confusion
23667 witnessed on IRC.
23668
ffa8e3d2
VS
236692010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
23670
23671 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
23672 in premature implicit newline.
23673
e9060a9d
VS
236742010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
23675
23676 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
23677 which resulted in garbled command line at the end of screen.
23678
f0d0c0b7
RM
236792010-01-10 Robert Millan <rmh.grub@aybabtu.com>
23680
23681 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
23682 initialization with similar approach as with other Linux loaders.
23683
0e60bae7
RM
236842010-01-10 Robert Millan <rmh.grub@aybabtu.com>
23685
23686 Fix i386-ieee1275 build.
23687
23688 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
23689 and grub_term_height() for video_{width,height} initialization.
23690
236912010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
23692
23693 Fix grub-emu build.
23694
23695 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
23696
cdb3f378
RM
236972010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
236982010-01-09 Robert Millan <rmh.grub@aybabtu.com>
23699
23700 Support for multiple terminals.
23701
23702 * Makefile.in (pkglib_DATA): terminal.lst.
23703 (terminal.lst): New target.
23704 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
23705 (GRUB_MOD_INIT(handler)): Likewise.
23706 (GRUB_MOD_FINI(handler)): Likewise.
23707 * commands/help.c (grub_cmd_help): Handle multiple terminals.
23708 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
23709 * commands/sleep.c (do_print): Use grub_term_restore_pos.
23710 (grub_cmd_sleep): Use grub_term_save_pos.
23711 * commands/terminal.c: New file.
23712 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
23713 commands/terminal.c and lib/charset.c.
23714 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
23715 (pkglib_MODULES): Add terminal.mod.
23716 (terminal_mod_SOURCES): New variable.
23717 (terminal_mod_CFLAGS): Likewise.
23718 (terminal_mod_LDFLAGS): Likewise.
23719 * genhandlerlist.sh: Don't handle terminals.
23720 * genmk.rb: Generate terminal-*.lst.
23721 * genterminallist.sh: New file.
23722 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
23723 (grub_is_valid_utf8): Likewise.
23724 (grub_utf8_to_ucs4_alloc): Likewise.
23725 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
23726 (grub_menu_register_viewer): Changed argument.
23727 (grub_menu_try_text): New proto.
23728 (grub_gfxmenu_try_hook): New declaration.
23729 * include/grub/normal.h (grub_normal_exit_level): New declaration.
23730 (grub_menu_init_page): Additional argument term.
23731 (grub_normal_init_page): Likewise.
23732 (grub_cmdline_get): Arguments simplified.
23733 (grub_utf8_to_ucs4_alloc): Removed.
23734 (grub_print_ucs4): Additional argument term.
23735 (grub_getstringwidth): Likewise.
23736 (grub_print_message_indented): Likewise.
23737 (grub_menu_text_register_instances): New proto.
23738 (grub_show_menu): Likewise.
23739 (read_terminal_list): Likewise.
23740 (grub_set_more): Likewise.
23741 * include/grub/parser.h: Include handler.h.
23742 * include/grub/reader.h: Rewritten.
23743 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
23744 (GRUB_TERM_WIDTH): Changed to function.
23745 (GRUB_TERM_HEIGHT): Likewise.
23746 (GRUB_TERM_BORDER_WIDTH): Likewise.
23747 (GRUB_TERM_BORDER_HEIGHT): Likewise.
23748 (GRUB_TERM_NUM_ENTRIES): Likewise.
23749 (GRUB_TERM_ENTRY_WIDTH): Likewise.
23750 (GRUB_TERM_CURSOR_X): Likewise.
23751 (grub_term_input_class): Likewise.
23752 (grub_term_output_class): Likewise.
23753 (grub_term_outputs_disabled): New declaration.
23754 (grub_term_inputs_disabled): Likewise.
23755 (grub_term_outputs): Likewise.
23756 (grub_term_inputs): Likewise.
23757 (grub_term_register_input): Rewritten.
23758 (grub_term_register_output): Likewise.
23759 (grub_term_unregister_input): Likewise.
23760 (grub_term_unregister_output): Likewise.
23761 (FOR_ACTIVE_TERM_INPUTS): New macro.
23762 (FOR_DISABLED_TERM_INPUTS): Likewise.
23763 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
23764 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
23765 * include/grub/terminfo.h: Add oterm argument to all protypes.
23766 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
23767 Use grub_rescue_run.
23768 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
23769 All users updated.
23770 * kern/reader.c: Removed. All users updated.
23771 * kern/rescue_reader.c (grub_rescue_init): Removed.
23772 (grub_rescue_reader): Likewise.
23773 (grub_register_rescue_reader): Likewise.
23774 (grub_rescue_run): New function based on kern/reader.c.
23775 * kern/term.c: Adapted for multiterm.
23776 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
23777 (grub_is_valid_utf8): Likewise.
23778 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
23779 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
23780 right terminal.
23781 * loader/i386/linux.c (grub_linux_boot): Likewise.
23782 * normal/auth.c (grub_username_get): New function.
23783 (grub_auth_check_authentication): Use grub_username_get.
23784 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
23785 * normal/color.c: Adapt for multiterm.
23786 * normal/main.c (read_config_file): Don't use grub_reader_loop.
23787 (grub_normal_init_page): Additional argument term.
23788 (read_lists): Call read_terminal_lists.
23789 (grub_enter_normal_mode): Call grub_cmdline_run.
23790 Handle grub_normal_exit_level.
23791 (grub_cmd_normal): Make reentrant.
23792 (grub_cmd_normal_exit): New function.
23793 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
23794 * normal/menu.c: Adapt for multiterm.
23795 * normal/menu_entry.c: Likewise.
23796 * normal/menu_text.c: Likewise.
23797 * normal/menu_viewer.c: Removed. All users updated.
23798 * normal/term.c: New file.
23799 * util/console.c: Change order of includes to workaround a bug in
23800 ncurses headers.
23801 * term/terminfo.c: New argument oterm on all exported functions.
23802 All users updated.
23803 * util/grub-editenv.c (grub_term_input_class): Removed.
23804 (grub_term_output_class): Likewise.
23805
1a064917
RM
238062010-01-09 Robert Millan <rmh.grub@aybabtu.com>
23807
23808 Make loader output a bit more user-friendly.
23809
23810 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
23811 is being loaded. Likewise for the Hurd.
23812
23813 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
23814 that kernel of FreeBSD ${version} is being loaded.
23815
23816 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
23817 grub_dprintf().
23818 (grub_cmd_initrd): Likewise.
23819 * util/grub.d/10_linux.in (linux_entry): Print message indicating
23820 that Linux ${version} is being loaded. Likewise for initrd.
23821
5ce0a83a 238222010-01-09 Carles Pina i Estany <carles@pina.cat>
23823
23824 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
23825
809bbfeb 238262010-01-08 Carles Pina i Estany <carles@pina.cat>
23827
23828 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
23829 (GRUB_MOD_INIT): Gettextizze.
23830 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
23831 (GRUB_MOD_INIT): Gettextizze.
23832 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
23833 (grub_cmd_linux): Capitalise Linux.
23834 (GRUB_MOD_INIT): Gettextizze.
23835 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
23836 (grub_cmd_linux): Capitalise Linux.
23837 (GRUB_MOD_INIT): Gettextizze.
23838 * loader/i386/linux.c: Include `<grub/i18n.h>'.
23839 (grub_cmd_linux): Capitalise Linux.
23840 (GRUB_MOD_INIT): Gettextizze.
23841 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
23842 (GRUB_MOD_INIT): Gettextizze.
23843 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
23844 (grub_cmd_linux): Capitalise Linux.
23845 (GRUB_MOD_INIT): Gettextizze.
23846 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
23847 (grub_cpu_xnu_init): Gettextizze.
23848 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
23849 (GRUB_MOD_INIT): Gettextizze.
23850 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
23851 (GRUB_MOD_INIT): Gettextizze.
23852 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
23853 (grub_linux_load64): Capitalise Linux.
23854 (GRUB_MOD_INIT): Gettextizze.
23855 * loader/xnu.c: Include `<grub/i18n.h>'.
23856 (GRUB_MOD_INIT): Gettextizze.
23857 * po/POTFILES: Add `loader/efi/appleloader.c',
23858 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
23859 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
23860 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
23861 `loader/i386/xnu.c', `loader/multiboot_loader.c',
23862 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
23863 and `loader/xnu.c'.
23864
b394b2ca
RM
238652010-01-08 Robert Millan <rmh.grub@aybabtu.com>
23866
23867 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
23868
238692010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
23870
23871 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
23872 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
23873 * util/mkisofs/mkisofs.c (main): Readjust --version output.
23874
bc8b32b3
RM
238752010-01-07 Robert Millan <rmh.grub@aybabtu.com>
23876
23877 Reset Multiboot 2 support. New loader implements the draft in
23878 /branches/multiboot2 and shares as much code as possible with the
23879 production Multiboot 1 implementation.
23880
23881 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
23882 * loader/multiboot2.c: Likewise.
23883 * loader/i386/multiboot_helper.S: Likewise.
23884 * include/multiboot2.h: Replace with latest version from the draft
23885 in /branches/multiboot2.
23886
23887 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
23888 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
23889 and `loader/multiboot2.c'.
23890 (pkglib_MODULES): Add `multiboot2.mod'.
23891 (multiboot2_mod_SOURCES): New variable.
23892 (multiboot2_mod_LDFLAGS): Likewise.
23893 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
23894
23895 * conf/i386-pc.rmk: Likewise.
23896
23897 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
23898 (multiboot_mod_SOURCES): Remove variable.
23899 (multiboot_mod_LDFLAGS): Likewise.
23900 (multiboot_mod_CFLAGS): Likewise.
23901
23902 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
23903 `<multiboot2.h>' instead of `<multiboot.h>'.
23904 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
23905 (MULTIBOOT_HEADER_MAGIC): New macros.
23906
23907 * loader/multiboot_loader.c (module_version_status): Remove variable.
23908 (find_multi_boot2_header): Remove function.
23909 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
23910 logic. Always check for the Multiboot version we're compiling for.
23911 (grub_cmd_module_loader): Likewise.
23912 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
23913 command instead of `multiboot'.
23914
5d2c52b8
RM
239152010-01-07 Robert Millan <rmh.grub@aybabtu.com>
23916
23917 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
23918 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
23919 all users.
23920
53108d92
RM
239212010-01-07 Robert Millan <rmh.grub@aybabtu.com>
239222010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
23923
23924 Fix breakage introduced with previous commit.
23925
23926 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
23927 commands.
23928 * normal/handler.c (read_handler_list): Revert part of previous commit
23929 affecting this file.
23930 * normal/main.c (read_lists): Move read_handler_list() call back to ...
23931 (grub_normal_execute): ... here.
23932
e2e936b2
RM
239332010-01-07 Robert Millan <rmh.grub@aybabtu.com>
23934
23935 Merge prefix-redefinition-fix branch.
23936
23937 * normal/autofs.c (read_fs_list): Make function capable of being
23938 run multiple times, gracefuly replacing the previous data
23939 structures.
23940 * normal/dyncmd.c (read_command_list): Likewise.
23941 * normal/handler.c (read_handler_list): Likewise.
23942 * normal/main.c (read_lists): New function. Calls all the
23943 list reading functions.
23944 (grub_normal_execute): Use read_lists() instead of calling all
23945 list reading functions explicitly. Register read_lists() as a
23946 variable hook attached to ${prefix}.
23947
607a3701
VS
239482010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
23949
23950 Merge crypto branch.
23951
23952 * Makefile.in (pkglib_DATA): Add crypto.lst.
23953 (crypto.lst): New target.
23954 * commands/hashsum.c: New file.
23955 * commands/password.c (check_password): Use grub_crypto_memcmp.
23956 * commands/password_pbkdf2.c: New file.
23957 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
23958 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
23959 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
23960 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
23961 -I$(srcdir)/lib/libgcrypt_wrap.
23962 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
23963 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
23964 password_pbkdf2.mod.
23965 (crypto_mod_SOURCES): New variable.
23966 (crypto_mod_CFLAGS): Likewise.
23967 (crypto_mod_LDFLAGS): Likewise.
23968 (hashsum_mod_SOURCES): New variable.
23969 (hashsum_mod_CFLAGS): Likewise.
23970 (hashsum_mod_LDFLAGS): Likewise.
23971 (pbkdf2_mod_SOURCES): New variable.
23972 (pbkdf2_mod_CFLAGS): Likewise.
23973 (pbkdf2_mod_LDFLAGS): Likewise.
23974 (password_pbkdf2_mod_SOURCES): New variable.
23975 (password_pbkdf2_mod_CFLAGS): Likewise.
23976 (password_pbkdf2_mod_LDFLAGS): Likewise.
23977 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
23978 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
23979 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
23980 Include conf/gcry.rmk.
23981 * include/grub/auth.h: Rewritten.
23982 * include/grub/crypto.h: New file.
23983 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
23984 * include/grub/normal.h (read_crypto_list): New prototype.
23985 * lib/crypto.c: New file.
23986 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
23987 * lib/pbkdf2.c: Likewise.
23988 * normal/auth.c (grub_auth_strcmp): Removed.
23989 (grub_iswordseparator): Likewise.
23990 (grub_auth_strword): Likewise.
23991 (is_authenticated): Use grub_strword.
23992 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
23993 and grub_strword. Pass entered password to authentication callback.
23994 * normal/crypto.c: New file.
23995 * normal/main.c: Call read_crypto_list.
23996 * util/grub-mkpasswd-pbkdf2.c: New file.
23997 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
23998
42841caa
VS
239992010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
24000
24001 Fix descent and ascent calculation.
24002
24003 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
24004 (options): New option "asce".
24005 (usage): Likewise.
24006 (add_char): Ignore invalid glyphs for descent calculation.
24007 Calculate ascent from actual content.
24008 (print_glyphs): Use 'asce'.
24009 (write_font): Likewise. Allow ascent override.
24010 (main): Handle "asce" option.
24011
e7730de7 240122010-01-06 Carles Pina i Estany <carles@pina.cat>
24013
24014 * kern/err.c: Include `<grub/i18n.h>'.
24015 (grub_print_error): Add full stop. Gettextizze.
24016 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
24017 (grub_bsd_load_elf): Capitalise ELF.
24018 (grub_cmd_freebsd_loadenv): Add `s' in error string.
24019 (grub_cmd_freebsd_module): Likewise.
24020 (grub_cmd_freebsd_module_elf): Likewise.
24021 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
24022
40e3a41f 240232010-01-06 Carles Pina i Estany <carles@pina.cat>
24024
24025 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
24026 * commands/search_file.c (HELP_MESSAGE): New macro.
24027 * commands/search_label.c (HELP_MESSAGE): Likewise.
24028 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
24029 * po/POTFILES: Add `commands/search_file.c',
24030 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
24031 `commands/search.c'.
24032
83507e68
RM
240332010-01-05 Robert Millan <rmh.grub@aybabtu.com>
24034
24035 * config.rpath: Update from Gnulib.
24036
465c787b
YB
240372010-01-05 Yves Blusseau <blusseau@zetam.org>
24038
24039 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
24040
6581dd3a
YB
240412010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
24042
24043 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
24044
3bff18c5
CW
240452010-01-05 Colin Watson <cjwatson@ubuntu.com>
24046
24047 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
24048 arguments to fread so that we get a return value in bytes, rather
24049 than something that will normally be rounded down to 0.
24050 Adjust error handling to avoid producing garbage when size_t is not
24051 the same size as long long.
24052
a1368118
CW
240532010-01-05 Colin Watson <cjwatson@ubuntu.com>
24054
24055 * util/mkisofs/write.c (padblock_write): Check return value of
24056 fread.
24057
7c302978
RM
240582010-01-05 Robert Millan <rmh.grub@aybabtu.com>
24059
24060 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
24061 floppy images now.
24062
24063 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
24064
e33ace06
RM
240652010-01-04 Robert Millan <rmh.grub@aybabtu.com>
24066
24067 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
24068 instead of manual alignment.
24069 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
24070 verbose). Avoid attempts to read past end of the device
24071 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
24072 but GRUB_DISK_CACHE_SIZE may exceed that).
24073
4b856776
RM
240742010-01-04 Robert Millan <rmh.grub@aybabtu.com>
24075
24076 * commands/crc.c (grub_cmd_crc): Abort on read errors.
24077 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
24078 it to upper layer.
24079
52c2d97f
VS
240802010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
24081
24082 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
24083 New constant.
24084 (grub_efi_piwg_device_path): New structure
24085 (grub_efi_piwg_device_path_t): New type.
24086 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
24087 (devpath_1): Transform to a structure. All users updated.
24088 (devpath_2): Likewise.
24089 (devpath_3): Likewise.
24090 (devpath_4): Likewise.
24091 (devpath_5): Likewise.
24092
98ff6a54
VS
240932010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
24094
24095 * loader/efi/appleloader.c: Restored. Update all users.
24096
3a73dcb6
RM
240972010-01-03 Robert Millan <rmh.grub@aybabtu.com>
24098
24099 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
24100
24101 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
24102 (struct boot_blocklist): Move from here ...
24103 * include/grub/i386/pc/boot.h [ASM_FILE]
24104 (struct grub_boot_blocklist): ... to here. Update all users.
24105 (setup): Only initialize `start' member of `first_block'
24106 structure. Add assert() calls to verify the other members.
24107
24108 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
24109 (generate_image): Fix broken blocklist length initialization.
24110 Add assert() call to verify blocklist `segment' field.
24111
ab0eeb0c
RM
241122010-01-03 Robert Millan <rmh.grub@aybabtu.com>
24113
24114 * loader/efi/appleloader.c: Remove. Update all users.
24115
58bc8bd5
RM
241162010-01-03 Robert Millan <rmh.grub@aybabtu.com>
24117
24118 * boot/i386/pc/boot.S: Update copyright year.
24119 * boot/i386/pc/cdboot.S: Likewise.
24120 * boot/i386/pc/diskboot.S: Likewise.
24121 * boot/i386/pc/lnxboot.S: Likewise.
24122 * boot/i386/pc/pxeboot.S: Likewise.
24123 * bus/pci.c: Likewise.
24124 * commands/cmp.c: Likewise.
24125 * commands/help.c: Likewise.
24126 * commands/hexdump.c: Likewise.
24127 * commands/i386/pc/halt.c: Likewise.
24128 * commands/i386/pc/play.c: Likewise.
24129 * commands/i386/pc/vbeinfo.c: Likewise.
24130 * commands/ls.c: Likewise.
24131 * commands/test.c: Likewise.
24132 * disk/dmraid_nvidia.c: Likewise.
24133 * disk/i386/pc/biosdisk.c: Likewise.
24134 * disk/ieee1275/nand.c: Likewise.
24135 * disk/ieee1275/ofdisk.c: Likewise.
24136 * disk/lvm.c: Likewise.
24137 * disk/raid.c: Likewise.
24138 * disk/raid6_recover.c: Likewise.
24139 * disk/scsi.c: Likewise.
24140 * fs/affs.c: Likewise.
24141 * fs/cpio.c: Likewise.
24142 * fs/ext2.c: Likewise.
24143 * fs/hfs.c: Likewise.
24144 * fs/iso9660.c: Likewise.
24145 * fs/ntfs.c: Likewise.
24146 * fs/sfs.c: Likewise.
24147 * fs/udf.c: Likewise.
24148 * fs/ufs.c: Likewise.
24149 * fs/xfs.c: Likewise.
24150 * gencmdlist.sh: Likewise.
24151 * genmk.rb: Likewise.
24152 * include/grub/disk.h: Likewise.
24153 * include/grub/efi/api.h: Likewise.
24154 * include/grub/efi/efi.h: Likewise.
24155 * include/grub/efi/pe32.h: Likewise.
24156 * include/grub/elf.h: Likewise.
24157 * include/grub/fs.h: Likewise.
24158 * include/grub/i386/at_keyboard.h: Likewise.
24159 * include/grub/i386/pc/memory.h: Likewise.
24160 * include/grub/i386/pc/vbe.h: Likewise.
24161 * include/grub/i386/pci.h: Likewise.
24162 * include/grub/i386/tsc.h: Likewise.
24163 * include/grub/ieee1275/ieee1275.h: Likewise.
24164 * include/grub/ntfs.h: Likewise.
24165 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
24166 * include/grub/sparc64/libgcc.h: Likewise.
24167 * include/grub/symbol.h: Likewise.
24168 * include/grub/types.h: Likewise.
24169 * include/multiboot2.h: Likewise.
24170 * io/gzio.c: Likewise.
24171 * kern/device.c: Likewise.
24172 * kern/disk.c: Likewise.
24173 * kern/efi/efi.c: Likewise.
24174 * kern/efi/mm.c: Likewise.
24175 * kern/elf.c: Likewise.
24176 * kern/file.c: Likewise.
24177 * kern/i386/dl.c: Likewise.
24178 * kern/i386/pc/init.c: Likewise.
24179 * kern/i386/pc/startup.S: Likewise.
24180 * kern/ieee1275/ieee1275.c: Likewise.
24181 * kern/ieee1275/init.c: Likewise.
24182 * kern/main.c: Likewise.
24183 * kern/mm.c: Likewise.
24184 * kern/powerpc/dl.c: Likewise.
24185 * kern/sparc64/dl.c: Likewise.
24186 * kern/x86_64/dl.c: Likewise.
24187 * lib/hexdump.c: Likewise.
24188 * loader/efi/appleloader.c: Likewise.
24189 * loader/i386/ieee1275/linux.c: Likewise.
24190 * loader/i386/pc/chainloader.c: Likewise.
24191 * loader/i386/pc/linux.c: Likewise.
24192 * loader/i386/pc/multiboot2.c: Likewise.
24193 * loader/ieee1275/multiboot2.c: Likewise.
24194 * loader/multiboot2.c: Likewise.
24195 * loader/multiboot_loader.c: Likewise.
24196 * loader/powerpc/ieee1275/linux.c: Likewise.
24197 * normal/completion.c: Likewise.
24198 * normal/menu_entry.c: Likewise.
24199 * partmap/apple.c: Likewise.
24200 * util/grub.d/10_hurd.in: Likewise.
24201 * util/hostfs.c: Likewise.
24202 * video/readers/png.c: Likewise.
24203
e2d70b5c
CW
242042010-01-03 Colin Watson <cjwatson@ubuntu.com>
24205
24206 * include/grub/misc.h (GNUC_PREREQ): New macro.
24207 (ATTRIBUTE_ERROR): New macro.
24208 * include/grub/list.h (grub_bad_type_cast_real): Use
24209 ATTRIBUTE_ERROR.
24210
a173283f 242112010-01-03 Carles Pina i Estany <carles@pina.cat>
24212
24213 * normal/menu_text.c (print_message): Change messages.
24214
7fa7ff74 242152010-01-03 Carles Pina i Estany <carles@pina.cat>
24216
24217 * normal/menu_entry.c (store_completion): Gettextizze.
24218
136d24f6 242192010-01-03 Carles Pina i Estany <carles@pina.cat>
24220
24221 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
24222
f936862e 242232010-01-03 Carles Pina i Estany <carles@pina.cat>
24224
24225 * po/POTFILES: Sort correctly.
24226
29c44ad1 242272010-01-03 Carles Pina i Estany <carles@pina.cat>
24228
24229 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
24230 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
24231 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
24232 full stop.
24233 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
24234 summary. Gettextizze the strings.
24235 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
24236 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
24237 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
24238 full stop.
24239 (GRUB_MOD_INIT): Remove command name from summary.
24240 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
24241 summary.
24242 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
24243 * term/i386/pc/serial.c (options): Add full stops.
24244 (GRUB_MOD_INIT): Remove command name from the summary.
24245
77a79592 242462010-01-03 Carles Pina i Estany <carles@pina.cat>
24247
24248 * commands/acpi.c: Gettextizze help strings and/or options. Include
24249 `grub/i18n.h' if needed.
24250 * commands/blocklist.c: Likewise.
24251 * commands/boot.c: Likewise.
24252 * commands/cat.c: Likewise.
24253 * commands/cmp.c: Likewise.
24254 * commands/configfile.c: Likewise.
24255 * commands/crc.c: Likewise.
24256 * commands/date.c: Likewise.
24257 * commands/echo.c: Likewise.
24258 * commands/efi/fixvideo.c: Likewise.
24259 * commands/efi/loadbios.c: Likewise.
24260 * commands/gptsync.c: Likewise.
24261 * commands/halt.c: Likewise.
24262 * commands/handler.c: Likewise.
24263 * commands/hdparm.c: Likewise.
24264 * commands/hexdump.c: Likewise.
24265 * commands/i386/cpuid.c: Likewise.
24266 * commands/i386/pc/drivemap.c: Likewise.
24267 * commands/i386/pc/halt.c: Likewise.
24268 * commands/i386/pc/pxecmd.c: Likewise.
24269 * commands/i386/pc/vbeinfo.c: Likewise.
24270 * commands/i386/pc/vbetest.c: Likewise.
24271 * commands/ieee1275/suspend.c: Likewise.
24272 * commands/keystatus.c: Likewise.
24273 * commands/loadenv.c: Likewise.
24274 * commands/ls.c: Likewise.
24275 * commands/lsmmap.c: Likewise.
24276 * commands/lspci.c: Likewise.
24277 * commands/memrw.c: Likewise.
24278 * commands/minicmd.c: Likewise.
24279 * commands/parttool.c: Likewise.
24280 * commands/password.c: Likewise.
24281 * commands/probe.c: Likewise.
24282 * commands/read.c: Likewise.
24283 * commands/reboot.c: Likewise.
24284 * commands/search.c: Likewise.
24285 * commands/sleep.c: Likewise.
24286 * commands/test.c: Likewise.
24287 * commands/true.c: Likewise.
24288 * commands/usbtest.c: Likewise.
24289 * commands/videotest.c: Likewise.
24290 * commands/xnu_uuid.c: Likewise.
24291 * disk/loopback.c: Likewise.
24292 * hello/hello.c: Likewise.
24293 * loader/i386/bsd.c: Likewise.
24294 * term/i386/pc/serial.c: Likewise.
24295 * po/POTFILES: Add new files.
24296
da8d5c53
CW
242972010-01-02 Colin Watson <cjwatson@ubuntu.com>
24298
24299 * term/i386/pc/at_keyboard.c
24300 (keyboard_controller_wait_untill_ready): Rename to ...
24301 (keyboard_controller_wait_until_ready): ... this. Update all users.
24302
33937904 243032010-01-01 Carles Pina i Estany <carles@pina.cat>
24304
24305 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
24306 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
24307 string using string width.
24308 * normal/menu_text.c (grub_print_message_indented): Use
24309 grub_print_spaces and not print_spaces.
24310 (print_timeout): Likewise.
24311 (print_spaces): Move to...
24312 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
24313
3fd3b8d8
RM
243142010-01-01 Robert Millan <rmh.grub@aybabtu.com>
24315
24316 Import from Gnulib.
24317
24318 * gnulib/getdelim.c: New file.
24319 * gnulib/getline.c: Likewise.
24320
33433555
VS
243212009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
24322
24323 * include/grub/list.h (grub_assert_fail): Removed.
24324 (grub_bad_type_cast_real): New function.
24325 (grub_bad_type_cast): New macro.
24326 (GRUB_AS_LIST): Use grub_bad_type_cast.
24327 (GRUB_AS_LIST_P): Likewise.
e44721e8 24328 (GRUB_AS_NAMED_LIST): Likewise.
33433555 24329 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 24330 (GRUB_AS_PRIO_LIST): Likewise.
33433555 24331 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 24332 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 24333
f5a51306
VS
243342009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
24335
24336 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
24337 Fix syntax error.
24338
90d1e879
RM
243392009-12-29 Robert Millan <rmh.grub@aybabtu.com>
24340
24341 * configure.ac: Check for TARGET_CFLAGS initialization before we
24342 initialize it ourselves (sigh).
24343 Move a few modifications to TARGET_CFLAGS to be unconditional
24344 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
24345 eh_frame)
24346
24347 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
24348 * term/i386/pc/at_keyboard.c
24349 (keyboard_controller_wait_untill_ready): Likewise.
24350 (keyboard_controller_led): Rename `led_status' paramter to avoid
24351 name conflict.
24352
465b5a81 243532009-12-28 Carles Pina i Estany <carles@pina.cat>
24354
24355 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
24356 quotes.
24357
c181849b
VS
243582009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
24359
24360 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
24361
9c8739a4
VS
243622009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
24363
24364 * normal/menu_text.c (grub_print_message_indented): Prevent
24365 past-the-end-of-array dereference.
24366
3e74249c
VS
243672009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
24368
24369 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
24370 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
24371
64fd18ed 243722009-12-27 Carles Pina i Estany <carles@pina.cat>
24373
24374 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
24375 * normal/main.c (grub_normal_read_line): Remove a space from the
24376 default prompt.
24377
714af9b9 243782009-12-27 Carles Pina i Estany <carles@pina.cat>
24379
24380 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
24381 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24382 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
24383 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
24384 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24385 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24386 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
24387
82f3e412 243882009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 24389
24390 * video/readers/jpeg.c (cmd): Declare.
24391 (grub_cmd_jpegtest): Use `grub_command_t' type.
24392 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
24393 Assign to `cmd'.
24394 (GRUB_MOD_FINI): Use `cmd' to unregister.
24395 * video/readers/png.c (cmd): Declare.
24396 (grub_cmd_pngtest): Use `grub_command_t' type.
24397 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
24398 Assign to `cmd'.
24399 (GRUB_MOD_FINI): Use `cmd' to unregister.
24400 * video/readers/tga.c (cmd): Declare.
24401 (grub_cmd_tgatest): Use `grub_command_t' type.
24402 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
24403 Assign to `cmd'.
24404 (GRUB_MOD_FINI): Use `cmd' to unregister.
24405
82f3e412 244062009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 24407
24408 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
24409 stops.
24410 * kern/corecmd.c (grub_register_core_commands): Likewise.
24411 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
24412 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
24413 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
24414 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24415 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
24416 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
24417 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
24418 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
24419 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24420 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24421 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
24422 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
24423 * normal/handler.c (insert_handler): Likewise.
24424 * normal/main.c (GRUB_MOD_INIT): Likewise.
24425 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
24426
fdcdbb66 244272009-12-26 Carles Pina i Estany <carles@pina.cat>
24428
24429 * commands/help.c (grub_cmd_help): Print the command name before the
24430 summary.
24431 (GRUB_MOD_INIT): Remove command name from the summary.
24432 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 24433 string as summary.
fdcdbb66 24434 * lib/arg.c (find_long): Print the command name before the summary.
24435 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
24436 summary.
24437 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
24438 * commands/cat.c (GRUB_MOD_INIT): Likewise.
24439 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
24440 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
24441 * commands/crc.c (GRUB_MOD_INIT): Likewise.
24442 * commands/date.c (GRUB_MOD_INIT): Likewise.
24443 * commands/echo.c (GRUB_MOD_INIT): Likewise.
24444 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
24445 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
24446 * commands/handler.c (GRUB_MOD_INIT): Likewise.
24447 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
24448 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
24449 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
24450 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
24451 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
24452 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
24453 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
24454 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
24455 * commands/ls.c (GRUB_MOD_INIT): Likewise.
24456 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
24457 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
24458 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
24459 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
24460 * commands/password.c (GRUB_MOD_INIT): Likewise.
24461 * commands/probe.c (GRUB_MOD_INIT): Likewise.
24462 * commands/read.c (GRUB_MOD_INIT): Likewise.
24463 * commands/search.c (GRUB_MOD_INIT): Likewise.
24464 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
24465 * commands/test.c (GRUB_MOD_INIT): Likewise.
24466 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
24467 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
24468 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
24469 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
24470 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
24471 * lib/arg.c (GRUB_MOD_INIT): Likewise.
24472 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
24473 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
24474 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
24475 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
24476 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
24477 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
24478 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
24479 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
24480
9c288be2
VS
244812009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
24482
24483 Use search command for preliminar UUID search.
24484
24485 * commands/search.c: Split into ...
24486 * commands/search_wrap.c: ...this
24487 * commands/search.c: ...and this.
24488 * commands/search_file.c: New file.
24489 * commands/search_label.c: New file.
24490 * commands/search_uuid.c: New file.
24491 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
24492 Add commands/search_wrap.c, commands/search_file.c,
24493 commands/search_label.c and commands/search_uuid.c.
24494 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
24495 (search_mod_SOURCES): Set to commands/search_wrap.c.
24496 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
24497 search_label.mod.
24498 (search_fs_file_mod_SOURCES): New variable.
24499 (search_fs_file_mod_CFLAGS): Likewise.
24500 (search_fs_file_mod_LDFLAGS): Likewise.
24501 (search_label_mod_SOURCES): Likewise.
24502 (search_label_mod_CFLAGS): Likewise.
24503 (search_label_mod_LDFLAGS): Likewise.
24504 (search_fs_uuid_mod_SOURCES): New variable.
24505 (search_fs_uuid_mod_CFLAGS): Likewise.
24506 (search_fs_uuid_mod_LDFLAGS): Likewise.
24507 (fs_file_mod_SOURCES): Removed.
24508 (fs_file_mod_CFLAGS): Likewise.
24509 (fs_file_mod_LDFLAGS): Likewise.
24510 (fs_uuid_mod_SOURCES): Removed.
24511 (fs_uuid_mod_CFLAGS): Likewise.
24512 (fs_uuid_mod_LDFLAGS): Likewise.
24513 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
24514 Set to util/grub-install.in.
24515 * disk/fs_file.c: Removed.
24516 * disk/fs_uuid.c: Likewise.
24517 * include/grub/search.h: New file.
24518 * util/grub-install.in: Handle sparc64.
24519 Create and use load.cfg.
24520 * util/sparc64/ieee1275/grub-install.in: Removed.
24521
db943399
VS
245222009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
24523
24524 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
24525 Ignore return status if CF is cleared.
24526 (grub_biosdisk_get_diskinfo_standard): Likewise.
24527
3fdae612
RM
245282009-12-25 Robert Millan <rmh.grub@aybabtu.com>
24529
24530 * term/i386/pc/at_keyboard.c
24531 (keyboard_controller_wait_untill_ready): New function.
24532 (grub_keyboard_controller_write, grub_keyboard_controller_read)
24533 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
24534 for keyboard polling, rather than duplicate the same loop. This
24535 saves a few bytes in code size.
24536
7ebaa2b4
VS
245372009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
24538
24539 Support for (pxe[:server[:gateway]]) syntax and
24540 use environment variable for PXE.
24541
24542 * commands/i386/pc/pxecmd.c (options): Removed.
24543 (print_ip): Removed.
24544 (grub_cmd_pxe): Removed
24545 (grub_cmd_pxe_unload): New function.
24546 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
24547 (grub_pxe_your_ip): Made static.
24548 (grub_pxe_default_server_ip): Likewise.
24549 (grub_pxe_default_gateway_ip): Likewise.
24550 (grub_pxe_blksize): Likewise.
24551 (parse_ip): New function.
24552 (grub_pxe_open): Support server and gateway specification.
24553 (grub_pxe_close): Free disk->data.
24554 (grub_pxefs_open): Use disk->data.
24555 (grub_pxefs_read): Likewise.
24556 (grub_env_write_readonly): New function.
24557 (set_mac_env): Likewise.
24558 (set_env_limn_ro): Likewise.
24559 (parse_dhcp_vendor): Likewise.
24560 (grub_pxe_detect): Set the environment variables.
24561 (set_ip_env): New function.
24562 (write_ip_env): Likewise.
24563 (grub_env_write_pxe_default_server): Likewise.
24564 (grub_env_write_pxe_default_gateway): Likewise.
24565 (grub_env_write_pxe_blocksize): Likewise.
24566 (GRUB_MOD_INIT(pxe)): Set environment variables.
24567 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
24568 (grub_pxe_mac_addr_t): ... this. All users updated.
24569 (grub_pxe_your_ip): Removed.
24570 (grub_pxe_server_ip): Likewise.
24571 (grub_pxe_gateway_ip): Likewise.
24572 (grub_pxe_blksize): Likewise.
24573
ec5f98ab 245742009-12-25 Carles Pina i Estany <carles@pina.cat>
24575
24576 * commands/help.c: Include `<grub/i18n.h>'.
24577 (grub_cmd_help): Gettextizze.
24578 (GRUB_MOD_INIT): Likewise.
24579 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
24580 (GRUB_MOD_INIT): Gettextizze.
24581 * commands/search.c: Include `<grub/i18n.h>'.
24582 (options): Gettextizze.
24583 (GRUB_MOD_INIT): Gettextizze.
24584 * lib/arg.c: Include `<grub/i18n.h>'.
24585 (help_options): Gettextizze.
24586 (find_long): Likewise.
24587 (grub_arg_show_help): Likewise.
24588 * normal/dyncmd.c: Include `<grub/i18n.h>'.
24589 (read_command_list): Gettextizze.
24590 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 24591 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 24592
22815526
RM
245932009-12-25 Robert Millan <rmh.grub@aybabtu.com>
24594
24595 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
24596 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
24597 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
24598 (led_status): New variable.
24599 (keyboard_controller_led): New function.
24600 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
24601 update led status for caps lock, num lock and scroll lock.
24602
0ad46fd7
FZ
246032009-12-25 Felix Zielcke <fzielcke@z-51.de>
24604
24605 * util/hostdisk.c (open_device): Fix a comment.
24606
d0e158c2
RM
246072009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24608
24609 * util/grub-install.in (host_os): New variable.
24610 * util/i386/efi/grub-install.in (host_os): Likewise.
24611
401c0ad6
RM
246122009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24613
24614 * util/mkisofs/write.c (padblock_write): Abort when given an
24615 excedingly large embed image, instead of silently truncating it.
24616
d14d3370
RM
246172009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24618
24619 * include/multiboot.h: Indentation fixes.
24620
eeed10b4
RM
246212009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24622
24623 * include/multiboot.h (struct multiboot_aout_symbol_table)
24624 (struct multiboot_elf_section_header_table): New structure
24625 declarations (stolen from GRUB Legacy).
24626 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
24627 table information.
24628
24629 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
24630 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
24631 type aliases.
24632
681c70ab
RM
246332009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24634
24635 * include/multiboot.h: Make comments src2texi-friendly.
24636
e4d47d8d
RM
246372009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24638
24639 For consistency with [multiboot]/docs/boot.S.
24640
24641 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
24642 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
24643 (MULTIBOOT_MAGIC2): Rename from this ...
24644 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
24645
a0b70bda
RM
246462009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24647
24648 * include/multiboot.h: Remove `<grub/types.h>'.
24649 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
24650 types. Update all users.
24651
61ba42be 246522009-12-25 Carles Pina i Estany <carles@pina.cat>
24653
24654 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
24655 `couldn't' and `can not' by `cannot'.
24656 * commands/i386/pc/drivemap.c: Likewise.
24657 * disk/ata.c: Likewise.
24658 * disk/ieee1275/nand.c: Likewise.
24659 * fs/affs.c: Likewise.
24660 * fs/fat.c: Likewise.
24661 * fs/hfs.c: Likewise.
24662 * fs/hfsplus.c: Likewise.
24663 * fs/iso9660.c: Likewise.
24664 * fs/jfs.c: Likewise.
24665 * fs/minix.c: Likewise.
24666 * fs/reiserfs.c: Likewise.
24667 * fs/sfs.c: Likewise.
24668 * fs/udf.c: Likewise.
24669 * fs/ufs.c: Likewise.
24670 * fs/xfs.c: Likewise.
24671 * loader/powerpc/ieee1275/linux.c: Likewise.
24672 * loader/sparc64/ieee1275/linux.c: Likewise.
24673 * util/grub-probe.c: Likewise.
24674 * util/misc.c: Likewise.
24675
7fd0baee 246762009-12-24 Carles Pina i Estany <carles@pina.cat>
24677
24678 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
24679 grub_errno calls.
24680 * commands/acpi.c: Likewise.
24681 * commands/blocklist.c: Likewise.
24682 * commands/efi/loadbios.c: Likewise.
24683 * commands/i386/pc/drivemap.c: Likewise.
24684 * commands/loadenv.c: Likewise.
24685 * commands/memrw.c: Likewise.
24686 * commands/password.c: Likewise.
24687 * commands/videotest.c: Likewise.
24688 * disk/ata.c: Likewise.
24689 * disk/ata_pthru.c: Likewise.
24690 * disk/dmraid_nvidia.c: Likewise.
24691 * disk/ieee1275/nand.c: Likewise.
24692 * disk/ieee1275/ofdisk.c: Likewise.
24693 * disk/loopback.c: Likewise.
24694 * disk/lvm.c: Likewise.
24695 * disk/mdraid_linux.c: Likewise.
24696 * disk/raid.c: Likewise.
24697 * disk/raid6_recover.c: Likewise.
24698 * disk/scsi.c: Likewise.
24699 * efiemu/main.c: Likewise.
24700 * efiemu/mm.c: Likewise.
24701 * efiemu/pnvram.c: Likewise.
24702 * efiemu/symbols.c: Likewise.
24703 * font/font.c: Likewise.
24704 * fs/cpio.c: Likewise.
24705 * fs/hfsplus.c: Likewise.
24706 * fs/iso9660.c: Likewise.
24707 * fs/jfs.c: Likewise.
24708 * fs/minix.c: Likewise.
24709 * fs/ntfs.c: Likewise.
24710 * fs/ntfscomp.c: Likewise.
24711 * fs/reiserfs.c: Likewise.
24712 * fs/ufs.c: Likewise.
24713 * fs/xfs.c: Likewise.
24714 * gettext/gettext.c: Likewise.
24715 * include/grub/auth.h: Likewise.
24716 * kern/elf.c: Likewise.
24717 * kern/file.c: Likewise.
24718 * kern/ieee1275/init.c: Likewise.
24719 * kern/ieee1275/mmap.c: Likewise.
24720 * kern/ieee1275/openfw.c: Likewise.
24721 * kern/powerpc/dl.c: Likewise.
24722 * kern/sparc64/dl.c: Likewise.
24723 * lib/arg.c: Likewise.
24724 * loader/i386/bsd.c: Likewise.
24725 * loader/i386/bsdXX.c: Likewise.
24726 * loader/i386/efi/linux.c: Likewise.
24727 * loader/i386/efi/xnu.c: Likewise.
24728 * loader/i386/ieee1275/linux.c: Likewise.
24729 * loader/i386/linux.c: Likewise.
24730 * loader/i386/multiboot.c: Likewise.
24731 * loader/i386/pc/linux.c: Likewise.
24732 * loader/i386/pc/multiboot2.c: Likewise.
24733 * loader/i386/xnu.c: Likewise.
24734 * loader/ieee1275/multiboot2.c: Likewise.
24735 * loader/macho.c: Likewise.
24736 * loader/machoXX.c: Likewise.
24737 * loader/multiboot2.c: Likewise.
24738 * loader/multiboot_loader.c: Likewise.
24739 * loader/powerpc/ieee1275/linux.c: Likewise.
24740 * loader/sparc64/ieee1275/linux.c: Likewise.
24741 * loader/xnu.c: Likewise.
24742 * loader/xnu_resume.c: Likewise.
24743 * mmap/i386/pc/mmap.c: Likewise.
24744 * normal/menu_viewer.c: Likewise.
24745 * partmap/acorn.c: Likewise.
24746 * partmap/amiga.c: Likewise.
24747 * partmap/apple.c: Likewise.
24748 * script/lexer.c: Likewise.
24749 * term/gfxterm.c: Likewise.
24750 * term/i386/pc/serial.c: Likewise.
24751 * term/i386/pc/vga.c: Likewise.
24752 * term/ieee1275/ofconsole.c: Likewise.
24753 * term/terminfo.c: Likewise.
24754 * video/bitmap.c: Likewise.
24755 * video/efi_gop.c: Likewise.
24756 * video/efi_uga.c: Likewise.
24757 * video/fb/video_fb.c: Likewise.
24758 * video/i386/pc/vbe.c: Likewise.
24759 * video/readers/tga.c: Likewise.
24760 * video/video.c: Likewise.
24761
0ad46fd7 247622009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
24763
24764 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
24765 * commands/lspci.c: Likewise.
24766 * commands/probe.c: Likewise.
24767 * commands/xnu_uuid.c: Likewise.
24768 * conf/i386-coreboot.rmk: Likewise.
24769 * conf/i386-efi.rmk: Likewise.
24770 * conf/i386-ieee1275.rmk: Likewise.
24771 * conf/i386-pc.rmk: Likewise.
24772 * conf/powerpc-ieee1275.rmk: Likewise.
24773 * conf/sparc64-ieee1275.rmk: Likewise.
24774 * conf/x86_64-efi.rmk: Likewise.
24775 * fs/i386/pc/pxe.c: Likewise.
24776 * gettext/gettext.c: Likewise.
24777 * include/grub/efi/graphics_output.h: Likewise.
24778 * include/grub/i386/pc/memory.h: Likewise.
24779 * kern/env.c: Likewise.
24780 * kern/i386/qemu/startup.S: Likewise.
24781 * lib/i386/pc/biosnum.c: Likewise.
24782 * lib/i386/relocator.c: Likewise.
24783 * lib/i386/relocator_asm.S: Likewise.
24784 * lib/relocator.c: Likewise.
24785 * loader/i386/bsd.c: Likewise.
24786 * loader/i386/multiboot.c: Likewise.
24787 * loader/i386/pc/chainloader.c: Likewise.
24788 * loader/i386/xnu.c: Likewise.
24789 * loader/xnu.c: Likewise.
24790 * normal/main.c: Likewise.
24791 * normal/menu_text.c: Likewise.
24792 * util/getroot.c: Likewise.
24793 * util/grub-mkconfig_lib.in: Likewise.
24794 * util/grub.d/00_header.in: Likewise.
24795 * util/i386/pc/grub-mkimage.c: Likewise.
24796 * util/mkisofs/eltorito.c: Likewise.
24797 * util/mkisofs/exclude.h: Likewise.
24798 * util/mkisofs/hash.c: Likewise.
24799 * util/mkisofs/iso9660.h: Likewise.
24800 * util/mkisofs/joliet.c: Likewise.
24801 * util/mkisofs/mkisofs.c: Likewise.
24802 * util/mkisofs/mkisofs.h: Likewise.
24803 * util/mkisofs/multi.c: Likewise.
24804 * util/mkisofs/name.c: Likewise.
24805 * util/mkisofs/rock.c: Likewise.
24806 * util/mkisofs/tree.c: Likewise.
24807 * util/mkisofs/write.c: Likewise.
24808 * video/efi_gop.c: Likewise.
24809
009ec743
VS
248102009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
24811
24812 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
24813 size counting.
24814
0ad46fd7 248152009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
24816
24817 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
24818 * genmk.rb (class SCRIPT): Modify the target file instead of source.
24819
d3d30ea0
VS
248202009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24821
24822 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
24823 (GRUB_MOD_INIT(memrw)): Update help line.
24824
a34f5c70
VS
248252009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24826
24827 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
24828 Use grub_extcmd_t. All users updated.
24829 (options): New variable.
24830 (grub_cmd_read): Restructure for readability. Support "-v" option.
24831 (grub_cmd_write): Restructure for readability.
24832
0ad46fd7 248332009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
24834
24835 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
24836
0ad46fd7 248372009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
24838
24839 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
24840 with the actual contents of the correspondending make variable.
24841 * util/grub-mkrescue.in (pkglib_DATA): New variable.
24842 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
24843 specifying `*.lst' and `efiemu??.o'
24844
0ad46fd7 248452009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
24846
24847 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
24848 after function name.
24849 Noticed by Rene Engelhard <rene@debian.org>.
24850
dc77a799
VS
248512009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24852
24853 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
24854 (options): New variable.
24855 (iospace): Likewise.
24856 (grub_lspci_iter): List IO spaces if "-i" was given.
24857 (grub_cmd_lspci): Parse options.
24858 (GRUB_MOD_INIT(lspci)): Use extcmd.
24859 (GRUB_MOD_FINI(lspci)): Likewise.
24860
0ad46fd7 248612009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
24862
24863 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
24864 `function' keyword.
24865 Patch by Tony Mancill <tmancill@debian.org>.
24866
b5d5993b
VS
248672009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24868
24869 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
24870 (grub_uhci_portstatus): Likewise.
24871 (grub_uhci_portstatus): Add necessary delay.
11d18281 24872 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 24873
941903f2 248742009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 24875
941903f2 24876 * commands/acpi.c (options): Fix capitalizations and/or full stops.
24877 (GRUB_MOD_INIT): Likewise.
24878 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 24879 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
24880 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 24881 * commands/efi/loadbios.c (enable_rom_area): Likewise.
24882 (enable_rom_area): Likewise.
24883 (GRUB_MOD_INIT): Likewise.
24884 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
24885 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
24886 * commands/handler.c (GRUB_MOD_INIT): Likewise.
24887 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
24888 * commands/hexdump.c (options): Likewise.
24889 * commands/i386/cpuid.c (options): Likewise.
24890 (GRUB_MOD_INIT): Likewise.
24891 * commands/i386/pc/drivemap.c (options): Likewise.
24892 (GRUB_MOD_INIT): Likewise.
24893 * commands/i386/pc/halt (options): Likewise.
24894 (GRUB_MOD_INIT): Likewise.
24895 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
24896 * commands/i386/pc/pxecmd.c (options): Likewise.
24897 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
24898 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
24899 * commands/keystatus.c (options): Likewise.
24900 (GRUB_MOD_INIT): Likewise.
24901 * commands/loadenv.c (options): Likewise.
24902 * commands/ls.c (options): Likewise.
24903 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
24904 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
24905 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
24906 * commands/parttool.c (helpmsg): Likewise.
24907 * commands/probe.c (options): Likewise.
24908 * commands/read.c (GRUB_MOD_INIT): Likewise.
24909 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
24910 * commands/search.c (options): Likewise.
24911 * commands/sleep.c (options): Likewise.
24912 * commands/test.c (GRUB_MOD_INIT): Likewise.
24913 * commands/true.c (GRUB_MOD_INIT): Likewise.
24914 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
24915 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
24916 * lib/arg.c (help_options): Likewise.
e9bbb4e7 24917 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
24918 `$(XGETTEXT)'.
98a50553 24919 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 24920
0ad46fd7 249212009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 24922
ef3c2c3a 24923 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
24924 instead of specifying them explicit.
24925
7922f68b
RM
249262009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24927
24928 * NEWS: Add grub-probe support for GNU/Hurd.
24929
537ce47f
RM
249302009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24931
24932 * NEWS: gettext was added after 1.97.
24933
9b214e3a
RM
249342009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24935
24936 * util/mkisofs/msdos_partition.h: New file (based on
24937 include/grub/msdos_partition.h).
24938 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
24939 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
24940 (ld_options, main): Recognize --protective-msdos-label.
24941 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
24942 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
24943 (padblock_write): If `use_protective_msdos_label' is set, patch a
24944 protective DOS-style label in the output image.
24945
24946 * util/grub-mkrescue.in: Use --protective-msdos-label.
24947
e9309813
RM
249482009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24949
24950 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
24951 boot.
24952
0ae56929
RM
249532009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24954
24955 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
24956 variables.
24957 (ld_options, main): Recognize `--embedded-boot'.
24958 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
24959 declarations.
24960 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
24961 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
24962 (padblock_write): Likewise. Rewrite to support embedded boot image.
24963
24964 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
24965 for BIOS-based disk boot instead of only ElTorito.
24966
b15937b1
RM
249672009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24968
24969 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
24970 build (not needed for bootstrap).
24971
52cc3ce0
RM
249722009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24973
24974 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
24975 from i386-pc build (not needed for bootstrap).
24976 Rewrite a pair of strings.
24977
36f5ff04
RM
249782009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24979
24980 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
24981
973c6c85 249822009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
24983
24984 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
24985
05d21547
AB
249862009-12-21 Andreas Born <futur.andy@googlemail.com>
24987
24988 * kern/env.c (grub_env_context_open): Mark exported variable for
24989 reexport.
24990
0175d51f
AB
249912009-12-21 Andreas Born <futur.andy@googlemail.com>
24992
24993 * kern/env.c (grub_env_export): Create nonexistent variables before
24994 exporting.
24995
7f39d92f 249962009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 24997
7f39d92f 24998 * include/grub/auth.h: Include `<grub/i18n.h>'.
24999 (GRUB_GET_PASSWORD): Gettextizze string.
25000 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
25001 menu_text.c.
25002 (grub_utf8_to_ucs4_alloc): Fix indentation.
25003 (grub_print_ucs4): Likewise.
25004 (grub_getstringwidth): Likewise.
25005 (print_message_indented): New declaration.
25006 * normal/auth.c: Include `<grub/i18n.h>'.
25007 (grub_auth_check_authentication): Gettexttize string.
25008 * normal/cmdline.c: Include `<grub/i18n.h>'.
25009 (grub_cmdline_get): Gettextizze.
25010 * normal/color.c: Include `<grub/i18n.h>'.
25011 (grub_parse_color_name_pair): Gettexttize strings.
25012 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
25013 string (use `print_message_indented').
25014 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
25015 `include/grub/normal.h'.
25016 (print_message_indented): Renamed to ...
25017 (grub_print_message_indented): ... this. Remove `static' qualifer (now
25018 used in normal/main.c).
25019 (print_message): Use `grub_print_message_indented' instead of
25020 `print_message_indented'.
25021 (print_timeout): Likewise.
25022 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
25023 (grub_normal_print_device_info): Gettexttize strings.
25024 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
25025
3041d898
VS
250262009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
25027
25028 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
25029 of arguments. Return number of tokens and not arguments. All users
25030 updated.
25031
de15bf8e
VS
250322009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
25033
25034 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
25035 non-MSDOS paritions.
25036
e0a6ca52
VS
250372009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
25038
25039 * include/grub/types.h (UNUSED): Removed since it conflicts with
25040 NetBSD headers. All users changed to direct __attribute__ ((unused)).
25041 Reported by Grégoire Sutre.
25042
b99518d1 250432009-12-19 Carles Pina i Estany <carles@pina.cat>
25044
25045 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
25046 (grub_print_ucs4_alloc): Likewise.
25047 (grub_getstringwidth): Likewise.
25048 * normal/main.c (grub_normal_init_page): Gettextize version string.
25049 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
25050 (getstringwidth): Renamed to ...
25051 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
25052 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
25053 (grub_print_ucs4): Remove `static' qualifer (now used in
25054 normal/main.c).
25055 * po/POTFILES: Add normal/main.c.
25056
bfd5e52b 250572009-12-19 Carles Pina i Estany <carles@pina.cat>
25058
25059 * normal/menu_text.c (STANDARD_MARGIN): New macro.
25060 (print_message_indented): Add `margin_left' and `margin_right'
25061 parameters.
25062 (print_message): Update `print_message_indented' calls. Adds '\n' to the
25063 strings.
25064 (print_timeout): Use `print_message_indented' to print the message.
25065 Deletes `second_stage' parameter.
25066 (run_menu): Update `print_timeout' calls.
25067
5a1ad2b9
VS
250682009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
25069
25070 Fix console palette on OpenFirmware.
25071
25072 * term/ieee1275/ofconsole.c (MAX): Removed.
25073 (colors): Redone based on VGA palette.
25074 (grub_ofconsole_setcolor): Discard brightness bit since only 8
25075 colors are supported.
25076 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
25077
b045f00a
VS
250782009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
25079
25080 Fix potential EfiEmu double prepare.
25081
25082 * efiemu/main.c (prepared): New variable
25083 (grub_efiemu_unload): Set prepare to '0'.
25084 (grub_efiemu_prepare): Return if already prepared. Set prepared.
25085
25086 set_virtual_address_map support.
25087
25088 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
25089 prototype.
25090 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
25091 prototype.
25092 (grub_efiemu_crc32): Likewise.
25093 (grub_efiemu_crc64): Likewise.
25094 (grub_efiemu_set_virtual_address_map): Likewise.
25095 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
25096 New definition.
25097 (grub_autoefi_set_virtual_address_map): Likewise.
25098 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
25099 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
25100 Restructure flow to accomodate it.
25101 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
25102 (grub_efiemu_crc): Recompute CRC32.
25103 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
25104 (efiemu_ptv_relocated): ... this. Made global. All users updated.
25105 * efiemu/symbols.c (relocated_handle): New variable.
25106 (grub_efiemu_free_syms): Free relocated_handle.
25107 (grub_efiemu_alloc_syms): Allocate relocated_handle.
25108 (grub_efiemu_write_sym_markers): New function.
25109 (grub_efiemu_set_virtual_address_map): Likewise.
25110
25111 Newer XNU parameters.
25112
25113 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
25114 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
25115 (grub_xnu_fill_devicetree): New prototype.
25116 (grub_xnu_heap_real_start): New variable.
25117 * loader/xnu.c (get_name_ptr): New function.
25118 (grub_xnu_load_driver): Fill namelen and name.
25119
25120 64-bit xnu support.
25121
25122 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
25123 and 'loader/macho64.c'.
25124 * conf/i386-pc.rmk: Likewise.
25125 * conf/x86_64-efi.rmk: Likewise.
25126 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
25127 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
25128 * include/grub/macho.h (grub_macho_segment64): New structure.
25129 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
25130 (grub_macho_size32): ... to this.
25131 (grub_macho32_get_entry_point): Renamed from ...
25132 (grub_macho_get_entry_point32): ... to this.
25133 (grub_macho_contains_macho64): New prototype.
25134 (grub_macho_size64): Likewise.
25135 (grub_macho_get_entry_point64): Likewise.
25136 (grub_macho32_load): Renamed from ...
25137 (grub_macho_load32): ... to this.
25138 (grub_macho32_filesize): Renamed from ...
25139 (grub_macho_filesize32): ... to this.
25140 (grub_macho32_readfile): Renamed from ...
25141 (grub_macho_readfile32): ... to this.
25142 (grub_macho_filesize64): New prototype.
25143 (grub_macho_readfile64): Likewise.
25144 (grub_macho_parse32): Likewise.
25145 (grub_macho_parse64): Likewise.
25146 * loader/macho.c: Split into ...
25147 * loader/machoXX.c: ... and this. Replace 32 with XX.
25148 * loader/macho32.c: New file.
25149 * loader/macho64.c: Likewise.
25150 * loader/xnu.c (grub_xnu_is_64bit): New variable.
25151 (grub_cmd_xnu_kernel): Make 32-bit only.
25152 (grub_cmd_xnu_kernel64): New function.
25153 (grub_xnu_load_driver): Support Mach-O 64.
25154 (grub_cmd_xnu_mkext): Likewise.
25155 * util/grub.d/30_os-prober.in (osx_entry): New function.
25156 Generate entries for 64-bit boot too.
25157
25158 Eliminate ad-hoc tree format in XNU and EfiEmu.
25159
25160 * efiemu/main.c (grub_efiemu_prepare): Update comment.
25161 * efiemu/pnvram.c: Rewritten to use environment variables.
25162 All users updated.
25163
25164 Inline utf16_to_utf8.
25165
25166 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
25167 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
25168 All users updated.
25169 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
25170
25171 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
25172 * commands/usbtest.c (grub_usb_get_string): ... move here.
25173 (usb_print_str): Fix error handling.
25174 * include/grub/usb.h (grub_usb_get_string): Remove.
25175
25176 UTF-8 to UTF-16 transformation.
25177
25178 * conf/common.rmk (pkglib_MODULES): Add charset.mod
25179 (charset_mod_SOURCES): New variable.
25180 (charset_mod_CFLAGS): Likewise.
25181 (charset_mod_LDFLAGS): Likewise.
25182 * include/grub/utf.h: New file.
25183 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
25184
25185 Support for device properties.
25186
25187 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
25188 (grub_xnu_devprop_device_header): Likewise.
25189 (grub_xnu_devprop_device_descriptor): Likewise.
25190 (grub_xnu_devprop_add_device): New prototype.
25191 (grub_xnu_devprop_remove_device): Likewise.
25192 (grub_xnu_devprop_remove_property): Likewise.
25193 (grub_xnu_devprop_add_property_utf8): Likewise.
25194 (grub_xnu_devprop_add_property_utf16): Likewise.
25195 (grub_cpu_xnu_init): Likewise.
25196 (grub_cpu_xnu_fini): Likewise.
25197 (grub_cpu_xnu_unload): Likewise.
25198 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
25199 (property_descriptor): Likewise.
25200 (devices): New variable.
25201 (grub_xnu_devprop_remove_property): New function.
25202 (grub_xnu_devprop_add_device): Likewise.
25203 (grub_xnu_devprop_remove_device): Likewise.
25204 (grub_xnu_devprop_add_property): Likewise.
25205 (grub_xnu_devprop_add_property_utf8): Likewise.
25206 (grub_xnu_devprop_add_property_utf16): Likewise.
25207 (hextoval): Likewise.
25208 (grub_cpu_xnu_fill_devprop): Likewise.
25209 (grub_cmd_devprop_load): Likewise.
25210 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
25211 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
25212 (cmd_devprop_load): New variable.
25213 (grub_cpu_xnu_init): New function.
25214 (grub_cpu_xnu_fini): Likewise.
25215 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
25216 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
25217 (grub_cmd_xnu_devtree): Likewise.
25218 (hextoval): New function.
25219 (unescape): Likewise.
25220 (grub_xnu_fill_devicetree): Likewise.
25221
25222 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
25223 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
25224
0945f181
VS
252252009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
25226
25227 Workaround for broken ATI VBE.
25228
25229 * video/i386/pc/vbe.c (last_set_mode): New variable.
25230 (grub_vbe_set_video_mode): Set 'last_set_mode'.
25231 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
25232 (grub_video_vbe_setup): Don't check for reserved flag.
25233
0ad46fd7 252342009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
25235
25236 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
25237 the `find' command.
25238
c179ebe4
VS
252392009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
25240
25241 UUID support for HFS.
25242
25243 * fs/hfs.c (grub_hfs_uuid): New function.
25244 (grub_hfs_fs): New value .uuid.
25245 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
25246
0ad46fd7 252472009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
25248
25249 Fix a segfault with parsing unknown long options.
25250
25251 * util/grub-mkrelpath.c (options): Zero terminate it.
25252
c4a3e41a
CPE
252532009-12-13 Carles Pina i Estany <carles@pina.cat>
25254
25255 * include/grub/misc.h (grub_puts): New declaration.
25256 (grub_puts_): Likewise.
a22008a6 25257 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
25258 (grub_puts_): Likewise.
25259
2e8a7602
RM
252602009-12-13 Robert Millan <rmh.grub@aybabtu.com>
25261
25262 * util/grub-probe.c (probe): Improve error message.
25263
b50b77b9
RM
252642009-12-13 Robert Millan <rmh.grub@aybabtu.com>
25265
25266 * loader/i386/multiboot_elfxx.c
25267 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
25268 initialization.
25269
252702009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
25271
25272 Relocator framework
25273
25274 * loader/i386/xnu_helper.S: Removed. All users updated.
25275 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
25276 (relocator_mod_SOURCES): New variable.
25277 (relocator_mod_CFLAGS): Likewise.
25278 (relocator_mod_LDFLAGS): Likewise.
25279 (relocator_mod_ASFLAGS): Likewise.
25280 * conf/x86_64.rmk: Likewise.
25281 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
25282 (grub_multiboot_payload_entry_offset): Likewise.
25283 (grub_multiboot_forward_relocator): Likewise.
25284 (grub_multiboot_forward_relocator_end): Likewise.
25285 (grub_multiboot_backward_relocator): Likewise.
25286 (grub_multiboot_backward_relocator_end): Likewise.
25287 (grub_multiboot_payload_eip): New variable.
25288 (grub_multiboot_payload_orig): Likewise.
25289 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
25290 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
25291 * include/grub/i386/memory.h
25292 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
25293 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
25294 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
25295 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
25296 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
25297 * include/grub/i386/relocator.h: New file.
25298 * include/grub/x86_64/relocator.h: Likewise.
25299 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
25300 (XNU_RELOCATOR): New macro.
25301 (grub_xnu_launcher_start): Remove.
25302 (grub_xnu_launcher_end): Likewise.
25303 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
25304 (grub_xnu_heap_real_start): Remove.
25305 (grub_xnu_heap_start): Change to void *. All users updated.
25306 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
25307 * lib/i386/relocator.c: New file.
25308 * lib/i386/relocator_asm.S: Likewise.
25309 * lib/i386/relocator_backward.S: Likewise.
25310 * lib/mips/relocator.c: Likewise.
25311 * lib/mips/relocator_asm.S: Likewise.
25312 * lib/relocator.c: Likewise.
25313 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
25314 (entry): Removed.
25315 (playground): Likewise.
25316 (grub_multiboot_payload_orig): New variable.
25317 (grub_multiboot_payload_dest): Likewise.
25318 (grub_multiboot_payload_size): Likewise.
25319 (grub_multiboot_payload_eip): Likewise.
25320 (grub_multiboot_payload_esp): Likewise.
25321 (grub_multiboot_boot): Use grub_relocator32_boot.
25322 (grub_multiboot_unload): Free relocators.
25323 (grub_multiboot): Setup stack. Use relocators.
25324 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
25325 (grub_multiboot_load_elfXX): Use relocators.
25326 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
25327 (grub_multiboot_payload_size): Likewise.
25328 (grub_multiboot_payload_dest): Likewise.
25329 (grub_multiboot_payload_entry_offset): Likewise.
25330 (grub_multiboot_forward_relocator): Likewise.
25331 (grub_multiboot_backward_relocator): Likewise.
25332 (grub_multiboot_real_boot): Likewise.
25333 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
25334 (grub_xnu_entry_point): Likewise.
25335 (grub_xnu_arg1): Likewise.
25336 (grub_xnu_stack): Likewise.
25337 (grub_xnu_launch): Removed.
25338 (grub_xnu_boot_resume): New function.
25339 (grub_xnu_boot): Use relocators.
25340 * loader/i386/xnu_helper.S: Removed.
25341 * loader/xnu.c (grub_xnu_heap_start): New variable.
25342 (grub_xnu_heap_size): Likewise.
25343 (grub_xnu_heap_malloc): Use relocators.
25344 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
25345
29eb90c6
VS
253462009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
25347
25348 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
25349 anything.
25350
31027430
CPE
253512009-12-13 Carles Pina i Estany <carles@pina.cat>
25352
25353 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
25354 GRUB_ERR_NONE before calling grub_env_set.
25355
dc0c71d9
RM
253562009-12-12 Robert Millan <rmh@aybabtu.com>
25357
25358 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
25359 * genmk.rb (video): New variable.
25360 (CLEANFILES, VIDEOFILES): Add #{video}.
25361 (#{video}): New target rule.
25362 * genvideolist.sh: New file.
25363 * Makefile.in (pkglib_DATA): Add video.lst.
25364 (video.lst): New target rule.
25365 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
25366 `video.lst'.
25367 * util/grub.d/30_os-prober.in: Replace `vbe' with
25368 ${GRUB_VIDEO_BACKEND}.
25369
2a4bfcf0
RM
253702009-12-11 Robert Millan <rmh.grub@aybabtu.com>
25371
25372 * THANKS: Add David Miller.
25373
2a3aa4d5
RM
253742009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
25375
25376 libpciaccess support.
25377
25378 * Makefile.in (LIBPCIACCESS): New variable.
25379 (enable_grub_emu_pci): Likewise.
25380 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
25381 util/pci.c and commands/lspci.c.
25382 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
25383 * configure.ac (grub-emu-pci): New option.
25384 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
25385 (grub_pci_device_unmap_range): Likewise.
25386 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
25387 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
25388 (grub_pci_address_t) [!GRUB_UTIL]: New type.
25389 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
25390 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
25391 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
25392 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
25393 * include/grub/pciutils.h: New file.
25394 * util/pci.c: Likewise.
25395
0ad46fd7 253962009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
25397
25398 * util/misc.c: Don't include <errno.h> twice.
25399
0ad46fd7 254002009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
25401
25402 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
25403 name in an error message.
25404 (grub_biosdisk_rw): Likewise.
25405
2e59983c
VS
254062009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25407
25408 Eliminate NTFS 4Gib barrier.
25409
25410 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
25411 (read_run_data): Likewise.
25412 (grub_ntfs_read_run_list): Likewise.
25413 (grub_ntfs_read_block): Likewise.
25414 (grub_ntfs_iterate_dir): Likewise.
25415 (read_mft): Likewise.
25416 (read_data): Likewise.
25417 Use COM_LOG_LEN.
25418 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
25419 to avoid 64-bit division
25420 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
25421 (grub_ntfs_rlst): Use grub_disk_addr_t.
25422
71ee178a
VS
254232009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25424
25425 Eliminate grub-fstest 4Gib barrier.
25426
25427 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
25428 (read_file): Fix error reporting.
25429
2520d4b8
VS
254302009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25431
25432 Eliminate hexdump 4Gib barrier.
25433
25434 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
25435 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
25436
e1f27065
VS
254372009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25438
25439 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
25440 Fixes amarsh bug.
25441
1a0f7f45
RM
254422009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
25443
25444 Remove miscellaneous files in distclean target.
25445
25446 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
25447
c631d9fb
CW
254482009-12-09 Colin Watson <cjwatson@ubuntu.com>
25449
25450 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
25451 if they're already set. This resolves the conflict between my
25452 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
25453 fixing the --grub-probe option again.
25454 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
25455 change on 2009-10-06, so that we now once again source
25456 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
25457
7c7b6106
RM
254582009-12-08 Robert Millan <rmh.grub@aybabtu.com>
25459
25460 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
25461 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
25462 `util/devicemap.c'.
25463
e3069ec1
CPE
254642009-12-08 Carles Pina i Estany <carles@pina.cat>
25465
25466 * include/grub/misc.h (grub_printf_): New declaration.
25467 * kern/misc.c (grub_printf_): New definition.
25468 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
25469 instead of `grub_printf' and `_'.
25470 * normal/menu_entry.c (store_completion): Likewise.
25471 (run): Likewise.
25472 (grub_menu_entry_run): Likewise.
25473 * normal/menu_text.c (grub_wait_after_message): Likewise.
25474 (notify_booting): Likewise.
25475 (notify_fallback): Likewise.
25476 (notify_execution_failure): Likewise.
25477
d6ceebf1
CW
254782009-12-07 Colin Watson <cjwatson@ubuntu.com>
25479
25480 * configure.ac: Check for vasprintf.
25481 * util/misc.c (asprintf): Move allocation from here ...
25482 (vasprintf): ... to here. New function.
25483 (xasprintf): New function.
25484 * include/grub/util/misc.h (vasprintf, xasprintf): Add
25485 prototypes.
25486 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
25487 * util/grub-mkfont.c (write_font): Likewise.
25488 * util/grub-probe.c (probe): Likewise.
25489 * util/hostdisk.c (make_device_name): Likewise.
25490
de6daa8b
DM
254912009-12-06 David S. Miller <davem@sunset.davemloft.net>
25492
25493 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
25494 anything even prefixed with 'cdrom' as a cdrom.
25495
0ad46fd7 254962009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
25497
25498 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
25499 mount points.
25500
98d3dc02
CPE
255012009-12-05 Carles Pina i Estany <carles@pina.cat>
25502
25503 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
25504 grub_gettext_msg_list.
25505 (grub_gettext_gettranslation_from_position): Return const char *
25506 and not char *.
a2c1332b 25507 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
25508 returns from the list if existing there.
25509 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
25510 (grub_gettext_delete_list): Delete the list.
25511 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
25512 lang environment variable is changed.
25513 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
25514
b283f108
VS
255152009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
25516
25517 Rename kernel.mod to kernel.img.
25518
25519 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
25520 (kernel_mod_EXPORTS): Rename to ...
25521 (kernel_img_EXPORTS): ... this.
25522 (kernel_mod_SOURCES): Rename to ...
25523 (kernel_img_SOURCES): ... this.
25524 (kernel_mod_HEADERS): Rename to ...
25525 (kernel_img_HEADERS): ... this. All users updated.
25526 (kernel_mod_CFLAGS): Rename to ...
25527 (kernel_img_CFLAGS): ... this.
25528 (kernel_mod_ASFLAGS): Rename to ...
25529 (kernel_img_ASFLAGS): ... this.
25530 (kernel_mod_LDFLAGS): Rename to ...
25531 (kernel_img_LDFLAGS): ... this.
25532 * conf/x86_64-efi.rmk: Likewise.
25533 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
25534 (read_kernel_image): ... this. All users updated.
25535 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
25536
69055f8a
CPE
255372009-12-05 Carles Pina i Estany <carles@pina.cat>
25538
25539 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
25540 (print_spaces): New function.
25541 (grub_print_ucs4): New function.
25542 (getstringwidth): New function.
25543 (print_message_indented): New function.
25544 (print_message): Gettexttize strings using print_message_indented.
25545 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
25546 width.
25547 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 25548 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
25549 Gettextize.
25550 * normal/menu_entry.c (store_completion): Cleanup the gettextized
25551 string.
25552 (run): Likewise.
25553 (grub_menu_entry_run): Likewise.
25554 * PO/POTFILES: Add normal/menu_entry.c.
25555
f616f51c
VS
255562009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
25557
25558 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
25559
57bbe3be
CPE
255602009-12-05 Carles Pina i Estany <carles@pina.cat>
25561
25562 * util/grub-install.in: Install gettext .mo files.
25563 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
25564
013d67a1
CPE
255652009-12-05 Carles Pina i Estany <carles@pina.cat>
25566
25567 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
25568 grub_dprintf.
25569
fb954db0
RM
255702009-12-05 Robert Millan <rmh.grub@aybabtu.com>
25571
25572 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
25573 non-firmware-dependant one in realmode.S takes precedence.
25574
6b8474f8
RM
255752009-12-04 Robert Millan <rmh.grub@aybabtu.com>
25576
25577 * commands/halt.c: Replace misc arch-specific headers with
25578 `<grub/misc.h>'.
25579 * commands/reboot.c: Likewise.
25580 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
25581 `<grub/misc.h>'.
25582 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
25583 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
25584 (kernel_img_SOURCES): ... to here.
25585
25586 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
25587 * include/grub/i386/pc/init.h: Likewise.
25588 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
25589 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
25590
25591 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
25592
25593 * include/grub/i386/halt.h: Remove.
25594 * include/grub/i386/reboot.h: Likewise.
25595
25596 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
25597
4b2e6ca2
DM
255982009-12-03 David S. Miller <davem@sunset.davemloft.net>
25599
25600 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
25601 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
25602 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
25603 "progname.h"
25604 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
25605 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25606 (usage): Add missing comma in printf.
25607
5239348f
RM
256082009-12-02 Robert Millan <rmh.grub@aybabtu.com>
25609
25610 Use the same reboot approach on i386 coreboot and qemu as we do on
25611 BIOS.
25612
25613 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
25614 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
25615 * kern/i386/reboot.c: Remove.
25616 * include/grub/i386/reboot.h (grub_reboot): Export function.
25617 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
25618 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
25619 0xf000:0xfff0 instead of 0xffff:0x0000.
25620 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
25621 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
25622
ef34cbd4
RM
256232009-11-30 Robert Millan <rmh.grub@aybabtu.com>
25624
25625 Fix $srcdir != $objdir build.
25626
25627 * Makefile.in (po/%.po): Rewrite as ...
25628 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
25629
dc9837ea
ST
256302009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
25631
25632 Fix GNU/Hurd grub-install crash.
25633 * util/grub-probe.c (probe): Try to access `path' only when it is not
25634 NULL.
25635
2f857f98
VS
256362009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
25637
25638 Correct module naming.
25639
25640 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
25641 (GRUB_MOD_INIT(efi_uga)): ... to this
25642 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
25643 (GRUB_MOD_FINI(efi_uga)): ... to this
25644 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
25645 (GRUB_MOD_INIT(efi_gop)): ... to this
25646 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
25647 (GRUB_MOD_FINI(efi_gop)): ... to this
25648
c5448046
RM
256492009-11-28 Robert Millan <rmh.grub@aybabtu.com>
25650
25651 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
25652 translatable.
25653 (usage): Translate `arg' strings using gettext().
25654 Thanks to Jordi Mallach for the suggestion.
25655
c85184ad
VS
256562009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
25657
25658 GOP support. Based on patch from Bean
25659 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
25660
25661 * video/efi_gop.c: New file.
25662 * include/grub/efi/graphics_output.h: Likewise.
25663 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
25664 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
25665 variables.
25666 * conf/x86_64-efi.rmk: Likewise.
25667
8a4c48d8
VS
256682009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
25669
25670 Rename efi_fb to efi_uga.
25671
25672 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
25673 'efi_uga.mod'.
25674 (efi_fb_mod_SOURCES): Rename this ...
25675 (efi_uga_mod_SOURCES): ... to this.
25676 (efi_fb_mod_CFLAGS): Rename this ...
25677 (efi_uga_mod_CFLAGS): ... to this.
25678 (efi_fb_mod_LDFLAGS): Rename this ...
25679 (efi_uga_mod_LDFLAGS): ... to this.
25680 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
25681 'efi_uga.mod'.
25682 (efi_fb_mod_SOURCES): Rename this ...
25683 (efi_uga_mod_SOURCES): ... to this.
25684 (efi_fb_mod_CFLAGS): Rename this ...
25685 (efi_uga_mod_CFLAGS): ... to this.
25686 (efi_fb_mod_LDFLAGS): Rename this ...
25687 (efi_uga_mod_LDFLAGS): ... to this.
25688 * video/efi_fb.c: Move this ...
25689 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
25690
fb6c1a7b
RM
256912009-11-27 Robert Millan <rmh.grub@aybabtu.com>
25692
25693 * po/README: New file. Explain our PO file workflow.
25694
3bc7896c
RM
256952009-11-27 Robert Millan <rmh.grub@aybabtu.com>
25696
25697 * po/ChangeLog: Remove. Move relevant entries back to ...
25698 * ChangeLog: ... here.
25699 * po/ca.po: Remove (now handled by TLP).
25700 * po/id.po: Likewise.
25701 * po/zh_CN.po: Likewise.
25702 * Makefile.in (LINGUAS): Initialize in a way that supports
25703 empty set.
25704
9ed4841d
RM
257052009-11-27 Robert Millan <rmh.grub@aybabtu.com>
25706
25707 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
25708 reliing on po/LINGUAS.
25709 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
25710 (po/%.po): ... this.
25711
0ad46fd7 257122009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
25713
25714 * util/i386/efi/grub-mkimage.c: Include "progname.h".
25715 (main): Use `program_name' instead of nonexistent `progname'.
25716
e30dd392
FZ
257172009-11-26 Felix Zielcke <fzielcke@z-51.de>
25718
25719 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
25720 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
25721
7656de4f
RM
257222009-11-26 Robert Millan <rmh.grub@aybabtu.com>
25723
25724 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
25725 commit.
25726 * conf/i386-efi.rmk: Likewise.
25727 * conf/i386-ieee1275.rmk: Likewise.
25728 * conf/powerpc-ieee1275.rmk: Likewise.
25729 * conf/sparc64-ieee1275.rmk: Likewise.
25730 * conf/x86_64-efi.rmk: Likewise.
25731
db77c4d4
FZ
257322009-11-26 Felix Zielcke <fzielcke@z-51.de>
25733
25734 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
25735
a755bb04
FZ
257362009-11-26 Felix Zielcke <fzielcke@z-51.de>
25737
25738 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
25739
8a4c07fd
RM
257402009-11-26 Robert Millan <rmh.grub@aybabtu.com>
25741
25742 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
25743 (grub_mkdevicemap_SOURCES): New variable.
25744 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
25745 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
25746 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
25747 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
25748 (grub_mkdevicemap_SOURCES): Remove.
25749 * conf/i386-efi.rmk: Likewise.
25750 * conf/i386-ieee1275.rmk: Likewise.
25751 * conf/i386-pc.rmk: Likewise.
25752 * conf/powerpc-ieee1275.rmk: Likewise.
25753 * conf/sparc64-ieee1275.rmk: Likewise.
25754 * conf/x86_64-efi.rmk: Likewise.
25755 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
25756 (usage): Fix strings to use `program_name'.
25757 (main): Initialize gettext.
25758 * util/grub-editenv.c: Likewise.
25759 * util/grub-emu.c: Likewise.
25760 * util/grub-fstest.c: Likewise.
25761 * util/grub-mkdevicemap.c: Likewise.
25762 * util/grub-mkfont.c: Likewise.
25763 * util/grub-mkrelpath.c: Likewise.
25764 * util/grub-pe2elf.c: Likewise.
25765 * util/grub-probe.c: Likewise.
25766 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
25767 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
25768 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25769
25770 * util/misc.c: Include `"progname.h"'.
25771 (progname): Remove variable.
25772 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
25773
6f61ed55
FZ
257742009-11-25 Felix Zielcke <fzielcke@z-51.de>
25775
25776 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
25777 printf and print a newline after the menuentry header line.
25778 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
25779
f022876b
FZ
257802009-11-25 Felix Zielcke <fzielcke@z-51.de>
25781
25782 autoconf >= 2.60 support $(localedir).
25783
25784 * INSTALL: Note that autoconf 2.60 is required.
25785 * configure.ac (AC_PREREQ): Bump to 2.60.
25786 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
25787 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
25788
6717926e
YB
257892009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
25790
25791 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
25792 aclocal is run.
25793
08806a54
RM
257942009-11-25 Robert Millan <rmh.grub@aybabtu.com>
25795
25796 * normal/main.c (grub_normal_read_line): Fix off-by-one
25797 buffer overflow.
25798
13b33fba
RM
257992009-11-25 Robert Millan <rmh.grub@aybabtu.com>
25800
25801 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
25802 "parser.grub" in grub_command_execute() call.
25803
4a8572e9
CPE
258042009-11-24 Carles Pina i Estany <carles@pina.cat>
25805
25806 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
25807 * conf/i386-efi.rmk: Likewise.
25808 * conf/i386-ieee1275.rmk: Likewise.
25809 * conf/i386-pc.rmk: Likewise.
25810 * conf/powerpc-ieee1275.rmk: Likewise.
25811 * conf/sparc64-ieee1275.rmk: Likewise.
25812 * conf/x86_64-efi.rmk: Likewise.
25813 * gettext/gettex.c: Include <grub/i18n.h>.
25814 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
25815 here ...
25816 * include/grub/i18n.h: ... to here
25817 * include/grub/i18n.h: ... to here.
25818 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 25819 (grub_gettext_dummy): Move above user.
4a8572e9 25820
bee48093
FZ
258212009-11-24 Felix Zielcke <fzielcke@z-51.de>
25822
25823 * util/Makefile.in (install-local): Convert a `for' into a normal
25824 shell expansion.
25825
a031e91c
RM
258262009-11-24 Robert Millan <rmh.grub@aybabtu.com>
25827
25828 * autogen.sh: Add automake call.
25829 * config.guess: Remove.
25830 * config.sub: Likewise.
25831 * install-sh: Likewise.
25832
26bec39d
FZ
258332009-11-24 Felix Zielcke <fzielcke@z-51.de>
25834
25835 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
25836
8e2532fd
FZ
258372009-11-24 Felix Zielcke <fzielcke@z-51.de>
25838
25839 * util/Makefile.in (install-local): Convert a make `$(foreach)'
25840 function to a normal shell `for'.
25841
fefa1b7d
FZ
258422009-11-24 Felix Zielcke <fzielcke@z-51.de>
25843
25844 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
25845
4501250b
FZ
258462009-11-24 Felix Zielcke <fzielcke@z-51.de>
25847
25848 * util/grub-mkrelpath.c: New file.
25849 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
25850 (grub_mkrelpath_SOURCES): New variable.
25851 * include/grub/util/misc.h: New function prototype.
25852 * util/misc.c (make_system_path_relative_to_its_root): New function.
25853
25854 * util/grub-mkconfig_lib.in (bindir): New variable.
25855 (grub_mkrelpath): Likewise.
25856 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
25857
25858 * util/probe.c (probe): Make the file path relative to its root.
25859 Change a info message to use the GRUB path. Enable again the
25860 check if we can read the file with GRUB facilities.
25861
25862 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
25863 to its root.
25864
11d9778b
FZ
258652009-11-24 Felix Zielcke <fzielcke@z-51.de>
25866
25867 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
25868 platform.
25869
4465287d
FZ
258702009-11-24 Felix Zielcke <fzielcke@z-51.de>
25871
25872 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
25873 strncmp().
25874
62b47f22
FZ
258752009-11-24 Felix Zielcke <fzielcke@z-51.de>
25876
25877 * util/getroot.c (grub_util_is_dmraid): New function.
25878 (grub_util_get_dev_abstraction): Treat dmraid and multipath
25879 devices as normal ones, not as LVM.
25880
1eafb9b9 258812009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
25882
25883 * conf/common.rmk: Add grub-gettext_lib target and updates
25884 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
25885 LDFLAGS.
25886 * gettext/gettext.c: New file. (Reads mo files).
25887 * include/grub/file.h (grub_file_pread): New prototype.
25888 * include/grub/i18n.h (_): New prototype.
25889 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
25890 prototypes.
25891 * kern/misc.c (grub_gettext_dummy): New function.
25892 * normal/menu_text.c: Include <grub/i18n.h>.
25893 * normal/menu_text.c (print_timeout): Gettexttize string.
25894 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
25895 * po/POTFILES: Add `normal/menu_text.c'.
25896 * po/ca.po: Add new translations.
c3ea6bd4
CPE
25897 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
25898 gettext module and defines locale_dir and lang in grub.cfg.
25899 * NEWS: Add gettext support.
25900
0fdb2568
RM
259012009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25902
25903 * util/hostdisk.c: Include `<grub/i18n.h>'.
25904 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
25905 (make_device_name): Rewrite using asprintf.
25906 (convert_system_partition_to_system_disk): Replace 0 with NULL.
25907 (find_system_device): If a device is not found, generate one just
25908 by reusing the OS path name.
25909 (read_device_map): Make it permissible for device.map not to exist.
25910
f515aa62
RM
259112009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25912
25913 * script/sh/execute.c: Move from here ...
25914 * script/execute.c: ... to here. Update all users.
25915 * script/sh/function.c: Move from here ...
25916 * script/function.c: ... to here. Update all users.
25917 * script/sh/lexer.c: Move from here ...
25918 * script/lexer.c: ... to here. Update all users.
25919 * script/sh/main.c: Move from here ...
25920 * script/main.c: ... to here. Update all users.
25921 * script/sh/parser.y: Move from here ...
25922 * script/parser.y: ... to here. Update all users.
25923 * script/sh/script.c: Move from here ...
25924 * script/script.c: ... to here. Update all users.
25925
f84b481b
RM
259262009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25927
25928 * configure.ac: Detect all `emu' platforms. Define
25929 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
25930 --enable-grub-emu logic. Disable include/grub/machine
25931 symlink on `emu' platforms.
25932
25933 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
25934 * gensymlist.sh.in: Likewise.
25935
25936 * include/grub/i386/coreboot/machine.h: Remove file.
25937 * include/grub/i386/efi/machine.h: Likewise.
25938 * include/grub/i386/ieee1275/machine.h: Likewise.
25939 * include/grub/i386/pc/machine.h: Likewise.
25940 * include/grub/i386/qemu/machine.h: Likewise.
25941 * include/grub/powerpc/ieee1275/machine.h: Likewise.
25942 * include/grub/sparc64/ieee1275/machine.h: Likewise.
25943 * include/grub/x86_64/efi/machine.h: Likewise.
25944
25945 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
25946 * commands/halt.c: Likewise.
25947 * commands/reboot.c: Likewise.
25948 * include/grub/autoefi.h: Likewise.
25949 * include/grub/i386/at_keyboard.h: Likewise.
25950 * include/grub/i386/kernel.h: Likewise.
25951 * include/grub/i386/loader.h: Likewise.
25952 * include/grub/i386/pc/memory.h: Likewise.
25953 * kern/dl.c: Likewise.
25954 * kern/i386/coreboot/init.c: Likewise.
25955 * loader/i386/bsd.c: Likewise.
25956 * loader/i386/linux.c: Likewise.
25957 * loader/multiboot_loader.c: Likewise.
25958 * term/i386/pc/serial.c: Likewise.
25959 * term/usb_keyboard.c: Likewise.
25960
25961 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
25962 `<grub/machine/machine.h>'
25963 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
25964 * util/misc.c: Remove `<grub/machine/machine.h>' and
25965 `<grub/machine/time.h>'.
25966
25967 * Makefile.in (enable_grub_emu): Remove variable.
25968 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
25969
25970 * conf/any-emu.rmk: New file.
25971 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
25972 (grub_emu_init.c): Move from here ...
25973 * conf/any-emu.rmk: ... to here.
25974
25975 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
25976 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
25977 * conf/any-emu.rmk: ... to here.
25978
4efeab03
RM
259792009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25980
25981 * include/grub/parser.h (grub_parser_register): Document need
25982 of `name' parameter.
25983 * normal/main.c (grub_normal_read_line): Simplify prompt string.
25984 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
25985 "sh" to "grub".
25986
ea1dd8bf
RM
259872009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25988
25989 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
25990 `$(XGETTEXT)'.
25991 * include/grub/i18n.h (N_): New macro.
25992 * util/mkisofs/mkisofs.h: Likewise.
25993 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
25994 around N_().
25995 (usage): Use gettext() to translate help strings when printing them.
25996
0c140626
RM
259972009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25998
25999 Based on patch from Bean
26000 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
26001
26002 * video/efi_fb.c: New file.
26003 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
26004 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
26005 variables.
26006 * conf/x86_64-efi.rmk: Likewise.
26007
87d58298
RM
260082009-11-22 Robert Millan <rmh.grub@aybabtu.com>
26009
26010 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
26011 * util/i386/pc/grub-setup.c: Likewise.
26012
994cc3a3
ST
260132009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
26014
26015 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
26016 <hurd/fs.h>
26017 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
26018 file_get_storage_info to implement grub_guess_root_device.
26019
26a61d6a
FZ
260202009-11-21 Felix Zielcke <fzielcke@z-51.de>
26021
26022 * Makefile.in (target): Use make's builtin $(shell) function
26023 instead of calling directly $(SHELL) to create the locale directories,
26024 inside the $(foreach) function.
26025
74ff1dd5
FZ
260262009-11-21 Felix Zielcke <fzielcke@z-51.de>
26027
26028 * util/grub-mkrescue.in: Print an error and usage if output option
26029 has not been given.
26030
0b787d0e
FZ
260312009-11-21 Felix Zielcke <fzielcke@z-51.de>
26032
26033 Patch from Loïc Minier <loic.minier@ubuntu.com>.
26034 * util/grub.d/30_os-prober.in: Cope with Linux entries where
26035 root and /boot are on different devices.
26036
1164b270
RM
260372009-11-21 Robert Millan <rmh.grub@aybabtu.com>
26038
26039 Fix build for srcdir != objdir.
26040
26041 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
26042 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
26043 $(srcdir).
26044 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
26045 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
26046 reference for input.
26047
13774a2f
RM
260482009-11-21 Robert Millan <rmh.grub@aybabtu.com>
26049
26050 * util/grub-mkrescue.in: Use source directory direcly (without copiing
26051 or hardlinking it). Remove -J option, Joliet is not compatible with
26052 multiple source directories.
26053
efda854e
RM
260542009-11-21 Carles Pina i Estany <carles@pina.cat>
260552009-11-21 Robert Millan <rmh.grub@aybabtu.com>
26056
26057 * util/grub-mkrescue.in: Recognize `--override-directory' option.
26058 (process_input_dir): New function. Process an arbitrary input
26059 directory.
26060 Misc adjustments to support both "override mode" and system-wide mode.
26061
6c09890c
FZ
260622009-11-20 Felix Zielcke <fzielcke@z-51.de>
26063
26064 * configure.ac (UNIFONT_BDF): Rename to ...
26065 (FONT_SOURCE): ... this. Update all users.
26066
a797824f
FZ
260672009-11-20 Felix Zielcke <fzielcke@z-51.de>
26068
26069 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
26070 to the list of unifont files to look for.
26071
cd4f42b0
RM
260722009-11-19 Robert Millan <rmh.grub@aybabtu.com>
26073
26074 Patch from Joe Auricchio <jauricchio@gmail.com>
26075 * commands/minicmd.c (grub_mini_cmd_clear): New function.
26076 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
26077 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
26078
393c783d
FZ
260792009-11-19 Felix Zielcke <fzielcke@z-51.de>
26080
26081 * Makefile.in (install-local): Add a missing backslash.
26082
b2f1e327
FZ
260832009-11-19 Felix Zielcke <fzielcke@z-51.de>
26084
26085 * include/grub/x86_64/io.h: New file.
26086
f577f7a0
RM
260872009-11-19 Robert Millan <rmh.grub@aybabtu.com>
26088
26089 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
26090 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
26091 Include `"progname.h"'.
26092 (main): Initialize gettext.
26093 * util/i386/pc/grub-setup.c: Gettexttize.
26094 * util/i386/pc/grub-mkimage.c: Likewise.
26095
26096 * Makefile.in (po/*.po): Redefine as ...
26097 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
26098
3bc7896c
RM
26099 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
26100
c37943b6
RM
261012009-11-19 Robert Millan <rmh.grub@aybabtu.com>
26102
26103 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
26104 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
26105 (program_name): Remove.
26106 (main): Initialize gettext support.
6323f705
RM
26107 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
26108 Include `<libintl.h>'.
26109 (_): New macro.
c37943b6
RM
26110
26111 * util/mkisofs/eltorito.c: Gettexttize.
26112 * util/mkisofs/joliet.c: Likewise.
26113 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
26114 * util/mkisofs/multi.c: Likewise.
26115 * util/mkisofs/rock.c: Likewise.
26116 * util/mkisofs/tree.c: Likewise.
26117 * util/mkisofs/write.c: Likewise.
26118
3bc7896c
RM
26119 * po/POTFILES: Update with new files.
26120
5ce77c6e
RM
261212009-11-18 Robert Millan <rmh.grub@aybabtu.com>
26122
26123 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
26124 * util/mkisofs/iso9660.h: Likewise.
26125 * util/mkisofs/joliet.c: Likewise.
26126 * util/mkisofs/mkisofs.c: Likewise.
26127 * util/mkisofs/mkisofs.h: Likewise.
26128 * util/mkisofs/rock.c: Likewise.
26129 * util/mkisofs/tree.c: Likewise.
26130 * util/mkisofs/write.c: Likewise.
26131
26132 * util/mkisofs/eltorito.c (rcsid): Remove.
26133 * util/mkisofs/hash.c: Likewise.
26134 * util/mkisofs/joliet.c: Likewise.
26135 * util/mkisofs/name.c: Likewise.
26136 * util/mkisofs/rock.c: Likewise.
26137 * util/mkisofs/tree.c: Likewise.
26138 * util/mkisofs/write.c: Likewise.
26139
1dabbc77
RM
261402009-11-18 Robert Millan <rmh.grub@aybabtu.com>
26141
26142 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
26143 instead of static allocation.
26144 * util/mkisofs/match.h: Likewise.
26145
633877cb
RM
261462009-11-18 Robert Millan <rmh.grub@aybabtu.com>
26147
3bc7896c
RM
26148 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
26149 and `util/grub.d/10_linux.in'.
633877cb
RM
26150 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
26151 translatable Shell files.
26152
af1c0c85
RM
261532009-11-18 Robert Millan <rmh.grub@aybabtu.com>
26154
26155 * Makefile.in ($(srcdir)/aclocal.m4): New target.
26156
769ae37b
RM
261572009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26158
26159 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 26160 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
26161 * util/grub.d/10_kfreebsd.in (bindir): New variable.
26162 Add gettext initialization.
26163 (kfreebsd_entry): Make menuentry output translatable.
26164
261652009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26166
26167 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
26168 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
26169 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
26170 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
26171 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 26172 * po/LINGUAS: New file.
769ae37b
RM
26173
261742009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26175
26176 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
26177 other things).
26178 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
26179 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
26180 bindtextdomain() calls for gettext initialization.
26181
261822009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26183
26184 * gnulib/progname.c: New file (imported from Gnulib).
26185 * gnulib/progname.h: Likewise.
26186 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
26187 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
26188 (usage): Replace `progname' with `program_name'.
26189 (main): Use set_program_name() for program name initialization.
26190
261912009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26192
26193 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
26194 from here ...
26195 * Makefile.in (CPPFLAGS): ... to here.
26196
261972009-11-16 Robert Millan <rmh.grub@aybabtu.com>
26198
26199 * aclocal.m4: Move from here ...
26200 * acinclude.m4: ... to here.
26201 * autogen.sh: Add call to `aclocal'.
26202 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
26203
262042009-11-16 Robert Millan <rmh.grub@aybabtu.com>
26205
26206 * Makefile.in (CLEANFILES): Add `po/*.mo'.
26207 (LINGUAS): New variable.
26208 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
26209 (install-local): Install MO files.
26210 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
26211 * include/grub/i18n.h: New file.
3bc7896c
RM
26212 * po/POTFILES: New file.
26213 * po/ca.po: New file.
769ae37b
RM
26214 * util/grub.d/10_linux.in (bindir): New variable.
26215 Add gettext initialization.
26216 (linux_entry): Make menuentry output translatable.
26217 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
26218 (usage): Make --help output translatable.
26219 (main): Initialize gettext.
26220
02c0a6ad
RM
262212009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26222
26223 * import_gcry.py: New file (written by Vladimir with minor
26224 adjustments).
26225 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
26226 ciphers.
26227 * INSTALL: Document that Python is required for bootstrap.
26228
262292009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26230
26231 Import ciphers from libgcrypt 1.4.4.
26232
26233 * lib/libgcrypt/cipher/ChangeLog
26234 * lib/libgcrypt/cipher/ac.c
26235 * lib/libgcrypt/cipher/arcfour.c
26236 * lib/libgcrypt/cipher/bithelp.h
26237 * lib/libgcrypt/cipher/blowfish.c
26238 * lib/libgcrypt/cipher/camellia-glue.c
26239 * lib/libgcrypt/cipher/camellia.c
26240 * lib/libgcrypt/cipher/camellia.h
26241 * lib/libgcrypt/cipher/cast5.c
26242 * lib/libgcrypt/cipher/cipher.c
26243 * lib/libgcrypt/cipher/crc.c
26244 * lib/libgcrypt/cipher/des.c
26245 * lib/libgcrypt/cipher/dsa.c
26246 * lib/libgcrypt/cipher/ecc.c
26247 * lib/libgcrypt/cipher/elgamal.c
26248 * lib/libgcrypt/cipher/hash-common.c
26249 * lib/libgcrypt/cipher/hash-common.h
26250 * lib/libgcrypt/cipher/hmac-tests.c
26251 * lib/libgcrypt/cipher/md.c
26252 * lib/libgcrypt/cipher/md4.c
26253 * lib/libgcrypt/cipher/md5.c
26254 * lib/libgcrypt/cipher/primegen.c
26255 * lib/libgcrypt/cipher/pubkey.c
26256 * lib/libgcrypt/cipher/rfc2268.c
26257 * lib/libgcrypt/cipher/rijndael-tables.h
26258 * lib/libgcrypt/cipher/rijndael.c
26259 * lib/libgcrypt/cipher/rmd.h
26260 * lib/libgcrypt/cipher/rmd160.c
26261 * lib/libgcrypt/cipher/rsa.c
26262 * lib/libgcrypt/cipher/seed.c
26263 * lib/libgcrypt/cipher/serpent.c
26264 * lib/libgcrypt/cipher/sha1.c
26265 * lib/libgcrypt/cipher/sha256.c
26266 * lib/libgcrypt/cipher/sha512.c
26267 * lib/libgcrypt/cipher/tiger.c
26268 * lib/libgcrypt/cipher/twofish.c
26269 * lib/libgcrypt/cipher/whirlpool.c
26270
af2f93ac
RM
262712009-11-16 Robert Millan <rmh.grub@aybabtu.com>
26272
26273 Fix build for systems without error().
26274
26275 * gnulib/error.c: New file (imported from Gnulib).
26276 * gnulib/error.h: Likewise.
26277 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
26278 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
26279 (this variable is now used by error()).
26280
73fb3dd5
FZ
262812009-11-16 Felix Zielcke <fzielcke@z-51.de>
26282
814f5e96
FZ
26283 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
26284 instead of relying that char is signed.
73fb3dd5 26285
a691ca33
VS
262862009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
26287
26288 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
26289 blocksize different from specified.
26290 (grub_pxefs_read): Likewise.
26291
2af8f0f4
FZ
262922009-11-16 Felix Zielcke <fzielcke@z-51.de>
26293
26294 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
26295
26296 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
26297 (grub_ata_readwrite): Likewise. Update 2 format strings.
26298 (grub_atapi_read): Likewise.
26299
26300 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
26301 * conf/i386.rmk (pkglib_MODULES): ... to here ...
26302 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
26303 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
26304 (ata_mod_LDFLAGS): Move from here ...
26305 * conf/i386.rmk: ... to here ...
26306 * conf/x86_64-efi.rmk: ... and here.
26307 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
26308 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
26309
83bdecaf
RM
263102009-11-16 Robert Millan <rmh.grub@aybabtu.com>
26311
26312 Relicense multiboot.h, with RMS' blessing.
26313
26314 * include/multiboot.h: Change to X11 license.
26315
fd6fd3d7
RM
263162009-11-15 Robert Millan <rmh.grub@aybabtu.com>
26317
26318 Support --version in grub-mkisofs.
26319
26320 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
26321 (OPTION_VERSION): New macro.
26322 (ld_options): Recognize --version.
26323 (usage): Move `program_name' from here ...
26324 (program_name): ... to here. Add `static' qualifier.
26325 (main): Recognize `OPTION_VERSION'.
26326
16a88c49
FZ
263272009-11-15 Felix Zielcke <fzielcke@z-51.de>
26328
26329 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
26330 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
26331
a4158476
RM
263322009-11-14 Robert Millan <rmh.grub@aybabtu.com>
26333
26334 Fix help2man generation for mkisofs.
26335
26336 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
26337 (usage): Send output to stdout (rather than stderr).
26338
fc2208b0
RM
263392009-11-14 Robert Millan <rmh.grub@aybabtu.com>
26340
26341 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
26342 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
26343 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
26344 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
26345 (bin_SCRIPTS): Add `grub-mkfloppy'.
26346 (grub_mkfloppy_SOURCES): New variable.
26347
26348 * util/grub-mkrescue.in: New file.
26349 * util/i386/pc/grub-mkfloppy.in: New file.
26350
26351 * util/i386/coreboot/grub-mkrescue.in: Remove.
26352 * util/i386/pc/grub-mkrescue.in: Remove.
26353
8d0edf4a
RM
263542009-11-13 Robert Millan <rmh.grub@aybabtu.com>
26355
26356 * include/grub/multiboot.h (struct grub_multiboot_header): Move
26357 from here ...
26358 * include/multiboot.h (struct multiboot_header): ... to here. Update
26359 all users.
26360 * include/grub/multiboot.h (struct grub_multiboot_info): Move
26361 from here ...
26362 * include/multiboot.h (struct multiboot_info): ... to here. Update
26363 all users.
26364 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
26365 from here ...
26366 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
26367 Update all users.
26368 * include/grub/multiboot.h (struct grub_mod_list): Move
26369 from here ...
26370 * include/multiboot.h (struct multiboot_mod_list): ... to here.
26371 Update all users.
26372
a73f5969
RM
263732009-11-13 Robert Millan <rmh.grub@aybabtu.com>
26374
26375 * include/multiboot2.h (multiboot_word): Rename from this ...
26376 (multiboot2_word): ... to this. Update all users.
26377 (multiboot_header): Rename from this ...
26378 (multiboot2_header): ... to this. Update all users.
26379 (multiboot_tag_header): Rename from this ...
26380 (multiboot2_tag_header): ... to this. Update all users.
26381 (multiboot_tag_start): Rename from this ...
26382 (multiboot2_tag_start): ... to this. Update all users.
26383 (multiboot_tag_name): Rename from this ...
26384 (multiboot2_tag_name): ... to this. Update all users.
26385 (multiboot_tag_module): Rename from this ...
26386 (multiboot2_tag_module): ... to this. Update all users.
26387 (multiboot_tag_memory): Rename from this ...
26388 (multiboot2_tag_memory): ... to this. Update all users.
26389 (multiboot_tag_unused): Rename from this ...
26390 (multiboot2_tag_unused): ... to this. Update all users.
26391 (multiboot_tag_end): Rename from this ...
26392 (multiboot2_tag_end): ... to this. Update all users.
26393
1c8927f0
RM
263942009-11-13 Robert Millan <rmh.grub@aybabtu.com>
26395
26396 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
26397 this platform we should support Multiboot1 first.
26398
26399 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
26400 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
26401 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
26402
6e1e0d89
RM
264032009-11-12 Robert Millan <rmh.grub@aybabtu.com>
26404
26405 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
26406 of write calls (converting them to fwrite() if they aren't already).
26407 (get_torito_desc): Likewise.
26408 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
26409
7f2b34d8
RM
264102009-11-12 Robert Millan <rmh.grub@aybabtu.com>
26411
26412 * util/i386/pc/grub-install.in: Move from here ...
26413 * util/grub-install.in: ... to here. Update all users.
26414
c0ef3311
CW
264152009-11-11 Colin Watson <cjwatson@ubuntu.com>
26416
26417 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
26418
e1f240ff
RM
264192009-11-11 Robert Millan <rmh.grub@aybabtu.com>
26420
26421 Support for El Torito without floppy emulation.
26422
26423 * util/mkisofs/eltorito.c: Include `<errno.h>'.
26424 (init_boot_catalog): Improve error handling.
26425 (get_torito_desc): Don't use floppy emulation unless requested by
26426 user. Patch boot information table when requested via
26427 `-boot-info-table'.
26428 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
26429 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
26430 (use_boot_info_table): New variables.
26431 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
26432 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
26433 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
26434 `--eltorito-emul-floppy'.
26435 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
26436 and `OPTION_ELTORITO_EMUL_FLOPPY'.
26437 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
26438 (use_boot_info_table, get_731): New prototypes.
26439 * util/mkisofs/write.c (get_731): New function.
26440
af7d4de5
FZ
264412009-11-11 Felix Zielcke <fzielcke@z-51.de>
26442
26443 Fix the generation of the man page.
26444
26445 * util/pc/i386/grub-install.in: Source
26446 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
26447
2c55dbc0
RM
264482009-11-11 Robert Millan <rmh.grub@aybabtu.com>
26449
26450 Large file support for grub-mkisofs.
26451
26452 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
26453 * util/mkisofs/mkisofs.c (next_extent, last_extent)
26454 (session_start): Upgrade type to `uint64_t'. Update all users.
26455 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
26456 (struct directory_entry): Upgrade type of `starting_block' and
26457 `size' to `uint64_t'. Update all users.
26458 (struct deferred): Remove unused structure.
26459 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
26460 Update all users.
26461 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
26462 file is larger than `UINT32_MAX'.
26463 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
26464 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
26465 return value.
26466 (struct deferred_write): Upgrade type of `extent' and `size' to
26467 `uint64_t'. Update all users.
26468 (last_extent_written): Upgrade type to `uint64_t'. Update all
26469 users.
26470 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
26471 Update all users. Upgrade type of `remain' to `int64_t' and
26472 `use' to `size_t'. Use error() to handle fread() errors.
26473 (write_files): Rely on write_one_file() rather than calling
26474 xfwrite() directly.
26475
6a9cead5
FZ
264762009-11-09 Felix Zielcke <fzielcke@z-51.de>
26477
26478 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
26479
4825d790
RM
264802009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26481
26482 * util/mkisofs/fnmatch.c: Remove.
26483 * util/mkisofs/getopt1.c: Likewise.
26484 * util/mkisofs/getopt.c: Likewise.
26485 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
26486 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
26487 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
26488 `gnulib/getopt1.c' and `gnulib/getopt.c'.
26489 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
26490
26491 * configure.ac: Detect `mingw32msvc' host_os.
26492 Check for lstat(), getuid() and getgid().
26493
26494 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
26495 instances of `u_char' with `uint8_t'.
26496
26497 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
26498 [!HAVE_GETUID] (getuid): New function (stub).
26499 [!HAVE_GETGID] (getgid): Likewise.
26500 [!HAVE_LSTAT] (lstat): Likewise.
26501 [!S_IROTH] (S_IROTH): New macro (dummy).
26502 [!S_IRGRP] (S_IRGRP): Likewise.
26503
84b860d8
RM
265042009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26505
26506 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
26507 conditional expression).
26508
66e9b712
RM
265092009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26510
26511 Import from Gnulib.
26512
26513 * gnulib/fnmatch.c: New file.
26514 * gnulib/fnmatch.h: Likewise.
26515 * gnulib/fnmatch_loop.c: Likewise.
26516 * gnulib/getopt.c: Likewise.
26517 * gnulib/getopt.h: Likewise.
26518 * gnulib/getopt1.c: Likewise.
26519 * gnulib/getopt_int.h: Likewise.
26520 * gnulib/gettext.h: Likewise.
26521
34f4a5b0
RM
265222009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26523
26524 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
26525 * normal/handler.c (read_handler_list): Likewise.
26526
ac451143
RM
265272009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26528
26529 Misc cleanup.
26530
26531 * kern/command.c (grub_register_command_prio): Use
26532 grub_zalloc() instead of explicitly zeroing data.
26533 * kern/list.c: Include `<grub/mm.h>'.
26534 (grub_named_list_find): Replace `0' with `NULL'.
26535 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
26536 (fs_module_list): Change type to `grub_named_list_t'. Update all
26537 users.
26538 * normal/dyncmd.c (read_command_list): Add space between function
26539 call and parenthesis.
26540 * normal/handler.c (read_handler_list): Likewise.
26541
4089b167
RM
265422009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26543
26544 * normal/auth.c (punishment_delay): Moved from here ...
26545 (grub_auth_strcmp): ... to here (inside function).
26546
325f5037
RM
265472009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26548
26549 * include/grub/list.h (struct grub_named_list): Remove `const'
26550 qualifier from `name'.
26551 (struct grub_prio_list): Likewise.
26552
7aea29a3
RM
265532009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26554
26555 * normal/auth.c: Include `<grub/time.h>'.
26556 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
26557
3fd6f044
RM
265582009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26559
26560 * normal/auth.c (punishment_delay): New variable.
26561 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
26562 (grub_auth_check_authentication): Punish failed login attempts with
26563 an incremental (2^N) delay.
26564
a4cd68e4
RM
265652009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26566
26567 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
26568 path with $(srcdir).
26569
7ad12f43
VS
265702009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
26571
26572 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
26573
c1129f03
RM
265742009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26575
26576 * util/i386/coreboot/grub-mkrescue.in: New file.
26577 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
26578 variables.
26579
26580 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
26581 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
26582 * configure.ac: Add header and function checks to satisfy grub-mkisofs
26583 requirements.
26584 * util/mkisofs/defaults.h: New file.
26585 * util/mkisofs/eltorito.c: Likewise.
26586 * util/mkisofs/exclude.h: Likewise.
26587 * util/mkisofs/fnmatch.c: Likewise.
26588 * util/mkisofs/getopt.c: Likewise.
26589 * util/mkisofs/getopt1.c: Likewise.
26590 * util/mkisofs/hash.c: Likewise.
26591 * util/mkisofs/include/fctldefs.h: Likewise.
26592 * util/mkisofs/include/mconfig.h: Likewise.
26593 * util/mkisofs/include/prototyp.h: Likewise.
26594 * util/mkisofs/include/statdefs.h: Likewise.
26595 * util/mkisofs/iso9660.h: Likewise.
26596 * util/mkisofs/joliet.c: Likewise.
26597 * util/mkisofs/match.c: Likewise.
26598 * util/mkisofs/match.h: Likewise.
26599 * util/mkisofs/mkisofs.c: Likewise.
26600 * util/mkisofs/mkisofs.h: Likewise.
26601 * util/mkisofs/multi.c: Likewise.
26602 * util/mkisofs/name.c: Likewise.
26603 * util/mkisofs/rock.c: Likewise.
26604 * util/mkisofs/tree.c: Likewise.
26605 * util/mkisofs/write.c: Likewise.
26606
ec8bb77d
VS
266072009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
26608
26609 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
26610 being insecure.
26611
3716b12c
RM
266122009-11-08 Robert Millan <rmh.grub@aybabtu.com>
26613
26614 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
26615 `grub-mkimage' (and use $0 when possible).
26616
b97b7b91
RM
266172009-11-08 Robert Millan <rmh.grub@aybabtu.com>
26618
26619 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
26620 error message for excessively large memory map.
26621
04114812
RM
266222009-11-08 Robert Millan <rmh.grub@aybabtu.com>
26623
26624 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
26625 executable bit.
26626
e4eb2373
RM
266272009-11-08 Robert Millan <rmh.grub@aybabtu.com>
26628
26629 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
26630 message for coreboot users.
26631
c926e1d5 266322009-11-07 Robert Millan <rmh.grub@aybabtu.com>
26633
26634 Fix build with GNU gold.
26635
26636 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
26637 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
26638 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
26639 link addresses.
26640 * aclocal.m4: Likewise.
26641
86e5b1db 266422009-11-04 Felix Zielcke <fzielcke@z-51.de>
26643
26644 * configure.ac (AC_PREREQ): Bump to 2.59d.
26645 * INSTALL: Make it more clear when Autoconf and Ruby are
26646 needed and when to run `./autogen.sh'.
26647
246cd78f 266482009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
26649
26650 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
26651 OSes.
26652
4f9dfb37 266532009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
26654
26655 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
26656
b82bd5e1 266572009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
26658
26659 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
26660 giving it to GNU Mach.
26661
ff1a9bca 266622009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
26663
26664 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
26665 GNU partition number to get internal GRUB partition number.
26666
61697d9c 266672009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
26668
26669 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
26670 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
26671
a50569e1 266722009-11-01 Robert Millan <rmh.grub@aybabtu.com>
26673
26674 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
26675 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
26676 case.
26677
5b153867 266782009-11-01 Felix Zielcke <fzielcke@z-51.de>
26679
26680 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
26681
d9e2cd70 266822009-10-30 Robert Millan <rmh.grub@aybabtu.com>
26683
26684 Fix build problem.
26685
26686 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
26687 `-isystem=$(srcdir)/include'.
26688
805111a4 266892009-10-30 Robert Millan <rmh.grub@aybabtu.com>
26690
26691 * util/i386/pc/grub-install.in: Remove hint that device.map should be
26692 checked (grub-install doesn't currently rely on it).
26693
fa6e945f 266942009-10-29 Robert Millan <rmh.grub@aybabtu.com>
26695
26696 Revert SVN r2660.
26697
26698 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
26699 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
26700 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
26701 * conf/i386-ieee1275.rmk: Likewise.
26702 * conf/i386-pc.rmk: Likewise.
26703 * conf/powerpc-ieee1275.rmk: Likewise.
26704 * conf/sparc64-ieee1275.rmk: Likewise.
26705 * conf/x86_64-efi.rmk: Likewise.
26706
cee15086 267072009-10-28 Robert Millan <rmh.grub@aybabtu.com>
26708
26709 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
26710
95b9239e 267112009-10-28 Robert Millan <rmh.grub@aybabtu.com>
26712
26713 * include/grub/misc.h: Stop checking for APPLE_CC.
26714
2ed19dfd 267152009-10-28 Robert Millan <rmh.grub@aybabtu.com>
26716
26717 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
26718 doesn't cause an infinite call loop.
26719
fdcdde19 267202009-10-28 Felix Zielcke <fzielcke@z-51.de>
26721
26722 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
26723 strings.
26724
cefabfe1 267252009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26726
26727 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
26728 variable.
26729 * Makefile.in: Likewise.
26730
ed96ab6d 267312009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26732
26733 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
26734
0579b753 267352009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26736
26737 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
26738
478df409 267392009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26740
26741 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
26742
083d1679 267432009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26744
26745 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
26746 from here ...
26747 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
26748
5947ae32 267492009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26750
26751 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
26752 in $(MAKEINFO) invocation. This makes it clear in output that
26753 errors are being ignored.
26754
94180ff6 267552009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26756
26757 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
26758 from here ...
26759 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
26760 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
26761 * conf/i386-ieee1275.rmk: Likewise.
26762 * conf/i386-pc.rmk: Likewise.
26763 * conf/powerpc-ieee1275.rmk: Likewise.
26764 * conf/sparc64-ieee1275.rmk: Likewise.
26765 * conf/x86_64-efi.rmk: Likewise.
26766
9031b03a 267672009-10-26 Colin Watson <cjwatson@ubuntu.com>
26768
26769 * util/grub-editenv.c (main): If only a command is given, use
26770 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
26771 (usage): FILENAME is now optional and has a default.
26772
e4f6809b 267732009-10-26 Colin Watson <cjwatson@ubuntu.com>
26774
26775 Improve grub-mkconfig performance when there are several menu
26776 entries on a single filesystem.
26777
26778 * util/grub.d/10_linux.in (linux_entry): Cache the output of
26779 prepare_grub_to_access_device.
26780 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
26781 * util/grub.d/30_os-prober.in: Likewise.
26782
67937d4d 267832009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26784
26785 * util/grub.d/10_freebsd.in: Remove.
26786 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
26787 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
26788
ee3756cc 267892009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26790
5c35048e 26791 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 26792
4dea1c6f 267932009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26794
26795 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
26796 grub_util_error() call.
26797
042484d7 267982009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26799
26800 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
26801 `reserved_first_sector' member.
26802 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
26803 `reserved_first_sector' to 1.
26804 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
26805 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
26806 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
26807 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
26808 filesystems which begin at first sector.
26809 (options): New option --skip-fs-probe.
26810 (main): Handle --skip-fs-probe and pass it to setup().
26811
d64448a7 268122009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26813
26814 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
26815 (memset): Fix function prototype.
26816
508d42ec 268172009-10-25 Robert Millan <rmh.grub@aybabtu.com>
268182009-10-25 Vasily Averin <vvs@parallels.com>
26819
26820 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
26821 `dirent.direntlen == 0'.
26822
b240e30c 268232009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26824
26825 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
26826 `cpio'.
26827 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
26828
346e7fbe 268292009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26830
26831 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
26832 `__trampoline_setup' and `__ucmpdi2'.
26833 * include/grub/powerpc/libgcc.h: Only export symbols for functions
26834 that libgcc provides.
26835
cdb308b0 268362009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26837
26838 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
26839 * include/grub/sparc64/libgcc.h (memset): Likewise.
26840 * include/grub/misc.h (memset, memcmp): New function prototypes.
26841
fb26abc2 268422009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26843
26844 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
26845 `cpio'.
26846 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
26847
f6693890 268482009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26849
26850 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
26851 * docs/grub.cfg: Compensate for recent change in multiboot
26852 loader (since 2009-08-14 it won't pass filename to payload).
26853 * util/grub.d/10_hurd.in: Likewise.
26854
0933cdc0 268552009-10-21 Felix Zielcke <fzielcke@z-51.de>
26856
26857 * config.guess: Update to latest version from config git
26858 repository.
26859 * config.sub: Likewise.
26860
3b2fe8c2 268612009-10-20 Robert Millan <rmh.grub@aybabtu.com>
26862
26863 Fix build on sparc64.
26864
26865 * configure.ac: Perform checks for libgcc symbols before
26866 adding `-nostdlib' to LDFLAGS.
26867
46695a62 268682009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
26869
26870 Let user specify OpenBSD root device.
26871
26872 * loader/i386/bsd.c (openbsd_root): New variable.
26873 (openbsd_opts): New option 'root'.
26874 (OPENBSD_ROOT_ARG): New macro.
26875 (grub_openbsd_boot): Use 'openbsd_root'.
26876 (grub_cmd_openbsd): Fill 'openbsd_root'.
26877
d2b6b7fc 268782009-10-16 Robert Millan <rmh.grub@aybabtu.com>
26879
26880 * NEWS: Misc adjustments.
26881
421bd7ac 268822009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
26883
26884 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
26885
f1d29d87 268862009-10-16 Robert Millan <rmh.grub@aybabtu.com>
26887
26888 * configure.ac: Bump version to 1.97.
26889
6f3cd880 268902009-10-16 Colin Watson <cjwatson@ubuntu.com>
26891
26892 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
26893 -mno-3dnow on x86 architectures. Some toolchains enable these
26894 features by default, but they rely on registers that aren't enabled
26895 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
26896
035f7122 268972009-10-15 Robert Millan <rmh.grub@aybabtu.com>
26898
26899 Make entry text a bit more readable.
26900
26901 * util/grub.d/10_linux.in: Add `with' before `Linux'.
26902
44998e58 269032009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26904
26905 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
26906
cd2851b3 269072009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26908
26909 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
26910 operations.
26911
c6f3b249 269122009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26913
26914 * configure.ac: Add missing dollar.
26915
6b5886ba 269162009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26917
26918 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
26919
26920 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
26921 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
26922 exports.
26923 * include/grub/sparc64/libgcc.h: Likewise. Use
26924 preprocessor conditionals.
26925
e9d66f6d 269262009-10-14 Robert Millan <rmh.grub@aybabtu.com>
26927
26928 * conf/common.rmk (grub-dumpbios): Remove rule.
26929 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
26930 * util/grub-dumpbios.in: Remove file.
26931
9155bc17 269322009-10-14 Robert Millan <rmh.grub@aybabtu.com>
26933
26934 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
26935 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
26936
26937 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
26938 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
26939 users.
26940
26941 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
26942 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
26943 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
26944 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
26945 users.
26946
bf7f7a18 269472009-10-12 Robert Millan <rmh.grub@aybabtu.com>
26948
26949 * term/tparm.c: Switch to GPLv3.
26950
86564c26 269512009-10-09 Robert Millan <rmh.grub@aybabtu.com>
26952
26953 * include/grub/i386/cpuid.h: Add header protection.
26954
5c936493 269552009-10-09 Robert Millan <rmh.grub@aybabtu.com>
26956
26957 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
26958
26959 * include/grub/i386/cpuid.h: New file.
26960 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
26961 (has_longmode): Rename to ...
26962 (grub_cpuid_has_longmode): ... this. Update all users. Remove
26963 `static' attribute.
26964 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
26965 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
26966 on a CPU that doesn't implement AMD64 instruction set.
26967
186e7cf2 269682009-10-06 Colin Watson <cjwatson@ubuntu.com>
26969
26970 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
26971 that version.texi is rebuilt on version number changes.
26972
83b65c4a 269732009-10-06 Colin Watson <cjwatson@ubuntu.com>
26974
26975 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
26976 Fixes bug #27602.
26977
d244281c 269782009-10-06 Colin Watson <cjwatson@ubuntu.com>
26979
26980 * util/i386/pc/grub-install.in: Source
26981 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
26982 that the --grub-probe option will work.
26983 * util/sparc64/ieee1275/grub-install.in: Likewise.
26984
da25306d 269852009-10-05 Robert Millan <rmh.grub@aybabtu.com>
26986
26987 * configure.ac: Bump version to 1.97~beta4.
26988
e8ee83c0 269892009-10-03 Robert Millan <rmh.grub@aybabtu.com>
26990
26991 Resync grub-mkdevicemap in x86_64-efi.
26992
26993 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
26994 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
26995 `util/devicemap.c'.
26996
50dcabcf 269972009-10-01 Colin Watson <cjwatson@ubuntu.com>
26998
26999 * util/grub-editenv.c (create_envblk_file): Write new block with a
27000 .new suffix and then rename it into place, to ensure atomic
27001 creation.
27002
0e51c3a7 270032009-09-28 Robert Millan <rmh.grub@aybabtu.com>
27004
27005 Do not automatically install headers.
27006
27007 * Makefile.in (include_DATA): Remove. Update all users.
27008
31299a95 270092009-09-26 Robert Millan <rmh.grub@aybabtu.com>
27010
27011 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
27012 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
27013
27014 * util/osdetect.lua: Remove.
27015 * script/lua/lauxlib.c: Likewise.
27016 * script/lua/ldebug.c: Likewise.
27017 * script/lua/grub_main.c: Likewise.
27018 * script/lua/lauxlib.h: Likewise.
27019 * script/lua/ldebug.h: Likewise.
27020 * script/lua/ltablib.c: Likewise.
27021 * script/lua/liolib.c: Likewise.
27022 * script/lua/lstrlib.c: Likewise.
27023 * script/lua/lualib.h: Likewise.
27024 * script/lua/ldo.c: Likewise.
27025 * script/lua/ldump.c: Likewise.
27026 * script/lua/ldo.h: Likewise.
27027 * script/lua/loslib.c: Likewise.
27028 * script/lua/lundump.c: Likewise.
27029 * script/lua/grub_lib.c: Likewise.
27030 * script/lua/ldblib.c: Likewise.
27031 * script/lua/lundump.h: Likewise.
27032 * script/lua/lmem.c: Likewise.
27033 * script/lua/grub_lib.h: Likewise.
27034 * script/lua/lmathlib.c: Likewise.
27035 * script/lua/lstate.c: Likewise.
27036 * script/lua/ltm.c: Likewise.
27037 * script/lua/lvm.c: Likewise.
27038 * script/lua/lmem.h: Likewise.
27039 * script/lua/lstate.h: Likewise.
27040 * script/lua/ltm.h: Likewise.
27041 * script/lua/ltable.c: Likewise.
27042 * script/lua/lvm.h: Likewise.
27043 * script/lua/llex.c: Likewise.
27044 * script/lua/lgc.c: Likewise.
27045 * script/lua/grub_lua.h: Likewise.
27046 * script/lua/loadlib.c: Likewise.
27047 * script/lua/lfunc.c: Likewise.
27048 * script/lua/lopcodes.c: Likewise.
27049 * script/lua/lparser.c: Likewise.
27050 * script/lua/ltable.h: Likewise.
27051 * script/lua/llex.h: Likewise.
27052 * script/lua/lgc.h: Likewise.
27053 * script/lua/lfunc.h: Likewise.
27054 * script/lua/lbaselib.c: Likewise.
27055 * script/lua/lopcodes.h: Likewise.
27056 * script/lua/lparser.h: Likewise.
27057 * script/lua/lzio.c: Likewise.
27058 * script/lua/linit.c: Likewise.
27059 * script/lua/lobject.c: Likewise.
27060 * script/lua/llimits.h: Likewise.
27061 * script/lua/lstring.c: Likewise.
27062 * script/lua/lzio.h: Likewise.
27063 * script/lua/lapi.c: Likewise.
27064 * script/lua/lcode.c: Likewise.
27065 * script/lua/lua.h: Likewise.
27066 * script/lua/lobject.h: Likewise.
27067 * script/lua/lstring.h: Likewise.
27068 * script/lua/lapi.h: Likewise.
27069 * script/lua/lcode.h: Likewise.
27070 * script/lua/luaconf.h: Likewise.
27071
cb8a2c38 270722009-09-26 Colin Watson <cjwatson@ubuntu.com>
27073
27074 * docs/grub.texi (Command-line and menu entry commands): Document
27075 date and echo commands.
27076
6b9b6276 270772009-09-24 Pavel Roskin <proski@gnu.org>
27078
27079 * include/grub/kernel.h (struct grub_module_header): Remove
27080 `grub_module_header_types'. Make `type' unsigned. Make `size'
27081 32-bit on all platforms.
27082 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
27083 8-bit field. Use grub_host_to_target32() for `size'.
27084 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
27085 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
27086 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
27087
4e5a02a7 270882009-09-24 Robert Millan <rmh.grub@aybabtu.com>
27089
27090 Fix "lost keypress" bug in at_keyboard.
27091
27092 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
27093 Checks for readyness of input buffer (without flushing it).
27094 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
27095 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
27096
c6dcedf6 270972009-09-24 Robert Millan <rmh.grub@aybabtu.com>
27098
27099 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
27100 size check within GRUB_MACHINE_PCBIOS section.
27101
74c958b1 271022009-09-24 Robert Millan <rmh.grub@aybabtu.com>
27103
27104 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
27105 return value.
27106 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
27107 KEYBOARD_ISREADY check.
27108 (grub_at_keyboard_checkkey): Rename to ...
27109 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
27110 Remove gratuitous cast.
27111
ff420223 271122009-09-23 Colin Watson <cjwatson@ubuntu.com>
27113
27114 * configure.ac: Call AC_PROG_MKDIR_P.
27115 * Makefile.in (docs/stamp-vti): Create docs directory. Create
27116 version.texi in $(builddir) rather than $(srcdir).
27117 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
27118 to makeinfo's @include search path.
27119
d96875df 271202009-09-23 Felix Zielcke <fzielcke@z-51.de>
27121
27122 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
27123
9b3f8365 271242009-09-23 Felix Zielcke <fzielcke@z-51.de>
27125
27126 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
27127 for `*.dpkg-new'.
27128
c44c90db 271292009-09-21 Colin Watson <cjwatson@ubuntu.com>
27130
27131 Build info documentation. Some code borrowed from Automake.
27132
27133 * configure.ac: Check for makeinfo.
27134 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
27135 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
27136 docs/version.texi.
27137 (MOSTLYCLEANFILES): Add vti.tmp.
27138 (docs/version.texi, docs/stamp-vti): Update automatically.
27139 (docs/grub.info): Build info documentation. Use --force and ignore
27140 errors for now.
27141 (all-local): Add $(INFOS).
27142 (install-local): Install info files.
27143 (uninstall): Uninstall info files.
27144 * docs/version.texi: Remove from revision control. This file is
27145 automatically generated on build now.
27146 * gendistlist.sh: Add `*.info'.
27147
e0b37bb5 271482009-09-21 Felix Zielcke <fzielcke@z-51.de>
27149
27150 * kern/term.c: Fix indentation.
27151
5a78865b 271522009-09-21 Felix Zielcke <fzielcke@z-51.de>
27153
27154 * util/hostdisk.c: Fix a comment.
27155
dace7e8a 271562009-09-20 Robert Millan <rmh.grub@aybabtu.com>
27157
27158 Fix regression introduced in r2539.
27159
27160 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
27161 to 0xA1.
27162
a83d079b 271632009-09-19 Colin Watson <cjwatson@ubuntu.com>
27164
27165 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 27166 os-prober. Under normal operation, it does not print anything to
27167 stderr; if it does, we need to debug it, and throwing away stderr
27168 makes that excessively difficult.
a83d079b 27169
be94a509 271702009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
27171
27172 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
27173
63f745e8 271742009-09-16 Robert Millan <rmh.grub@aybabtu.com>
27175
27176 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
27177 AC_LANG_PROGRAM from autoconf.
27178 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
27179 prototypes (fixes warning).
27180
27181 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
27182 `--disable-werror' was used.
27183
bbb2a70f 271842009-09-16 Robert Millan <rmh.grub@aybabtu.com>
27185
27186 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
27187 uninitialized `lastaddr'.
27188
77c24f1d 271892009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
27190
0f0b8c87 27191 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 27192
07197f23 271932009-09-14 Colin Watson <cjwatson@ubuntu.com>
27194
27195 * commands/test.c (get_fileinfo): Return immediately if
27196 grub_fs_probe fails.
27197
dabf1798 271982009-09-14 José Martínez <xosemp@gmail.com>
27199
27200 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
27201
d52109a7 272022009-09-14 Colin Watson <cjwatson@ubuntu.com>
27203
27204 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
27205 output.
27206
56532179 272072009-09-13 Robert Millan <rmh.grub@aybabtu.com>
27208
27209 * configure.ac: Remove --enable-grub-pe2elf. Only build
27210 grub-pe2elf when needed by the build system itself.
27211 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
27212
8ef070f5 272132009-09-12 Robert Millan <rmh.grub@aybabtu.com>
27214
27215 * configure.ac: Bump version to 1.97~beta3.
27216 * docs/version.texi: Likewise.
27217
61229557 272182009-09-12 Robert Millan <rmh.grub@aybabtu.com>
27219
27220 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
27221 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
27222 from here ...
27223 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
27224 (grub_linux_setup_video): ... to here (with some adjustments).
27225
5c9f8d84 272262009-09-12 Robert Millan <rmh.grub@aybabtu.com>
27227
27228 Fix memory corruption issue (spotted by Colin Watson).
27229
27230 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
27231 causing returned size to be stored in an incorrect memory location.
27232 Fix use of uninitialized value when storing the returned size.
27233
e8f5d6e9 272342009-09-12 Yves Blusseau <blusseau@zetam.org>
27235
27236 Change clean rules to properly remove files
27237
27238 * genmk.rb: add new clean rules
27239 * Makefile.in (clean): add the new targets
27240 (mostlyclean): likewise
27241
cda2a409 272422009-09-11 Colin Watson <cjwatson@ubuntu.com>
27243
27244 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
27245 to grub_uint64_t.
27246 * fs/ntfs.c (init_file): Understand 64-bit sizes for
27247 non-resident files.
27248
86695375 272492009-09-11 Colin Watson <cjwatson@ubuntu.com>
27250
27251 * configure.ac: Don't look for help2man when cross-compiling. Fixes
27252 part of bug #27349.
27253
8aa1541a 272542009-09-10 Felix Zielcke <fzielcke@z-51.de>
27255
27256 * util/grub-mkconfig.in: Make the created config mode 400 and
27257 print a warning if it fails.
27258
48d9bb0a 272592009-09-10 Robert Millan <rmh.grub@aybabtu.com>
27260
27261 * util/grub.d/40_custom.in: Ask user to type custom entries below
27262 comment, rather than below 'exec tail' line.
27263
3b0521be 272642009-09-10 Colin Watson <cjwatson@ubuntu.com>
27265
27266 * util/grub.d/40_custom.in: Make sure that the explanatory text is
27267 visible in grub.cfg.
27268
50051d55 272692009-09-10 Colin Watson <cjwatson@ubuntu.com>
27270
27271 * util/grub.d/40_custom.in: Make it a little clearer how to use this
27272 file.
27273
c0d34387 272742009-09-10 Felix Zielcke <fzielcke@z-51.de>
27275
27276 * docs/grub.cfg: Add an example menu entry for memtest86+.
27277
80a608f3 272782009-09-09 Felix Zielcke <fzielcke@z-51.de>
27279
a2094832 27280 * config.guess: Update to latest version from config git.
80a608f3 27281 * config.sub: Likewise.
27282
99423078 272832009-09-08 Colin Watson <cjwatson@ubuntu.com>
27284
27285 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
27286 unknown-command case. Fixes bug #27320.
27287
44454e4c 272882009-09-08 Felix Zielcke <fzielcke@z-51.de>
27289
27290 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
27291 `help' if the command exists.
27292
e30d87ad 272932009-09-06 Robert Millan <rmh.grub@aybabtu.com>
27294
27295 * INSTALL: Require GCC 4.1.3 or later.
27296
9a86f1ec 272972009-09-06 Yves Blusseau <blusseau@zetam.org>
27298
27299 * Makefile.in (RMKFILES): add i386-qemu.rmk
27300 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
27301 $(srcdir)/stamp-h.in
27302
7f26d466 273032009-09-05 Robert Millan <rmh.grub@aybabtu.com>
27304
27305 * util/grub-probe.c (probe): Comment out buggy codepath, which
27306 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
27307 should be re-enabled after 1.97.
27308
3a613259 273092009-09-05 Felix Zielcke <fzielcke@z-51.de>
27310
27311 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
27312 find searches for.
27313
197f76c7 273142009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
27315
27316 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
27317 unnecessary calls to grub_error.
27318
70ba68ce 273192009-09-04 Colin Watson <cjwatson@ubuntu.com>
27320
27321 * NEWS: Mention `keystatus' and Unicode fonts.
27322
4ff0d7a4 273232009-09-04 Robert Millan <rmh.grub@aybabtu.com>
27324
27325 * configure.ac: Bump version to 1.97~beta2.
27326 * docs/version.texi: Likewise.
27327
77c55a87 273282009-09-03 Colin Watson <cjwatson@ubuntu.com>
27329
27330 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
27331 containing unwind information in some cases where it previously did
27332 not. Use -fno-dwarf2-cfi-asm if available to restore the old
27333 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
27334 discussion.
27335
f79572cd 273362009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
27337
27338 Embedding loadenv module into grub-emu
27339
27340 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
27341 commands/loadenv.c
27342 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
27343 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
27344 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
27345 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
27346 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
27347 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
27348
93a81088 273492009-09-03 Magnus Granberg <zorry@ume.nu>
27350
27351 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
27352 include -fPIE in the default specs.
27353 * configure.ac: Check if pie_possible is yes and add -fno-PIE
27354 to TARGET_CFLAGS.
27355
160034b2 273562009-09-03 Felix Zielcke <fzielcke@z-51.de>
27357
27358 * INSTALL: Note that GNU Bison 2.3 or later is required.
27359
087c07c4 273602009-09-03 Colin Watson <cjwatson@ubuntu.com>
27361
27362 * kern/i386/pc/startup.S: Fix typo.
27363
cbf978c0 273642009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
27365
27366 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
27367 according to GCS.
27368
273692009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 27370
27371 * docs/grub.texi (Naming convention): Describe one-based partition
27372 numbering.
27373 (Device syntax): Likewise.
27374 (File name syntax): Likewise.
27375 (Block list syntax): Likewise.
27376 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
27377 menu.lst.
27378 (File name syntax): Likewise.
27379 (Command-line and menu entry commands): Document acpi, blocklist,
27380 crc, export, insmod, keystatus, ls, set, and unset commands.
27381
f3e8cdfd 273822009-09-02 Colin Watson <cjwatson@ubuntu.com>
27383
27384 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
27385 to avoid implying that only one of --shift, --ctrl, or --alt may be
27386 used.
27387
c0bc232b 273882009-09-02 Colin Watson <cjwatson@ubuntu.com>
27389
27390 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
27391 rather than comparing against S_IFREG, which will almost never work.
27392
aa0f752d 273932009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
27394
27395 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
27396 (write_blocklists): Likewise.
27397
ecb3166a 273982009-09-01 Colin Watson <cjwatson@ubuntu.com>
27399
27400 * script/lua/grub_lua.h (fputs): Supply a format string as the first
27401 argument to grub_printf.
27402
c403a125 274032009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 27404
27405 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 27406 non GNU test.
31aba781 27407
b5e7312c 274082009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
27409
27410 * kern/file.c (grub_file_read): Spelling fix
27411
fe00f472 274122009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
27413
27414 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
27415 loading of headers in some cases.
27416
cc55302e 274172009-08-30 Robert Millan <rmh.grub@aybabtu.com>
27418
27419 * configure.ac: Bump version to 1.97~beta1.
27420 * docs/version.texi: Likewise.
27421
5c90cdd2 274222009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 27423
27424 * include/grub/i386/xnu.h: Add license header.
27425 include grub/err.h explicitly.
27426
c90edae4 274272009-08-29 Robert Millan <rmh.grub@aybabtu.com>
27428
27429 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
27430 to `ufs' in the vfs.root.mountfrom kernel parameter.
27431
d8888b5c 274322009-08-29 Robert Millan <rmh.grub@aybabtu.com>
27433
27434 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
27435
27436 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
27437 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
27438
27439 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
27440 `ARRAY_SIZE' macro.
27441
6f07b921 274422009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
27443
27444 * kern/file.c (grub_file_read): Check offset.
27445 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
27446 * fs/jfs.c (grub_jfs_read_file): Likewise.
27447 * fs/ntfs.c (grub_ntfs_read): Likewise.
27448 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
27449 * fs/minix.c (grub_minix_read_file): Correct offset check.
27450 * fs/ufs.c (grub_ufs_read_file): Likewise.
27451
b4f34077 274522009-08-28 Colin Watson <cjwatson@ubuntu.com>
27453
27454 * term/i386/pc/console.c (bios_data_area): Cast
27455 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
27456
e7c69859 274572009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
27458
27459 1-bit optimised blitters.
27460
27461 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
27462 prototype.
27463 (grub_video_fbblit_replace_24bit_1bit): Likewise.
27464 (grub_video_fbblit_replace_16bit_1bit): Likewise.
27465 (grub_video_fbblit_replace_8bit_1bit): Likewise.
27466 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
27467 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
27468 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
27469 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
27470 function.
27471 (grub_video_fbblit_replace_24bit_1bit): Likewise.
27472 (grub_video_fbblit_replace_16bit_1bit): Likewise.
27473 (grub_video_fbblit_replace_8bit_1bit): Likewise.
27474 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
27475 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
27476 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
27477 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
27478 when possible.
27479 * video/video.c (grub_video_get_blit_format): Return
27480 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
27481
a57da43f 274822009-08-28 Colin Watson <cjwatson@ubuntu.com>
27483
27484 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
27485 the first argument to grub_printf.
27486
4cbe67e5 274872009-08-28 Colin Watson <cjwatson@ubuntu.com>
274882009-08-28 Robert Millan <rmh.grub@aybabtu.com>
27489
27490 Add `getkeystatus' terminal method. Add a new `keystatus' command
27491 to query it.
27492
27493 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
27494 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
27495 modifier key bitmasks.
27496 (struct grub_term_input): Add `getkeystatus' member.
27497 (grub_getkeystatus): Add prototype.
27498 * kern/term.c (grub_getkeystatus): New function.
27499
27500 * include/grub/i386/pc/memory.h
27501 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
27502 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
27503 Data Area layout.
27504 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
27505 (grub_console_term_input): Set `getkeystatus' member.
27506 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
27507 constants.
27508 (grub_usb_keyboard_getreport): Likewise.
27509 (grub_usb_keyboard_checkkey): Likewise.
27510 (grub_usb_keyboard_getkeystatus): New function.
27511 (grub_usb_keyboard_term): Set `getkeystatus' member.
27512
27513 * commands/keystatus.c: New file.
27514 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
27515 (keystatus_mod_SOURCES): New variable.
27516 (keystatus_mod_CFLAGS): Likewise.
27517 (keystatus_mod_LDFLAGS): Likewise.
27518 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
27519 commands/keystatus.c.
27520 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27521 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27522 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27523 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27524 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27525 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 27526
6e2a9085 275272009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
27528
27529 Split befs.mod and afs.mod into *_be.mod and *.mod
27530
27531 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
27532 (grub_fstest_SOURCES): Likewise.
27533 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
27534 (afs_be_mod_SOURCES): New variable.
27535 (afs_be_mod_CFLAGS): Likewise.
27536 (afs_be_mod_LDFLAGS): Likewise.
27537 (befs_be_mod_SOURCES): Likewise.
27538 (befs_be_mod_CFLAGS): Likewise.
27539 (befs_be_mod_LDFLAGS): Likewise.
27540 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
27541 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27542 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27543 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
27544 (grub_emu_SOURCES): Likewise.
27545 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27546 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27547 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27548 * fs/afs_be.c: New file.
27549 * fs/befs_be.c: New file.
27550 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
27551 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
27552 (U16): Replaced with ...
27553 (grub_afs_to_cpu16): ...this. All users updated.
27554 (U32): Replaced with ...
27555 (grub_afs_to_cpu32): ...this. All users updated.
27556 (U64): Replaced with ...
27557 (grub_afs_to_cpu64): ...this. All users updated.
27558 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
27559 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 27560 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 27561 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
27562 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
27563 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
27564 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
27565 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
27566 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
27567 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
27568 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
27569
32a71655 275702009-08-26 Bean <bean123ch@gmail.com>
27571
27572 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
27573 64-bit number.
27574 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
27575 (grub_xfs_inode_block): Change return type to grub_uint64_t.
27576 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
27577
552bf6c5 275782009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27579
27580 NetBSD memory map support.
27581
27582 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
27583 (grub_netbsd_btinfo_mmap_header): New structure.
27584 (grub_netbsd_btinfo_mmap_entry): Likewise.
27585 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
27586
1ae2078c 275872009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27588
27589 Enable bsd.mod on coreboot.
27590
27591 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
27592 (bsd_mod_SOURCES): New variable.
27593 (bsd_mod_CFLAGS): Likewise.
27594 (bsd_mod_LDFLAGS): Likewise.
27595 (bsd_mod_ASFLAGS): Likewise.
27596 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
27597 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
27598
beefc598 275992009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27600
27601 Cleanup NetBSD root support.
27602
27603 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
27604 grub_bsd_get_device.
27605 Fix typo.
27606
3b76e68b 276072009-08-25 Felix Zielcke <fzielcke@z-51.de>
27608
27609 * util/grub.d/00_header.in: Move check for the video backend of
27610 gfxterm from here ...
27611 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
27612 a suitable video backend.
27613
aea664ea 276142009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27615
27616 Fix breakage in grub-setup.
27617
27618 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
27619 "msdos_partition_map".
27620
ff747d50 276212009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27622
27623 Fix breakage in normal/auth.c.
27624
27625 * normal/auth.c (grub_iswordseparator): New function.
27626
e7e1f93f 276272009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27628
27629 Authentication support.
27630
27631 * commands/password.c: New file.
27632 * conf/common.rmk (pkglib_MODULES): Add password.mod.
27633 (password_mod_SOURCES): New variable.
27634 (password_mod_CFLAGS): Likewise.
27635 (password_mod_LDFLAGS): Likewise.
27636 (normal_mod_SOURCES): Add normal/auth.c.
27637 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
27638 normal/auth.c.
27639 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27640 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27641 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27642 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27643 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27644 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27645 * include/grub/auth.h: New file.
27646 * include/grub/err.h (grub_err_t): New enum value
27647 GRUB_ERR_ACCESS_DENIED.
27648 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
27649 'users'.
27650 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
27651 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
27652 users updated.
27653 * normal/auth.c: New file.
27654 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
27655 (grub_cmdline_run): Don't allow to go to command line without
27656 authentication.
27657 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
27658 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
27659 menuentry without superuser rights.
27660 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
27661 user isn't a superuser.
27662
70f1161d 276632009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27664
27665 Save space by inlining misc.c functions.
27666
27667 * kern/misc.c (grub_iswordseparator): Made static.
27668 * kern/misc.c (grub_strcat): Moved from here ...
27669 * include/grub/misc.h (grub_strcat): ... here. Inlined.
27670 * kern/misc.c (grub_strncat): Moved from here ...
27671 * include/grub/misc.h (grub_strncat): ... here. Inlined.
27672 * kern/misc.c (grub_strcasecmp): Moved from here ...
27673 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
27674 * kern/misc.c (grub_strncasecmp): Moved from here ...
27675 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
27676 * kern/misc.c (grub_isalpha): Moved from here ...
27677 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
27678 * kern/misc.c (grub_isdigit): Moved from here ...
27679 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
27680 * kern/misc.c (grub_isgraph): Moved from here ...
27681 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
27682 * kern/misc.c (grub_tolower): Moved from here ...
27683 * include/grub/misc.h (grub_tolower): ... here. Inlined.
27684
48e40bff 276852009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27686
27687 * script/sh/function.c (grub_script_function_find): Cut error message
27688 not to flood terminal.
27689 * script/sh/lexer.c (grub_script_yylex): Remove command line length
27690 limit.
27691 * script/sh/script.c (grub_script_arg_add): Duplicate string.
27692
c385bfc3 276932009-08-24 Colin Watson <cjwatson@ubuntu.com>
27694
27695 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
27696 `report' grub_uint8_t *.
27697 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
27698 Use a 50-millisecond timeout rather than just repeating
27699 grub_usb_keyboard_getreport 50 times.
27700 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
27701
2d21e3e8 277022009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27703
27704 Rename *_partition_map to part_*
27705
27706 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
27707 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
27708 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
27709 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
27710 All users updated.
27711 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
27712 All users updated.
27713 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
27714 * util/grub-probe.c (probe_partmap): Don't transform partition name
27715 to get module name.
27716
dd103c4e 277172009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27718
27719 Fix OpenBSD and NetBSD support.
27720
27721 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
27722 memory address conflict.
27723 (OPENBSD_MMAP_ACPI): New definition.
27724 (OPENBSD_MMAP_NVS): Likewise.
27725 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
27726 and OPENBSD_MMAP_NVS.
27727 Add memory map terminator
27728 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 27729 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 27730
16c84d74 277312009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27732
27733 Let user specify NetBSD root device.
27734
27735 * loader/i386/bsd.c (netbsd_root): New variable.
27736 (netbsd_opts): New option 'root'.
27737 (NETBSD_ROOT_ARG): New macro.
27738 (grub_netbsd_boot): Use 'netbsd_root'.
27739 (grub_bsd_unload): Free 'netbsd_root'.
27740 (grub_cmd_netbsd): Fill 'netbsd_root'.
27741
adb29902 277422009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27743
27744 Support for 64-bit NetBSD.
27745
27746 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
27747 point when booting non-FreeBSD.
27748
f5ae9f74 277492009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27750
27751 Support --no-smp and --no-acpi for NetBSD.
27752
27753 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
27754 (NETBSD_AB_NOACPI): Likewise.
27755 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
27756 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
27757
de74f136 277582009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
27759
27760 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
27761 errors.
27762 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
27763 errors. Call grub_error when needed.
27764
e9a925da 277652009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
27766
27767 * commands/search.c (search_fs): Try searching without autoload first.
27768 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
27769 filesystem module explicitly for faster booting.
27770
5174302b 277712009-08-23 Colin Watson <cjwatson@ubuntu.com>
27772
27773 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
27774
c8c80635 277752009-08-23 Colin Watson <cjwatson@ubuntu.com>
27776
27777 * util/grub.d/30_os-prober.in: Disable os-prober if
27778 `GRUB_DISABLE_OS_PROBER' was set to true.
27779
71acf5e5 277802009-08-23 Robert Millan <rmh.grub@aybabtu.com>
27781
27782 * partmap/pc.c: Rename to ...
27783 * partmap/msdos.c: ... this. Update all users.
27784 (grub_pc_partition_map): Rename to ...
27785 (grub_msdos_partition_map): ... this. Update all users.
27786
27787 * parttool/pcpart.c: Rename to ...
27788 * parttool/msdospart.c: ... this. Update all users.
27789
27790 * include/grub/pc_partition.h: Rename to ...
27791 * include/grub/msdos_partition.h: ... this. Update all users.
27792 (grub_pc_partition_bsd_entry): Rename to ...
27793 (grub_msdos_partition_bsd_entry): ... this. Update all users.
27794 (grub_pc_partition_disk_label): Rename to ...
27795 (grub_msdos_partition_disk_label): ... this. Update all users.
27796 (grub_pc_partition_entry): Rename to ...
27797 (grub_msdos_partition_entry): ... this. Update all users.
27798 (grub_pc_partition_mbr): Rename to ...
27799 (grub_msdos_partition_mbr): ... this. Update all users.
27800 (grub_pc_partition): Rename to ...
27801 (grub_msdos_partition): ... this. Update all users.
27802 (grub_pc_partition_is_empty): Rename to ...
27803 (grub_msdos_partition_is_empty): ... this. Update all users.
27804 (grub_pc_partition_is_extended): Rename to ...
27805 (grub_msdos_partition_is_extended): ... this. Update all users.
27806 (grub_pc_partition_is_bsd): Rename to ...
27807 (grub_msdos_partition_is_bsd): ... this. Update all users.
27808
27809 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
27810 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
27811 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
27812 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
27813 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
27814 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
27815 (gpt_mod_LDFLAGS): Rename to ...
27816 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
27817 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
27818 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
27819 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
27820 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
27821 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
27822 (part_gpt_mod_LDFLAGS): ... this.
27823 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
27824 `pcpart.mod' to `msdospart.mod'.
27825 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
27826 to ...
27827 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
27828 (msdospart_mod_LDFLAGS): ... this.
27829
c11fded5 278302009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
27831
27832 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
27833 (openbsd_opts): Likewise.
27834 (netbsd_opts): Likewise.
27835 (freebsd_flags): Added 0 terminator.
27836 (openbsd_flags): Likewise.
27837 (netbsd_flags): Likewise.
27838 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
27839 (grub_cmd_freebsd): Transformed into extended command.
27840 (grub_cmd_openbsd): Likewise.
27841 (grub_cmd_netbsd): Likewise.
27842 (cmd_freebsd): Changed type to grub_extcmd_t.
27843 (cmd_openbsd): Likewise.
27844 (cmd_netbsd): Likewise.
27845 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
27846 grub_cmd_openbsd as extended commands.
27847 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
27848 cmd_netbsd and cmd_openbsd
27849
11d1c769 278502009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
27851
27852 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
27853
7a9094e5 278542009-08-21 Pavel Roskin <proski@gnu.org>
27855
5496c37e 27856 * Makefile.in (install-local): When checking if a file is in the
27857 build directory, use "test -e" to detect symlinks.
27858
7a9094e5 27859 * Makefile.in (install-local): Remove all files in
27860 $(DESTDIR)$(pkglibdir) before installing new files there.
27861
e53cea11 278622009-08-18 Felix Zielcke <fzielcke@z-51.de>
27863
27864 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
27865 grub-mkelfimage.
27866
9aced544 278672009-08-18 Felix Zielcke <fzielcke@z-51.de>
27868
27869 * util/grub-mkconfig.in: Don't use gfxterm by default if not
27870 explicitly specified by the user.
27871
b7da6bab 278722009-08-18 Pavel Roskin <proski@gnu.org>
27873
27874 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
27875 grub_uint8_t pointer for data.
27876 * include/grub/fbutil.h (struct grub_video_fbblit_info):
27877 Likewise.
27878 * video/fb/fbutil.c: Remove unnecessary casts.
27879
19f1b335 278802009-08-17 Michal Suchanek <hramrach@centrum.cz>
27881
27882 VBE cleanup.
27883
27884 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
27885 (grub_vbe_set_video_mode): Save active mode info
27886 only after setting the mode.
27887 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
27888 second argument.
27889
2f467aa9 278902009-08-17 Michal Suchanek <hramrach@centrum.cz>
27891
27892 Rename variables for clarity.
27893
27894 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
27895 (active_vbe_mode_info): ... this. All users updated.
27896 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
27897 All users updated.
27898 (initial_mode): Rename to ...
27899 (initial_vbe_mode): ... this. All users updated.
27900 (mode_in_use): Rename to ..
27901 (vbe_mode_in_use): ... this. All users updated.
27902 (mode_list): Rename to ..
27903 (vbe_mode_list): ... this. All users updated.
27904 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
27905 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
27906 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
27907 'mode_list_size' to 'vbe_mode_list_size'.
27908 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
27909 'best_mode_info' to 'best_vbe_mode_info' and
27910 'best_mode' to 'best_vbe_mode'
27911
6025fcd7 279122009-08-17 Michal Suchanek <hramrach@centrum.cz>
27913
27914 Remove duplicate grub_video_fb_get_video_ptr.
27915
27916 * include/grub/fbutil.h (get_data_ptr): Rename to ...
27917 (grub_video_fb_get_video_ptr): ... this.
27918 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
27919 * video/fb/fbutil.c: Add comment about addressing.
27920 (get_data_ptr): Rename to ...
27921 (grub_video_fb_get_video_ptr): ... this. All users updated.
27922 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
27923
cc8c6faf 279242009-08-17 Robert Millan <rmh.grub@aybabtu.com>
27925
27926 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
27927 grub_dprintf() that was just added.
27928
08aa61f0 279292009-08-17 Robert Millan <rmh.grub@aybabtu.com>
27930
27931 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
27932 (DEFAULT_VIDEO_MODE): Remove macros.
27933 (grub_linux_boot): Remove assumption that Linux has FB support,
27934 and use "text" as default video mode.
27935
7cef4f75 279362009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
27937
27938 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
27939 grub_dprintf.
27940 * fs/fat.c (grub_fat_read_data): Likewise.
27941
e1f39873 279422009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27943
27944 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
27945 payload.
27946 (grub_module): Likewise.
27947
c166d79e 279482009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27949
27950 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
27951 mbi->cmdline but free playground.
27952
c60cee8e 279532009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27954
27955 Handle group offset on UFS1.
27956
27957 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
27958 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
27959
c0d8b5d4 279602009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27961
27962 Split ufs.mod into ufs1.mod and ufs2.mod.
27963
27964 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
27965 (grub_fstest_SOURCES): Likewise.
27966 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
27967 (ufs_mod_SOURCES): Remove.
27968 (ufs_mod_CFLAGS): Likewise.
27969 (ufs_mod_LDFLAGS): Likewise.
27970 (ufs1_mod_SOURCES): New variable.
27971 (ufs1_mod_CFLAGS): Likewise.
27972 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 27973 (ufs2_mod_SOURCES): New variable.
27974 (ufs2_mod_CFLAGS): Likewise.
27975 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 27976 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
27977 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
27978 Likewise.
27979 (grub_emu_SOURCES): Likewise.
27980 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27981 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27982 (grub_setup_SOURCES): Likewise.
27983 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27984 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
27985 (grub_setup_SOURCES): Likewise.
27986 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
27987 Likewise.
27988 * fs/ufs2.c: New file.
27989 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
27990
d3539132 279912009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27992
27993 Framebuffer split.
27994
27995 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
27996 subsystem at the end.
27997 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
27998 (video_fb_mod_SOURCES): New variable.
27999 (video_fb_mod_CFLAGS): Likewise.
28000 (video_fb_mod_LDFLAGS): Likewise.
28001 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
28002 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
28003 * video/i386/pc/vbeblit.c: Moved from here ...
28004 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
28005 * video/i386/pc/vbefill.c: Moved from here ...
28006 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
28007 * video/i386/pc/vbeutil.c: Moved from here ...
28008 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
28009 * include/grub/i386/pc/vbeblit.h: Moved from here ...
28010 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
28011 * include/grub/i386/pc/vbefill.h: Moved from here ...
28012 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
28013 * include/grub/i386/pc/vbeutil.h: Moved from here ...
28014 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
28015 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
28016 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
28017 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
28018 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
28019 (grub_video_adapter): Added 'get_info_and_fini'.
28020 (grub_video_get_info_and_fini): New prototype.
28021 (grub_video_set_mode): make modestring const char *.
28022 * loader/i386/linux.c (grub_linux_setup_video): Use
28023 grub_video_get_info_and_fini.
28024 (grub_linux_boot): Move modesetting just before booting.
28025 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
28026 grub_video_get_info_and_fini.
28027 * video/i386/pc/vbe.c: Moved framebuffer part ...
28028 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
28029 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
28030 grub_video_fbstd_colors and grub_video_fb_set_palette.
28031 (grub_video_vbe_init): Clear 'framebuffer' variable and use
28032 grub_video_fb_init.
28033 (grub_video_vbe_fini): Use grub_video_fb_fini.
28034 (grub_video_vbe_setup): Use framebuffer.render_target instead of
28035 render_target and use grub_video_fb_set_active_render_target and
28036 grub_video_fb_set_palette.
28037 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
28038 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
28039 (grub_video_vbe_adapter): Use framebuffer.
28040 * video/video.c (grub_video_get_info_and_fini): New function.
28041 (grub_video_set_mode): Make modestring const char *.
28042 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
28043 values are already initialised.
28044
d404ee56 280452009-08-14 Pavel Roskin <proski@gnu.org>
28046
28047 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
28048 ABS and APPLE_CC.
28049 * boot/i386/pc/diskboot.S: Likewise.
28050 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
28051 sectors allow compilation on MacOSX.
28052 * conf/i386-pc.rmk: Enable unconditional compilation of
28053 lnxboot.img.
28054
9a10df16 280552009-08-13 Colin Watson <cjwatson@ubuntu.com>
28056
28057 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
28058 * util/grub.d/00_header.in: Enter interruptible sleep if
28059 GRUB_HIDDEN_TIMEOUT is set.
28060
be3c9ca7 280612009-08-13 Yves Blusseau <blusseau@zetam.org>
28062
28063 * include/grub/symbol.h: Add the LOCAL macro.
28064 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
28065 starting with "L_".
28066
1f9e557e 280672009-08-13 Pavel Roskin <proski@gnu.org>
28068
9ca62843 28069 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
28070 any modern compilers we support.
28071
1f9e557e 28072 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
28073 Use local labels starting with "L_" so that Apple assembler
28074 knows they are local.
28075
81623db6 280762009-08-10 Robert Millan <rmh.grub@aybabtu.com>
28077
28078 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
28079 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
28080 (bsd_kernel_types): ... this enum.
28081
28082 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
28083 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
28084 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
28085
28086 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
28087 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
28088 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
28089 messages.
28090
f5d35e7a 280912009-08-08 Robert Millan <rmh.grub@aybabtu.com>
28092
28093 * util/grub-dumpdevtree: Moved from here ...
28094 * util/i386/efi/grub-dumpdevtree: ... to here.
28095 (hexify): New function. Converts a string to its hex version.
28096 Generate hex versions of "efi" and "device-properties" by calling
28097 hexify() on the ASCII strings rather than by hardcoding numbers.
28098
d1e1d527 280992009-08-08 Robert Millan <rmh.grub@aybabtu.com>
28100
28101 * fs/jfs.c: Update copyright year.
28102
1ebbe064 281032009-08-08 Felix Zielcke <fzielcke@z-51.de>
28104
28105 * util/grub.d/00_header.in: Fix a comment.
28106 * util/grub.d/10_linux.in: Likewise.
28107 * util/grub.d/10_windows.in: Likewise.
28108 * util/grub.d/10_hurd.in: Likewise.
28109
a78c8d24 281102009-08-08 Felix Zielcke <fzielcke@z-51.de>
28111
28112 * util/grub-mkconfig.in: Allow the user to specify the used font
28113 with GRUB_FONT.
28114
29a6b9e8 281152009-08-08 Pavel Roskin <proski@gnu.org>
28116
b5f16cc4 28117 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
28118 available, xfs.mod needs it now.
28119
2f5cb827 28120 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
28121 the "g" modifier in sed when the intention is to strip something
28122 once. This fixes comparison of kernels with multiple dashes.
28123
29a6b9e8 28124 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
28125 on it. Add missing space before closing bracket. Fix
28126 misleading formatting.
28127
892a3d98 281282009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28129
28130 * docs/grub.texi: Major overhaul. Remove all sections that are
28131 specific to GRUB Legacy, or mostly composed of Legacy-specific
28132 information.
28133
ed94253f 281342009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28135
28136 * docs/version.texi: New file. Provides version information for
28137 grub.texi.
28138
126d6628 281392009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28140
28141 * docs/grub.texi: Update CVS information to SVN.
28142 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
28143
998b5aa9 281442009-08-07 Felix Zielcke <fzielcke@z-51.de>
28145
28146 * util/grub-mkconfig.in: Remove a wrong `fi'.
28147
818e094a 281482009-08-07 Felix Zielcke <fzielcke@z-51.de>
28149
28150 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
28151 (grub_jfs_uuid): New function.
28152 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
28153
b969c52f 281542009-08-07 Felix Zielcke <fzielcke@z-51.de>
28155
28156 * util/grub-mkconfig_lib.in (font_path): Move the functionality
28157 of it to ...
28158 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
28159 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
28160
7a4894cc 281612009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28162
28163 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
28164 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
28165 Update all users.
28166
28167 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
28168 not just "vmlinu[zx]".
28169 Moved from here ...
28170 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
28171 all users.
28172
28173 * util/grub.d/10_linux.in (find_latest): Moved from here ...
28174 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
28175 all users.
28176
4e2171f8 281772009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28178
28179 * util/grub.d/10_freebsd.in: Use an absolute device path for
28180 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
28181
6dcfcb32 281822009-08-06 Felix Zielcke <fzielcke@z-51.de>
28183
28184 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
28185 handling of multiple abstraction modules.
28186
f56a8756 281872009-08-04 Robert Millan <rmh.grub@aybabtu.com>
28188
28189 Fix a bug resulting in black screen when loading Linux using a
28190 packed video mode.
28191
28192 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
28193 function.
28194
28195 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
28196 (grub_vbe_bios_getset_dac_palette_width): New function.
28197 (grub_vbe_bios_get_dac_palette_width)
28198 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
28199 grub_vbe_bios_getset_dac_palette_width()).
28200
28201 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
28202 check for return status.
28203 (grub_vbe_get_video_mode_info): When getting information for a packed
28204 mode (<= 8 bpp), obtain DAC palette width using
28205 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
28206 {red,green,blue}_mark_size.
28207
222671b2 282082009-08-04 Felix Zielcke <fzielcke@z-51.de>
28209
ecb1a6d9 28210 * commands/search.c (options): Fix help output to match actual code.
222671b2 28211
f84114f5 282122009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
28213
28214 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
28215 of homegrown code.
28216
bd288a20 282172009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 28218
28219 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
28220 on XFS or ReiserFS.
28221
8aab5e25 282222009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
28223
28224 Support Apple partition map with sector size different from 512 bytes.
28225
28226 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
28227 (apple_partition_map_iterate): Respect 'aheader.blocksize'
28228 and 'apart.partmap_size'.
28229
6ad6258a 282302009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
282312009-08-01 Robert Millan <rmh.grub@aybabtu.com>
28232
28233 Fix cpuid command.
28234
28235 * commands/i386/cpuid.c (options): New variable.
28236 (grub_cmd_cpuid): Return real error.
28237 (GRUB_MOD_INIT(cpuid)): Declare options.
28238
67459bc6 282392009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
28240
28241 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
28242 valid.
28243
fbc6ab54 282442009-07-31 Bean <bean123ch@gmail.com>
28245
28246 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
28247 log2_inode.
28248 (grub_fshelp_node): Move inode field to the end.
28249 (grub_xfs_data): Remove inode field.
28250 (grub_xfs_inode_block): Calculate inode size using sblock.
28251 (grub_xfs_inode_offset): Likewise.
28252 (grub_xfs_read_inode): Calculate inode size using sblock.
28253 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
28254 (grub_xfs_iterate_dir): Calculate inode size using sblock.
28255 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
28256 to match inode size.
28257 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
28258 not accessible when data is null.
28259 (grub_xfs_open): Likewise.
28260
f45d6cfc 282612009-07-31 Bean <bean123ch@gmail.com>
28262
28263 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
28264 Don't change pv->disk if it's already set.
28265
28266 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
28267 (grub_raid_register): ... here.
28268 (grub_raid_rescan): Removed.
28269
28270 * include/grub/raid.h (grub_raid_rescan): Removed.
28271
28272 * util/grub-fstest.c: Remove include file <grub/raid.h>.
28273 (fstest): Replace grub_raid_rescan with module fini function followed
28274 by init function.
28275
28276 * util/grub-probe.c: Add include file <grub/raid.h>.
28277 (probe_raid_level): New function.
28278 (probe): Detect abstraction by walking the disk device, support two
28279 level of abstraction (LVM on RAID) when detecting partition map.
28280
24443b5a 282812009-07-31 Pavel Roskin <proski@gnu.org>
28282
28283 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
28284 to grub_zalloc(), it was erroneous.
28285 Reported by Bean <bean123ch@gmail.com>
28286
a275d9e7 282872009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
28288
28289 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 28290 embedding zone, not only the first one.
a275d9e7 28291
56c5a47f 282922009-07-29 Joe Auricchio <jauricchio@gmail.com>
28293
28294 * term/gfxterm.c (clear_char): New function.
28295 (grub_virtual_screen_setup): Use clear_char.
28296 (scroll_up): Likewise.
28297 (grub_virtual_screen_cls): Likewise.
28298
67bb323a 282992009-07-29 Felix Zielcke <fzielcke@z-51.de>
28300
28301 * util/deviceiter.c (get_acceleraid_disk_name): New static
28302 function.
28303 (grub_util_iterate_devices): Handle Accelraid devices.
28304 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
28305
388a7c75 283062009-07-28 Robert Millan <rmh.grub@aybabtu.com>
28307
28308 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
28309 separator for the suggested gfxpayload string (';' collides with the
28310 parser and needs escaping).
28311
3bb7abcf 283122009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
28313
28314 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
28315 Clear direction flag before jumping to OS.
28316 (grub_multiboot2_real_boot): Likewise.
28317
2ddd36d7 283182009-07-28 Felix Zielcke <fzielcke@z-51.de>
28319
28320 * util/i386/pc/grub-install: Fix parsing of --disk-module
28321 option.
28322
c521b62b 283232009-07-28 Felix Zielcke <fzielcke@z-51.de>
28324
28325 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
28326 when embedding.
28327
880e0a0c 283282009-07-26 Felix Zielcke <fzielcke@z-51.de>
28329
28330 * util/grub-mkconfig.in (package_version): New variable.
28331 Use it do display the version.
28332
2366e356 283332009-07-25 Felix Zielcke <fzielcke@z-51.de>
28334
28335 * kern/file.c (grub_file_open): Revert to previous check with
28336 grub_errno.
28337
7ad8c80e 283382009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
28339
28340 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
28341 from help line. It's out of sync with code.
28342
72b9658b 283432009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
28344
28345 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
28346 entries on failed boot.
28347
77435277 283482009-07-25 Felix Zielcke <fzielcke@z-51.de>
28349
28350 * kern/file.c (grub_file_open): Fix an error check.
28351
fcaa8b21 283522009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
28353
35d16c74 28354 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
28355 partition map couldn't be identified.
fcaa8b21 28356
48904cd1 283572009-07-23 Pavel Roskin <proski@gnu.org>
28358
ef3c317f 28359 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
28360 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
28361 case of little endian words becomes just an optimization.
28362 Respect const modifier.
ad8ea1f4 28363 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 28364
48904cd1 28365 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
28366 to avoid loss of upper bits if align is unsigned and shorter
28367 than addr.
28368
260c9a89 283692009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
28370
28371 UUID support for UFS
28372
28373 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
28374 (grub_ufs_uuid): New function.
28375 (grub_ufs_fs): add .uuid
28376
f76ce889 283772009-07-21 Pavel Roskin <proski@gnu.org>
28378
28379 * kern/dl.c (grub_dl_check_header): Make static.
28380
6a6cbcaf 283812009-07-21 Felix Zielcke <fzielcke@z-51.de>
28382
28383 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
28384 add drivemap for Vista. It breaks Windows 7.
28385
cffcddb2 283862009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
28387
28388 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
28389 128 bytes
28390
1ef44b80 283912009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28392
28393 Add BFS support
28394
28395 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
28396 (grub_fstest_SOURCES): Likewise.
28397 (pkglib_MODULES): Add befs.mod.
28398 (befs_mod_SOURCES): New variable.
28399 (befs_mod_CFLAGS): Likewise.
28400 (befs_mod_LDFLAGS): Likewise.
28401 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
28402 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28403 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28404 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28405 (grub_setup_SOURCES): Likewise.
28406 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28407 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28408 (grub_setup_SOURCES): Likewise.
28409 * fs/befs.c: New file.
28410 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
28411 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
28412 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
28413 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
28414 (B_KEY_INDEX_ALIGN): New declaration.
28415 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
28416 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
28417 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
28418 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
28419 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
28420 (grub_afs_mount) [MODE_BFS]: Likewise.
28421 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
28422 (grub_afs_fs): Use GRUB_AFS_FSNAME
28423 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
28424 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
28425 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
28426 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
28427
4f253044 284282009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
28429
28430 * util/getroot.c (find_root_device): Add support for MacOSX.
28431 * util/hostdisk.c: Likewise.
28432
57a55913 284332009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28434
28435 * font/font.c (find_glyph): Check whether a font is present to avoid
28436 segmentation fault.
75421ca9 28437
284382009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 28439
28440 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
28441
e98cd0c2 284422009-07-20 Pavel Roskin <proski@gnu.org>
28443
28444 * configure.ac: Trim excessively wordy excuses.
28445
1d2d169a 284462009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28447
28448 Add symlink, mtime and label support to AtheFS.
28449
28450 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
28451 (grub_afs_iterate_dir): Handle symlinks.
28452 (grub_afs_open): Use grub_afs_read_symlink.
28453 (grub_afs_dir): Likewise.
28454 Pass mtime.
28455 (grub_afs_label): New function.
28456 (grub_afs_fs): Add grub_afs_label.
28457 (grub_afs_read_symlink): New function.
28458
186f3189 284592009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28460
28461 Fix AtheFS support.
28462
28463 * fs/afs.c: Fix comments style.
28464 (grub_afs_blockrun): Declare as packed.
28465 (grub_afs_datastream): Likewise.
28466 (grub_afs_bnode): Likewise.
28467 (grub_afs_btree): Likewise.
28468 (grub_afs_sblock): Likewise.
28469 Declare `name' as char.
28470 (grub_afs_inode): Declare as packed.
28471 Change void *vnode to grub_uint32_t unused.
28472 (grub_afs_iterate_dir): Check that key_size is positive.
28473 (grub_afs_mount): Don't read superblock twice.
75421ca9 28474 (grub_afs_dir): Don't free node in case of error,
186f3189 28475 grub_fshelp_find_file already handles this.
28476 (grub_afs_open): Likewise.
28477
5680109e 284782009-07-19 Pavel Roskin <proski@gnu.org>
28479
28480 * Makefile.in: Remove LIBLZO and enable_lzo.
28481 * conf/i386-pc.rmk: Remove lzo support.
28482 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
28483 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
28484 support.
28485 * kern/i386/pc/lzo1x.S: Remove.
28486 * kern/i386/pc/startup.S: Remove lzo support.
28487 * util/i386/pc/grub-mkimage.c: Likewise.
28488
ac70fa32 284892009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
28490
28491 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
28492 * fs/xfs.c (grub_xfs_dir): Likewise.
28493 * fs/afs.c (grub_afs_dir): Likewise.
28494 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
28495 (grub_iso9660_open): Likewise.
28496 * fs/jfs.c (grub_jfs_open): Likewise.
28497 * fs/ext2.c (grub_ext2_dir): Likewise.
28498 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
28499 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 28500
eab58da2 285012009-07-16 Pavel Roskin <proski@gnu.org>
28502
d2838156 28503 * configure.ac: Never add "-c" to CFLAGS.
28504
55c70904 28505 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
28506
43e6200c 28507 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
28508 grub_cv_cc_efiemu should be used.
28509
ce7a733d 28510 * configure.ac: Typo fixes.
28511
eab58da2 28512 * kern/mm.c (grub_zalloc): New function.
28513 (grub_debug_zalloc): Likewise.
28514 * include/grub/mm.h: Declare grub_zalloc() and
28515 grub_debug_zalloc().
28516 * util/misc.c (grub_zalloc): New function.
28517 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
28518 instead of grub_malloc(), remove unneeded initializations.
28519 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
28520 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
28521 * commands/parttool.c (grub_cmd_parttool): Likewise.
28522 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
28523 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
28524 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
28525 * disk/usbms.c (grub_usbms_finddevs): Likewise.
28526 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
28527 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
28528 (grub_cmd_efiemu_pnvram): Likewise.
28529 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
28530 * fs/iso9660.c (grub_iso9660_mount): Likewise.
28531 (grub_iso9660_iterate_dir): Likewise.
28532 * fs/jfs.c (grub_jfs_opendir): Likewise.
28533 * fs/ntfs.c (list_file): Likewise.
28534 (grub_ntfs_mount): Likewise.
28535 * kern/disk.c (grub_disk_open): Likewise.
28536 * kern/dl.c (grub_dl_load_core): Likewise.
28537 * kern/elf.c (grub_elf_file): Likewise.
28538 * kern/env.c (grub_env_context_open): Likewise.
28539 (grub_env_set): Likewise.
28540 (grub_env_set_data_slot): Likewise.
28541 * kern/file.c (grub_file_open): Likewise.
28542 * kern/fs.c (grub_fs_blocklist_open): Likewise.
28543 * loader/i386/multiboot.c (grub_module): Likewise.
28544 * loader/xnu.c (grub_xnu_create_key): Likewise.
28545 (grub_xnu_create_value): Likewise.
28546 * normal/main.c (grub_normal_add_menu_entry): Likewise.
28547 (read_config_file): Likewise.
28548 * normal/menu_entry.c (make_screen): Likewise.
28549 * partmap/sun.c (sun_partition_map_iterate): Likewise.
28550 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
28551 * script/sh/script.c (grub_script_parse): Likewise.
28552 * video/bitmap.c (grub_video_bitmap_create): Likewise.
28553 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
28554 * video/readers/png.c (grub_png_output_byte): Likewise.
28555 (grub_video_reader_png): Likewise.
28556
830afef7 285572009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 28558
28559 Enable all targets that can be built by default
28560
830afef7 28561 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 28562 grub-mkfont and grub-fstest if they can be built
28563
ee293aee 285642009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
28565
28566 Fix hang and segmentation fault in grub-emu-usb
28567
28568 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
28569 * util/usb.c (grub_libusb_devices): likewise
28570 (grub_libusb_init): rename to ...
28571 (GRUB_MOD_INIT (libusb)):...this
28572 (grub_libusb_fini): rename to ..
28573 (GRUB_MOD_FINI (libusb)):...this
28574 * disk/usbms.c (grub_usbms_transfer): fix retry logic
28575 * include/grub/disk.h (grub_raid_init): removed, it's useless
28576 (grub_raid_fini): likewise
28577 (grub_lvm_init): likewise
28578 (grub_lvm_fini): likewise
28579 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
28580 by grub_init_all
28581
94414221 285822009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
28583
28584 Fix libusb
28585
28586 * Makefile.in (LIBUSB): new macro
28587 * genmk.rb (Utility/print_tail): new method
28588 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
28589 (top level): call util.print_tail at the end.
28590
59ade63d 285912009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
28592
28593 Make FreeBSD accept zpool.cache
28594
28595 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
28596 type is /boot/zfs/zpool.cache
28597
a58da8c7 285982009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
28599
28600 Fix 64-bit efiemu
28601
28602 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
28603 correct wrong typedef
28604 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
28605
20591577 286062009-07-15 Pavel Roskin <proski@gnu.org>
28607
560ca572 28608 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
28609 * kern/disk.c (struct grub_disk_cache): Likewise.
28610
e8e8e4fd 28611 * commands/probe.c (options): Typo fix.
28612
fde24e10 28613 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
28614 Increase to 0x5a to accommodate FAT32. Adjust other offsets
28615 accordingly.
28616 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
28617
379c54c1 28618 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
28619 the end of "Error" to make the message more readable.
28620
7bd8f5bf 28621 * boot/i386/pc/boot.S (kernel_segment): Remove.
28622 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
28623 for destination.
28624
40b132c5 28625 * boot/i386/pc/boot.S (boot_version): Remove.
28626 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
28627 Remove.
28628
20591577 28629 * include/grub/i386/pc/boot.h: Sort all offsets.
28630 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
28631 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
28632 * boot/i386/pc/boot.S: Assert location of every offset listed in
28633 include/grub/i386/pc/boot.h.
28634
2df32b2c 286352009-07-13 Pavel Roskin <proski@gnu.org>
28636
44b5d879 28637 * include/grub/i386/coreboot/machine.h: Rename
28638 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
28639 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
28640 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
28641
17dc3751 28642 * kern/dl.c: Force native word size to suppress warnings when
28643 compiling grub-emu.
28644
2df32b2c 28645 * kern/device.c (grub_device_iterate): Change struct part_ent to
28646 hold the name, not a pointer to it. Use one grub_malloc() per
28647 partition, not two. Free partition_name if grub_malloc() fails.
28648 Set ents to NULL only before grub_partition_iterate() is called.
28649
75c59f59 286502009-07-11 Bean <bean123ch@gmail.com>
28651
28652 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
28653 childname.
28654
0ae1bf88 286552009-07-10 Bean <bean123ch@gmail.com>
286562009-07-10 Robert Millan <rmh.grub@aybabtu.com>
28657
28658 * kern/ieee1275/openfw.c (grub_children_iterate)
28659 (grub_devalias_iterate): Fix size evaluation for property or path
28660 strings, which was broken since r2132.
28661
8279cade 286622009-07-07 Pavel Roskin <proski@gnu.org>
28663
7d8a52d3 28664 * commands/search.c (search_file): Merge into ...
28665 (search_fs): ... this. Accept search type as argument.
28666 (grub_cmd_search): Pass search type to search_fs().
28667
25f9a05a 28668 * include/grub/util/console.h: New file.
28669 * util/console.c: Use it instead of grub/machine/console.h.
28670 * util/grub-emu.c: Likewise.
28671
8279cade 28672 * lib/arg.c (find_long_option): Remove.
28673 (find_long): Add `len' argument, make `s' const char *.
28674 (grub_arg_parse): Parse long options in place, not in a
28675 temporary buffer.
28676
4a11b60f 286772009-07-06 Pavel Roskin <proski@gnu.org>
28678
99f68041 28679 * commands/search.c (search_fs): Fix potential NULL pointer
28680 dereference.
28681
4a11b60f 28682 * commands/search.c (search_fs): Replace QUID macro with quid_fn
28683 function pointer.
28684
e110f4de 286852009-07-06 Daniel Mierswa <impulze@impulze.org>
28686
28687 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
28688 comparison.
28689
46eeb6a2 286902009-07-05 Pavel Roskin <proski@gnu.org>
28691
bab74958 28692 * include/grub/i386/linux.h (struct linux_kernel_params):
28693 Restore padding3, it's still needed.
28694
46eeb6a2 28695 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
28696 FreeBSD.
28697 * util/osdetect.lua: Likewise.
28698
b4a1dc79 286992009-07-05 Bean <bean123ch@gmail.com>
28700
28701 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
28702
28703 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
28704 (grub_lua_getenv): Likewise.
28705 (grub_lua_setenv): Likewise.
28706 (save_errno): New function.
28707 (push_result): Likewise.
28708 (grub_lua_enum_device): Likewise.
28709 (grub_lua_enum_file): Likewise.
28710 (grub_lua_file_open): Likewise.
28711 (grub_lua_file_close): Likewise.
28712 (grub_lua_file_seek): Likewise.
28713 (grub_lua_file_read): Likewise.
28714 (grub_lua_file_getline): Likewise.
28715 (grub_lua_file_getsize): Likewise.
28716 (grub_lua_file_getpos): Likewise.
28717 (grub_lua_file_eof): Likewise.
28718 (grub_lua_file_exist): Likewise.
28719 (grub_lua_add_menu): Likewise.
28720
28721 * script/lua/grub_lua.h (isupper): New inline function.
28722 (islower): Likewise.
28723 (ispunct): Likewise.
28724 (isxdigit): Likewise.
28725 (strcspn): Change to normal function.
28726 (strpbkr): New function declaration.
28727 (memchr): Likewise.
28728
28729 * script/lua/grub_main.c (scan_str): New function.
28730 (strcspn): Likewise.
28731 (strpbrk): Likewise.
28732 (memchr): Likewise.
28733
28734 * script/lua/linit.c (lualibs): Enable the string library.
28735
28736 * util/osdetect.lua: New file.
28737
2da92295 287382009-07-04 Robert Millan <rmh.grub@aybabtu.com>
28739
28740 * include/grub/i386/linux.h (struct linux_kernel_params): Add
28741 `capabilities' member.
28742
b2582ec9 287432009-07-02 Pavel Roskin <proski@gnu.org>
28744
28745 * genparttoollist.sh: Add missing newline at the end.
28746
32622956 287472009-07-01 Pavel Roskin <proski@gnu.org>
28748
87a7339e 28749 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
28750
d23af54e 28751 * util/hostdisk.c (open_device): Remove `const' from
28752 `sysctl_size', as sysctlbyname() can change it (in this case it
28753 doesn't actually happen).
28754
c94b18a9 28755 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
28756 using signed long int constants.
28757
c6cd3ef0 28758 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
28759 constant to avoid a warning on FreeBSD.
28760
0df63420 28761 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
28762 where it's needed.
28763
999577f1 28764 * Makefile.in: Install include/grub/machine symlink.
28765
6f41557f 28766 * Makefile.in: When installing symlinks, use "cp -fR", which
28767 works on FreeBSD and MacOSX.
28768 From Yves Blusseau <cl7m42e02@sneakemail.com>
28769
c8d22988 28770 * kern/dl.c (grub_dl_resolve_symbol): Make static.
28771 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
28772
1b96e952 28773 * util/misc.c: Move grub_reboot() and grub_halt() ...
28774 * util/grub-emu.c: ... here. Make main_env static.
28775 * include/grub/util/misc.h: Remove main_env.
28776
2ef0084d 28777 * kern/mm.c: Use correct format to print size_t.
28778
32622956 28779 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
28780 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
28781 * kern/powerpc/dl.c: Likewise.
28782 * kern/sparc64/dl.c: Likewise.
28783 * kern/x86_64/dl.c: Likewise.
28784
3f7f0cd0 287852009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28786
28787 Fix grub-emu build on sparc64-ieee1275.
28788
75421ca9 28789 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 28790 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
28791
211d06b5 287922009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28793
28794 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
28795 (grub_reboot, grub_halt): New functions.
28796
28797 * util/i386/pc/misc.c: Delete. Update all users.
28798 * util/sparc64/ieee1275/misc.c: Likewise.
28799 * util/powerpc/ieee1275/misc.c: Likewise.
28800
aaf53e3c 288012009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28802
28803 * conf/i386.rmk (setjmp_mod_SOURCES)
28804 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
28805 * conf/common.rmk (setjmp_mod_SOURCES)
28806 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
28807 to use $(target_cpu).
28808 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
28809 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
28810 * conf/powerpc-ieee1275.rmk: Likewise.
28811 * conf/sparc64-ieee1275.rmk: Likewise.
28812
28813 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
28814 $(target_cpu) for kern/$(target_cpu)/dl.c.
28815 * conf/i386-efi.rmk: Likewise.
28816 * conf/i386-ieee1275.rmk: Likewise.
28817 * conf/x86_64-efi.rmk: Likewise.
28818 * conf/i386-coreboot.rmk: Likewise.
28819 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
28820 $(target_cpu) for kern/$(target_cpu)/dl.c and for
28821 kern/$(target_cpu)/cache.S.
28822 * conf/sparc64-ieee1275.rmk: Likewise.
28823
a337130b 288242009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28825
28826 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
28827 type to `grub_uint8_t', and adjust `padding9' accordingly.
28828
c6fe4d53 288292009-06-29 Robert Millan <rmh.grub@aybabtu.com>
28830
b09db61d 28831 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
28832
c6fe4d53 28833 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
28834 assembly in final jump, using register constraints.
28835
b09db61d 28836 (grub_linux_boot): For text mode, initialize `have_vga' using
28837 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
28838
28839 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
28840 right before the final jump.
28841
28842 Set `video_mode' to 0x3.
28843
28844 Document initialization of `video_page', `video_mode' and
28845 `video_ega_bx'.
28846
28333ad0 288472009-06-29 Robert Millan <rmh.grub@aybabtu.com>
28848
28849 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
28850 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 28851 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 28852
02164e1b 288532009-06-29 Robert Millan <rmh.grub@aybabtu.com>
28854
28855 Fix build on Debian / sparc.
28856
28857 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
28858
18b6c557 288592009-06-28 Pavel Roskin <proski@gnu.org>
28860
85f2aab6 28861 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
28862 fix a warning.
28863
18b6c557 28864 * util/grub.d/10_linux.in: Match SUSE style initrd names.
28865
ad760f81 288662009-06-27 Robert Millan <rmh.grub@aybabtu.com>
28867
28868 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
28869 `err'.
28870
87a4623b 288712009-06-27 Robert Millan <rmh.grub@aybabtu.com>
28872
28873 Revert r2338.
28874
28875 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
28876 file can't be opened. grub_file_open() is already supposed to set
75421ca9 28877 grub_errno / grub_errmsg appropriately.
87a4623b 28878 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
28879
8231fb77 288802009-06-27 Pavel Roskin <proski@gnu.org>
288812009-06-27 Robert Millan <rmh.grub@aybabtu.com>
28882
28883 * include/grub/dl.h: Include grub/elf.h.
28884 (struct grub_dl): Add symtab field.
28885 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
28886 GRUB_MODULES_MACHINE_READONLY.
28887 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
28888 of the header for read-only modules.
28889 (grub_dl_unload): Free mod->symtab for read-only modules.
28890 * kern/i386/dl.c: Use mod->symtab.
28891 * kern/powerpc/dl.c: Likewise.
28892 * kern/sparc64/dl.c: Likewise.
28893 * kern/x86_64/dl.c: Likewise.
28894
28895 * conf/i386-qemu.rmk: New file.
28896 * kern/i386/qemu/startup.S: Likewise.
28897 * kern/i386/qemu/mmap.c: Likewise.
28898 * boot/i386/qemu/boot.S: Likewise.
28899 * include/grub/i386/qemu/time.h: Likewise.
28900 * include/grub/i386/qemu/serial.h: Likewise.
28901 * include/grub/i386/qemu/kernel.h: Likewise.
28902 * include/grub/i386/qemu/console.h: Likewise.
28903 * include/grub/i386/qemu/boot.h: Likewise.
28904 * include/grub/i386/qemu/init.h: Likewise.
28905 * include/grub/i386/qemu/machine.h: Likewise.
28906 * include/grub/i386/qemu/loader.h: Likewise.
28907 * include/grub/i386/qemu/memory.h: Likewise.
28908
28909 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
28910 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
28911 [qemu] (pkglib_IMAGES): Add `boot.img'.
28912 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
28913 [qemu] (boot_img_FORMAT): New variables.
28914 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
28915 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
28916 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
28917 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
28918 [qemu] (kernel_img_FORMAT): New variables.
28919
28920 * configure.ac: Recognise `i386-qemu'.
28921
28922 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
28923 (for no compression).
28924 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
28925 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
28926 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
28927 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
28928 ifdefs).
28929
97fe384e 289302009-06-27 Pavel Roskin <proski@gnu.org>
28931
28932 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
28933 read.
28934 * efiemu/prepare32.c: Likewise.
28935 * efiemu/prepare64.c: Likewise.
28936
c402ab17 289372009-06-26 Pavel Roskin <proski@gnu.org>
28938
28939 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
28940 * include/grub/elf.h: Define symbols without "32" or "64" based
28941 on GRUB_TARGET_WORDSIZE.
28942 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
28943 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
28944 ELF definitions.
28945 * efiemu/loadcore64.c: Likewise.
28946 * loader/i386/bsd32.c: Likewise.
28947 * loader/i386/bsd64.c: Likewise.
28948 * kern/dl.c: Remove own ELF definitions.
28949 * util/i386/efi/grub-mkimage.c: Likewise.
28950
9bbdfd4d 289512009-06-23 Robert Millan <rmh.grub@aybabtu.com>
28952
28953 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
28954 segment 0x0 unconditionally, because the reference generated by
28955 GAS is an absolute address.
28956
a42ce6e9 289572009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28958
28959 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
28960 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
28961
c952cf92 289622009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28963
28964 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
28965 indexes. Check for -f explicitly.
cc3752ad 28966 (search_file): Improve error message.
28967 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 28968
132a0a59 289692009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28970
28971 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
28972 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
28973
387a140c 289742009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28975
28976 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
28977 * conf/i386-ieee1275.rmk: Likewise.
28978 * conf/i386-coreboot.rmk: Likewise.
28979
28980 * kern/i386/pc/startup.S (grub_stop): Remove function.
28981 * kern/i386/ieee1275/startup.S: Likewise.
28982 * kern/i386/coreboot/startup.S: Likewise.
28983 * kern/i386/misc.S (grub_stop): New function.
28984
41da9665 289852009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28986
28987 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
28988 * kern/i386/realmode.S (real_to_prot): ... to here.
28989
bf337234 289902009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28991
28992 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
28993 with `kernel.img'.
28994 (kernel_elf_SOURCES): Rename to ...
28995 (kernel_img_SOURCES): ... this.
28996 (kernel_elf_HEADERS): Rename to ...
28997 (kernel_img_HEADERS): ... this. Update all users.
28998 (kernel_elf_ASFLAGS): Rename to ...
28999 (kernel_img_ASFLAGS): ... this.
29000 (kernel_elf_CFLAGS): Rename to ...
29001 (kernel_img_CFLAGS): ... this.
29002 (kernel_elf_LDFLAGS): Rename to ...
29003 (kernel_img_LDFLAGS): ... this.
29004 * conf/i386-coreboot.rmk: Likewise.
29005 * conf/powerpc-ieee1275.rmk: Likewise.
29006
29007 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
29008 with "kernel.img".
29009
f52196ff 290102009-06-21 Pavel Roskin <proski@gnu.org>
29011
c3cee413 29012 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
29013 to match nested functions.
29014 * loader/sparc64/ieee1275/linux.c: Likewise.
29015
f52196ff 29016 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
29017
58750afc 290182009-06-21 Robert Millan <rmh.grub@aybabtu.com>
29019
29020 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
29021 all i386 platforms.
29022
15355c7d 290232009-06-21 Robert Millan <rmh.grub@aybabtu.com>
29024
29025 Fix asm file handling on ELF, and remove workarounds.
29026
29027 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 29028 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 29029 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
29030 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
29031
3f3ec72b 290322009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
29033
29034 Load BSD ELF modules
29035
29036 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
29037 and loader/i386/bsd64.c
29038 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
29039 (FREEBSD_MODTYPE_ELF_MODULE): New definition
29040 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
29041 (grub_freebsd_load_elfmodule32): New declaration
29042 (grub_freebsd_load_elfmoduleobj64): Likewise
29043 (grub_freebsd_load_elf_meta32): Likewise
29044 (grub_freebsd_load_elf_meta64): Likewise
29045 (grub_freebsd_add_meta): Likewise
29046 (grub_freebsd_add_meta_module): Likewise
29047 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
29048 (grub_freebsd_add_meta_module): Likewise and move module-specific
29049 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
29050 (grub_cmd_freebsd): Add elf-kernel specific parts
29051 based on grub_freebsd_add_meta_module
29052 (grub_cmd_freebsd_module): Add type parsing moved from
29053 grub_freebsd_add_meta_module
29054 (grub_cmd_freebsd_module_elf): New function
29055 (cmd_freebsd_module_elf): New variable
29056 (GRUB_MOD_INIT): Register freebsd_module_elf
29057 * loader/i386/bsd32.c: New file
29058 * loader/i386/bsd64.c: Likewise
29059 * loader/i386/bsdXX.c: Likewise
29060 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
29061 (grub_elf64_load): Likewise
29062 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
29063 All users updated
29064 (grub_elf64_load_hook_t): Likewise
29065
0db15301 290662009-06-21 Colin Watson <cjwatson@ubuntu.com>
29067
29068 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
29069 variable.
29070 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
29071 don't write a menu entry for recovery mode.
29072
546796c1 290732009-06-20 Robert Millan <rmh.grub@aybabtu.com>
29074
29075 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
29076 after it's no longer needed.
29077
cd7310d5 290782009-06-20 Robert Millan <rmh.grub@aybabtu.com>
29079
29080 * include/grub/i386/loader.h (grub_linux_prot_size)
29081 (grub_linux_tmp_addr, grub_linux_real_addr)
29082 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
29083 GRUB_MACHINE_PCBIOS.
29084 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
29085 common grub_util_info() call to ...
29086 (generate_image): ... here.
29087 Fix use of uninitialized memory, comparison of signed with
29088 unsigned integers and memory leak.
29089 Remove bogus module address message.
29090
ab32d3b5 290912009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
29092
29093 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
29094 grub_raid_register
29095 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
29096
024ef597 290972009-06-19 Pavel Roskin <proski@gnu.org>
29098
29099 * configure.ac: Remove stray AC_MSG_CHECKING.
29100
3ac72b51 291012009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
29102
29103 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 29104
e14cd814 291052009-06-18 Pavel Roskin <proski@gnu.org>
29106
29107 * conf/common.rmk: Add fs_file.mod.
29108 * disk/fs_file.c: New file.
29109 * include/grub/disk.h (enum grub_disk_dev_id): Add
29110 GRUB_DISK_DEVICE_FILE_ID.
29111
26586d98 291122009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
29113
29114 Fix build with Apple's toolchain. Part 2
29115
29116 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
29117 a fake start
29118
26de2bcd 291192009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
29120
29121 Fix build with Apple's toolchain. Part 1
29122
29123 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
29124 for long calls
29125 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 29126 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 29127 Apple's toolchain
29128
09b3490b 291292009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
29130
29131 Fix warnings
29132
29133 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
29134 (decomp_block): initialize ch
29135 use grub_memcpy instead of memcpy
29136
c22a006a 291372009-06-17 Pavel Roskin <proski@gnu.org>
29138
d3638678 29139 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
29140 version, use declarations needed to use vga_text as the startup
29141 console.
29142
c22a006a 29143 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
29144 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
29145 the kernel.
29146 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
29147 and grub_at_keyboard_fini(), it's done on module load and
29148 unload.
29149
05b129e0 291502009-06-17 Felix Zielcke <fzielcke@z-51.de>
29151
29152 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
29153 file can't be found.
29154 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
29155
cf24ed9e 291562009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
29157
29158 Fix newline handling
29159
29160 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 29161 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 29162 (grub_script_yylex): don't segfault on unterminated script
29163 newline terminates command and variable
29164
74aa8e4b 291652009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
29166
29167 avoid double grub_adjust_range call. Bug reported by David Simner
29168
29169 * kern/disk.c (grub_disk_write): change to raw disk access before
29170 calling disk_read
29171
1bd265f3 291722009-06-17 Colin Watson <cjwatson@ubuntu.com>
29173
29174 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
29175 spaces, for the benefit of help2man.
29176 * util/i386/efi/grub-mkimage.c (usage): Likewise.
29177
a2d08c06 291782009-06-16 Pavel Roskin <proski@gnu.org>
29179
29180 * kern/i386/halt.c: Include grub/machine/init.h.
29181 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
29182
b97bcb19 291832009-06-16 Felix Zielcke <fzielcke@z-51.de>
29184
29185 * util/grub.d/30_os-prober.in: Use ${root} in the generated
29186 drivemap menuentry.
29187
0644f96c 291882009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
29189
29190 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
29191 `echo' command.
29192
3ef17a2e 291932009-06-16 Pavel Roskin <proski@gnu.org>
29194
29195 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
29196 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
29197 save %dx, we only need %dl and we never change it.
29198 * boot/i386/pc/cdboot.S: Don't set the root drive.
29199 * boot/i386/pc/pxeboot.S: Likewise.
29200 * include/grub/i386/pc/boot.h: Remove
29201 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
29202 GRUB_BOOT_MACHINE_DRIVE_CHECK.
29203 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
29204 * kern/i386/pc/init.c (make_install_device): Remove references
29205 to grub_root_drive.
29206 * kern/i386/pc/startup.S: Likewise.
29207 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
29208
693fe637 292092009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
29210
29211 xnu_uuid command
29212
29213 * commands/xnu_uuid.c: new file
29214 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
29215 (xnu_uuid_mod_SOURCES): new variable
29216 (xnu_uuid_mod_CFLAGS): likewise
29217 (xnu_uuid_mod_LDFLAGS): likewise
29218 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
29219 * conf/i386-ieee1275.rmk: likewise
29220 * conf/i386-pc.rmk: likewise
29221 * conf/powerpc-ieee1275.rmk: likewise
29222 * conf/sparc64-ieee1275.rmk: likewise
29223 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
29224
c9da87d0 292252009-06-16 Pavel Roskin <proski@gnu.org>
29226
29227 * configure.ac: Avoid '==' in test command, it's not portable.
29228
9c6f4596 292292009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
29230
29231 Probe command
29232
29233 * commands/probe.c: new file
29234 * conf/common.rmk (pkglib_MODULES): add probe.mod
29235 (probe_mod_SOURCES): new variable
29236 (probe_mod_CFLAGS): likewise
29237 (probe_mod_LDFLAGS): likewise
29238 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
29239 * conf/i386-ieee1275.rmk: likewise
29240 * conf/i386-pc.rmk: likewise
29241 * conf/powerpc-ieee1275.rmk: likewise
29242 * conf/sparc64-ieee1275.rmk: likewise
29243
70b7f9fd 292442009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
29245
29246 Fix handling of string like \"hello\" and "a
29247 b"
29248
29249 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
29250 (grub_script_yylex): fix parsing of quoting, escaping and newline
29251
71c79a6b 292522009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
29253
dd74360c 29254 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 29255 handling
dd74360c 29256
0644f96c 292572009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 29258
29259 * util/grub-mkconfig.in: Fix parsing of --output option.
29260
e40893c3 292612009-06-12 Pavel Roskin <proski@gnu.org>
29262
29263 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
29264 genmk.rb don't need to be generated or installed.
29265
3a1acfe2 292662009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
29267
29268 * commands/i386/pc/drivemap_int13h.S: add more comments
29269
3a4575d4 292702009-06-11 Pavel Roskin <proski@gnu.org>
29271
0658e928 29272 * Makefile.in (uninstall): Uninstall manuals.
29273
ca0388f0 29274 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
29275 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
29276 and update-grub_lib in two places.
29277 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
29278
e3b27c39 29279 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
29280 a compiler warning.
29281
3a4575d4 29282 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
29283 `entry_lo' to fix variable shadowing.
29284
af1f4f55 292852009-06-11 Christian Franke <franke@computer.org>
29286
29287 * kern/misc.c (__enable_execute_stack): Add missing return type
29288 to prevent gcc warning.
29289
5225e649 292902009-06-11 Felix Zielcke <fzielcke@z-51.de>
29291
29292 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
29293
7d83bd47 292942009-06-11 Pavel Roskin <proski@gnu.org>
29295
c1cb63ba 29296 * Makefile.in: Don't rely on any scripts being executable.
29297 Always use $(SHELL) to run shell scripts.
29298
7d83bd47 29299 * configure.ac: Always define ___main if using -nostdlib. This
29300 fixes tests on Cygwin.
29301
948f48e7 293022009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
29303
29304 UDF fix
29305
7d83bd47 29306 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 29307 is in bytes and not in blocks
7d83bd47 29308
8ada9bc1 293092009-06-11 Pavel Roskin <proski@gnu.org>
29310
29311 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
29312 warning.
29313
25ad2323 293142009-06-11 Felix Zielcke <fzielcke@z-51.de>
29315
29316 * util/grub.d/30_os-prober.in: Fix a comment. Source
29317 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
29318 to set the root device. Place drivemap command in the generated
29319 chain entry.
29320
e65acb0c 293212009-06-11 Pavel Roskin <proski@gnu.org>
29322
29323 * configure.ac: Remove host_m32. Issues with 64-bit utilities
29324 have long been resolved.
29325
f285fe2d 293262009-06-11 Colin Watson <cjwatson@ubuntu.com>
29327
bd47b0b5 29328 * util/grub.d/10_linux.in: Capitalise "Linux".
29329
f285fe2d 29330 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
29331
a0c62e4e 293322009-06-11 Pavel Roskin <proski@gnu.org>
29333
b6783cb2 29334 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
29335 fix a gcc warning and ensure that the function won't ever exit.
29336
dde032e8 29337 * kern/i386/ieee1275/init.c: Add missing prototype for
29338 grub_stop_floppy().
29339
22cd079d 29340 * loader/ieee1275/multiboot2.c [__i386__]: Include
29341 grub/cpu/multiboot.h.
29342
a0c62e4e 29343 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
29344 casts to short - they are not portable and cause warnings. Fix
29345 use of uninitialized values in input_buf. Use ARRAY_SIZE.
29346
63963d17 293472009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
29348
29349 Drivemap fixes
29350
29351 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
29352 new function
29353 (grub_get_root_biosnumber_saved): new variable
29354 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
29355 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 29356 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 29357 %dx after the call if necessary
29358 * conf/common.rmk (pkglib_MODULES): remove boot.mod
29359 (boot_mod_SOURCES): remove
29360 (boot_mod_CFLAGS): remove
29361 (boot_mod_LDFLAGS): remove
29362 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
29363 (boot_mod_SOURCES): new variable
29364 (boot_mod_CFLAGS): likewise
29365 (boot_mod_LDFLAGS): likewise
29366 * conf/i386-efi.rmk: likewise
29367 * conf/i386-ieee1275.rmk: likewise
29368 * conf/i386-pc.rmk: likewise
29369 * conf/powerpc-ieee1275.rmk: likewise
29370 * conf/sparc64-ieee1275.rmk: likewise
29371 * conf/x86_64-efi.rmk: likewise
29372 * include/grub/i386/pc/biosnum.h: new file
29373 * lib/i386/pc/biosnum.c: likewise
29374 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
29375 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
29376 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 29377
33abf7ae 293782009-06-10 Pavel Roskin <proski@gnu.org>
29379
5ac35b35 29380 * io/gzio.c (test_header): Don't reuse one buffer for all data.
29381 Use separate variables. Read only the file size at the end, but
29382 not the checksum that we don't use.
29383
5c5215d5 29384 * kern/file.c (grub_file_read): Use void pointer for the buffer.
29385 Adjust all callers.
29386
27d5fef7 29387 * kern/ieee1275/openfw.c: Remove libc includes.
29388 * kern/ieee1275/cmain.c: Likewise.
29389 * include/grub/ieee1275/ieee1275.h: Likewise.
29390
33abf7ae 29391 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
29392 compiler warnings.
29393
19d50c2b 293942009-06-10 Felix Zielcke <fzielcke@z-51.de>
29395
29396 * Makefile.in: Remove all trailing whitespace.
29397 * conf/i386-pc.rmk: Likewise.
29398 * conf/powerpc-ieee1275.rmk: Likewise.
29399 * conf/sparc64-ieee1275.rmk: Likewise.
29400 * docs/grub.texi: Likewise.
29401 * docs/texinfo.tex: Likewise.
29402 * disk/fs_uuid.c: Likewise.
29403 * disk/lvm.c: Likewise.
29404 * disk/scsi.c: Likewise.
29405 * disk/ata.c: Likewise.
29406 * disk/ieee1275/ofdisk.c: Likewise.
29407 * disk/i386/pc/biosdisk.c: Likewise.
29408 * disk/host.c: Likewise.
29409 * disk/raid.c: Likewise.
29410 * disk/efi/efidisk.c: Likewise.
29411 * disk/usbms.c: Likewise.
29412 * disk/memdisk.c: Likewise.
29413 * disk/loopback.c: Likewise.
29414 * kern/powerpc/dl.c: Likewise.
29415 * kern/device.c: Likewise.
29416 * kern/dl.c: Likewise.
29417 * kern/sparc64/dl.c: Likewise.
29418 * kern/ieee1275/ieee1275.c: Likewise.
29419 * kern/term.c: Likewise.
29420 * kern/fs.c: Likewise.
29421 * kern/i386/dl.c: Likewise.
29422 * kern/i386/pc/startup.S: Likewise.
29423 * kern/i386/pc/init.c: Likewise.
29424 * kern/i386/pc/mmap.c: Likewise.
29425 * kern/i386/pc/lzo1x.S: Likewise.
29426 * kern/i386/ieee1275/init.c: Likewise.
29427 * kern/i386/realmode.S: Likewise.
29428 * kern/i386/tsc.c: Likewise.
29429 * kern/partition.c: Likewise.
29430 * kern/corecmd.c: Likewise.
29431 * kern/file.c: Likewise.
29432 * kern/efi/efi.c: Likewise.
29433 * kern/efi/init.c: Likewise.
29434 * kern/efi/mm.c: Likewise.
29435 * kern/main.c: Likewise.
29436 * kern/err.c: Likewise.
29437 * kern/env.c: Likewise.
29438 * kern/disk.c: Likewise.
29439 * kern/generic/millisleep.c: Likewise.
29440 * kern/generic/rtc_get_time_ms.c: Likewise.
29441 * kern/misc.c: Likewise.
29442 * kern/parser.c: Likewise.
29443 * genmk.rb: Likewise.
29444 * configure.ac: Likewise.
29445 * boot/i386/pc/diskboot.S: Likewise.
29446 * boot/i386/pc/pxeboot.S: Likewise.
29447 * boot/i386/pc/boot.S: Likewise.
29448 * boot/i386/pc/lnxboot.S: Likewise.
29449 * boot/i386/pc/cdboot.S: Likewise.
29450 * parttool/pcpart.c: Likewise.
29451 * video/readers/tga.c: Likewise.
29452 * video/video.c: Likewise.
29453 * video/bitmap.c: Likewise.
29454 * lib/envblk.c: Likewise.
29455 * lib/i386/setjmp.S: Likewise.
29456 * fs/xfs.c: Likewise.
29457 * fs/afs.c: Likewise.
29458 * fs/fat.c: Likewise.
29459 * fs/ntfs.c: Likewise.
29460 * fs/udf.c: Likewise.
29461 * fs/affs.c: Likewise.
29462 * fs/iso9660.c: Likewise.
29463 * fs/hfs.c: Likewise.
29464 * fs/fshelp.c: Likewise.
29465 * fs/ext2.c: Likewise.
29466 * fs/jfs.c: Likewise.
29467 * fs/reiserfs.c: Likewise.
29468 * fs/hfsplus.c: Likewise.
29469 * fs/minix.c: Likewise.
29470 * fs/cpio.c: Likewise.
29471 * fs/sfs.c: Likewise.
29472 * fs/ufs.c: Likewise.
29473 * efiemu/prepare.c: Likewise.
29474 * efiemu/loadcore_common.c: Likewise.
29475 * efiemu/runtime/efiemu.sh: Likewise.
29476 * efiemu/runtime/efiemu.S: Likewise.
29477 * efiemu/runtime/efiemu.c: Likewise.
29478 * efiemu/pnvram.c: Likewise.
29479 * efiemu/main.c: Likewise.
29480 * efiemu/i386/pc/cfgtables.c: Likewise.
29481 * efiemu/i386/loadcore64.c: Likewise.
29482 * efiemu/i386/loadcore32.c: Likewise.
29483 * efiemu/loadcore.c: Likewise.
29484 * efiemu/symbols.c: Likewise.
29485 * efiemu/mm.c: Likewise.
29486 * include/grub/autoefi.h: Likewise.
29487 * include/grub/datetime.h: Likewise.
29488 * include/grub/term.h: Likewise.
29489 * include/grub/hfs.h: Likewise.
29490 * include/grub/lvm.h: Likewise.
29491 * include/grub/i386/tsc.h: Likewise.
29492 * include/grub/i386/linux.h: Likewise.
29493 * include/grub/i386/xnu.h: Likewise.
29494 * include/grub/i386/efiemu.h: Likewise.
29495 * include/grub/i386/pc/biosdisk.h: Likewise.
29496 * include/grub/i386/pc/memory.h: Likewise.
29497 * include/grub/i386/pc/vbe.h: Likewise.
29498 * include/grub/parttool.h: Likewise.
29499 * include/grub/video.h: Likewise.
29500 * include/grub/memory.h: Likewise.
29501 * include/grub/fs.h: Likewise.
29502 * include/grub/partition.h: Likewise.
29503 * include/grub/xnu.h: Likewise.
29504 * include/grub/efi/api.h: Likewise.
29505 * include/grub/efi/pe32.h: Likewise.
29506 * include/grub/efi/memory.h: Likewise.
29507 * include/grub/multiboot.h: Likewise.
29508 * include/grub/usbdesc.h: Likewise.
29509 * include/grub/multiboot2.h: Likewise.
29510 * include/grub/acpi.h: Likewise.
29511 * include/grub/efiemu/efiemu.h: Likewise.
29512 * include/grub/disk.h: Likewise.
29513 * include/grub/ieee1275/ieee1275.h: Likewise.
29514 * include/grub/net.h: Likewise.
29515 * include/grub/machoload.h: Likewise.
29516 * include/grub/macho.h: Likewise.
29517 * include/multiboot.h: Likewise.
29518 * genmoddep.awk: Likewise.
29519 * normal/main.c: Likewise.
29520 * normal/menu_entry.c: Likewise.
29521 * normal/menu_viewer.c: Likewise.
29522 * normal/completion.c: Likewise.
29523 * normal/cmdline.c: Likewise.
29524 * normal/misc.c: Likewise.
29525 * normal/datetime.c: Likewise.
29526 * bus/usb/usbtrans.c: Likewise.
29527 * bus/usb/ohci.c: Likewise.
29528 * bus/usb/uhci.c: Likewise.
29529 * bus/usb/usb.c: Likewise.
29530 * mmap/efi/mmap.c: Likewise.
29531 * mmap/i386/pc/mmap_helper.S: Likewise.
29532 * mmap/i386/pc/mmap.c: Likewise.
29533 * mmap/i386/mmap.c: Likewise.
29534 * mmap/i386/uppermem.c: Likewise.
29535 * mmap/mmap.c: Likewise.
29536 * commands/acpi.c: Likewise.
29537 * commands/echo.c: Likewise.
29538 * commands/blocklist.c: Likewise.
29539 * commands/loadenv.c: Likewise.
29540 * commands/usbtest.c: Likewise.
29541 * commands/boot.c: Likewise.
29542 * commands/parttool.c: Likewise.
29543 * commands/search.c: Likewise.
29544 * commands/cat.c: Likewise.
29545 * commands/i386/pc/play.c: Likewise.
29546 * commands/i386/pc/drivemap.c: Likewise.
29547 * commands/i386/pc/vbeinfo.c: Likewise.
29548 * commands/i386/pc/acpi.c: Likewise.
29549 * commands/i386/pc/vbetest.c: Likewise.
29550 * commands/ls.c: Likewise.
29551 * commands/cmp.c: Likewise.
29552 * commands/test.c: Likewise.
29553 * commands/efi/acpi.c: Likewise.
29554 * commands/gptsync.c: Likewise.
29555 * commands/help.c: Likewise.
29556 * partmap/amiga.c: Likewise.
29557 * partmap/apple.c: Likewise.
29558 * partmap/acorn.c: Likewise.
29559 * partmap/pc.c: Likewise.
29560 * partmap/sun.c: Likewise.
29561 * partmap/gpt.c: Likewise.
29562 * script/sh/lexer.c: Likewise.
29563 * script/sh/function.c: Likewise.
29564 * font/font.c: Likewise.
29565 * font/font_cmd.c: Likewise.
29566 * loader/powerpc/ieee1275/linux.c: Likewise.
29567 * loader/efi/chainloader.c: Likewise.
29568 * loader/multiboot_loader.c: Likewise.
29569 * loader/macho.c: Likewise.
29570 * loader/i386/multiboot.c: Likewise.
29571 * loader/i386/linux.c: Likewise.
29572 * loader/i386/pc/linux.c: Likewise.
29573 * loader/i386/pc/multiboot2.c: Likewise.
29574 * loader/i386/pc/chainloader.c: Likewise.
29575 * loader/i386/pc/xnu.c: Likewise.
29576 * loader/i386/bsd_trampoline.S: Likewise.
29577 * loader/i386/efi/linux.c: Likewise.
29578 * loader/i386/multiboot_elfxx.c: Likewise.
29579 * loader/i386/bsd_helper.S: Likewise.
29580 * loader/i386/bsd.c: Likewise.
29581 * loader/i386/linux_trampoline.S: Likewise.
29582 * loader/i386/xnu_helper.S: Likewise.
29583 * loader/i386/xnu.c: Likewise.
29584 * loader/i386/bsd_pagetable.c: Likewise.
29585 * loader/i386/multiboot_helper.S: Likewise.
29586 * loader/xnu.c: Likewise.
29587 * loader/xnu_resume.c: Likewise.
29588 * io/gzio.c: Likewise.
29589 * term/efi/console.c: Likewise.
29590 * term/terminfo.c: Likewise.
29591 * term/ieee1275/ofconsole.c: Likewise.
29592 * term/i386/pc/serial.c: Likewise.
29593 * term/i386/pc/vesafb.c: Likewise.
29594 * term/i386/pc/vga.c: Likewise.
29595 * term/usb_keyboard.c: Likewise.
29596 * term/gfxterm.c: Likewise.
29597 * aclocal.m4: Likewise.
29598 * util/lvm.c: Likewise.
29599 * util/grub.d/30_os-prober.in: Likewise.
29600 * util/grub.d/10_hurd.in: Likewise.
29601 * util/console.c: Likewise.
29602 * util/grub-macho2img.c: Likewise.
29603 * util/grub-probe.c: Likewise.
29604 * util/hostfs.c: Likewise.
29605 * util/i386/pc/grub-mkimage.c: Likewise.
29606 * util/i386/pc/grub-setup.c: Likewise.
29607 * util/i386/efi/grub-mkimage.c: Likewise.
29608 * util/grub-mkconfig.in: Likewise.
29609 * util/raid.c: Likewise.
29610 * util/resolve.c: Likewise.
29611 * util/grub-mkdevicemap.c: Likewise.
29612 * util/grub-emu.c: Likewise.
29613 * util/getroot.c: Likewise.
29614 * util/hostdisk.c: Likewise.
29615 * util/usb.c: Likewise.
29616 * util/grub-editenv.c: Likewise.
29617 * util/misc.c: Likewise.
29618
d2d49665 296192009-06-10 Felix Zielcke <fzielcke@z-51.de>
29620
29621 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
29622 `genparttoollist.sh'.
29623 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
29624 Add `*.sh' to the list find searches for and change `mdate.sh'
29625 to `mdate-sh'.
29626
fe052e37 296272009-06-10 Pavel Roskin <proski@gnu.org>
29628
2763ac18 29629 * include/grub/multiboot2.h: Provide compatibility defines for
29630 multiboot2.h.
29631 * include/multiboot2.h: Include stdint.h only if needed, using
29632 angle brackets.
29633 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
29634 grub/multiboot2.h.
29635 * loader/ieee1275/multiboot2.c: Likewise.
29636 * loader/multiboot2.c: Likewise.
29637 * loader/multiboot_loader.c: Likewise.
29638
437e6adc 29639 * configure.ac: Use -nostdlib when probing for the target. It
29640 should not be required to have libc for the target.
29641
06a6836c 29642 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
29643 they fail without libc headers for the target.
29644 * include/grub/powerpc/libgcc.h: Use weak attribute for all
29645 exports.
29646 * include/grub/sparc64/libgcc.h: Likewise. Don't use
29647 preprocessor conditionals.
29648
fe052e37 29649 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
29650 build system doesn't need to be aware of the tar.c internals.
29651
afd22553 296522009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 29653
afd22553 29654 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 29655
6b787c4f 296562009-06-09 Robert Millan <rmh.grub@aybabtu.com>
29657
29658 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
29659 disk limit to 26 for IDE, Virtio, Xen and SCSI.
29660
296612009-06-09 Felix Zielcke <fzielcke@z-51.de>
29662
29663 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 29664 aren't available if ata.mod gets used.
6b787c4f 29665
473d1e45 296662009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 29667
473d1e45 29668 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 29669 initialising controller.
473d1e45 29670 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 29671
255a27d4 296722009-06-08 Felix Zielcke <fzielcke@z-51.de>
29673
29674 * util/i386/pc/grub-install.in: Add a parameter --disk-module
29675 to choose between ata and biosdisk module on i386-pc.
29676
473d1e45 296772009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 29678
d55842d8 29679 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
29680 Subclass and Programming Interface fields in terms of the 3 byte
29681 Class Code register.
29682 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
29683
fa5db0b1 29684 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
29685 interface is OHCI. Add grub_dprintf for symmetry with
29686 bus/usb/uhci.c.
29687 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
29688 interface is UHCI. Add interf variable for programming
29689 interface. Print interface with class/subclass.
29690
c0947beb 29691 * bus/usb/ohci.c: Set interf with correct field.
29692
69da8877 29693 * bus/usb/uhci.c: Remove unneeded doubled lines.
29694 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
29695 Remove whitespace inside comment.
29696
9e172e30 296972009-06-08 Robert Millan <rmh.grub@aybabtu.com>
29698
29699 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
29700 as fallback an equivalent option without depth.
29701
de65ee2b 297022009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
29703
29704 Not fail if unable to retrieve C/H/S on LBA disks
29705
473d1e45 29706 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 29707 if unable to retrieve C/H/S on LBA disks
29708
b57ea2c9 297092009-06-08 Pavel Roskin <proski@gnu.org>
29710
29711 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
29712 about aliasing.
29713
af361263 297142009-06-08 Felix Zielcke <fzielcke@z-51.de>
29715
29716 * Makefile.in (uninstall): Remove all $lib_DATA files.
29717
4c9ec6b3 297182009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
29719
29720 Bugfix: install on partitionless device
29721
29722 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
29723 is a whole disk
29724
e76fc924 297252009-06-08 Felix Zielcke <fzielcke@z-51.de>
29726
29727 * Makefile.in (uninstall): Remove all $include_DATA files.
29728
ba5a0d05 297292009-06-08 Felix Zielcke <fzielcke@z-51.de>
29730
29731 * commands/true.c: New file. Implement the true and false commands.
29732 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
29733 (true_mod_SOURCES): New variable.
29734 (true_mod_CFLAGS): Likewise.
29735 (true_mod_LDFLAGS): Likewise.
29736
c8048e32 297372009-06-05 Colin D Bennett <colin@gibibit.com>
29738
29739 Optimized font character lookup using binary search instead of linear
29740 search. Fonts now are required to have the character index ordered by
29741 code point.
29742
29743 * font/font.c (load_font_index): Verify that fonts have ordered
29744 character indices.
29745 (find_glyph): Use binary search instead of linear search to find a
29746 character in a font.
29747
408305be 297482009-06-05 Michael Scherer <misc@mandriva.org>
29749
29750 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
29751 uses case sensitive btree.
29752 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
29753 only for case insensitive filesystems.
29754
8ee1e0d9 297552009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
29756
29757 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
29758 * conf/common.rmk (search_mod_CFLAGS): likewise
29759
a9966eb1 297602009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29761
473d1e45 29762 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 29763 compensate a compiler bug
29764
9e7100fb 297652009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29766
473d1e45 29767 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 29768 instead of '\b'
473d1e45 29769
ede21d71 297702009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29771
29772 Definitions for creating asm symbols with Apple's CC
29773
29774 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
29775 [APPLE_CC] (VARIABLE): likewise
29776
9dbf7653 297772009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29778
29779 Disable lnxboot.img when compiled
29780 with Apple's CC
29781
29782 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
29783 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
29784 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
29785 [! APPLE_CC] (CODE_LENG): skip
29786 [! APPLE_CC] (setup_sects): likewise
29787 [! APPLE_CC]: skip filling
473d1e45 29788
e93cdc3d 297892009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29790
29791 Address in trampolines based on 32-bit registers when compiled
29792 with Apple's CC
29793
473d1e45 29794 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 29795 for addresses
29796 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
29797
6c688477 297982009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29799
29800 Avoid aliases when compiling with Apple's CC for PCBIOS machine
29801
29802 * kern/misc.c [APPLE_CC] (memcpy): new function
29803 [APPLE_CC] (memmove): likewise
29804 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 29805 (memcpy): define alias conditionally on !APPLE_CC
6c688477 29806 (memset): likewise
29807 (abort): likewise
29808 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
29809 APPLE_CC are defined
29810 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
29811 (grub_assert_fail): make prototype conditional
29812
e37ffc5c 298132009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29814
29815 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
29816
473d1e45 29817 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
29818 grub-macho2img
e37ffc5c 29819 (CLEANFILES): add grub-macho2img
29820 (grub_macho2img_SOURCES): new variable
29821 * kern/i386/pc/startup.S (bss_start): new variable
29822 (bss_end): likewise
29823 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
29824 * util/grub-macho2img.c: new file
29825
cf00df31 298262009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29827
29828 Use objconv when compiling with Apple's CC
29829
29830 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
29831 (efiemu64.o): likewise
29832 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
29833 when compiling with Apple's CC
29834 (efiemu64_s.o): likewise
29835 * configure.ac: check for objconv when compiling with Apple's CC
29836 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 29837
d119a20c 298382009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29839
29840 Define segment as well as section when compiling with
29841 Apple's CC
29842
29843 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
29844 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
29845 (efiemu_convert_pointer): likewise
29846 (efiemu_set_virtual_address_map): likewise
29847 (efiemu_convert_pointer): likewise
29848 (efiemu_getcrc32): likewise
29849 (init_crc32_table): likewise
29850 (reflect): likewise
29851 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
29852 (GRUB_MOD_DEP): likewise
473d1e45 29853
c8600122 298542009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29855
29856 Allow a compilation without -mcmodel=large
29857
29858 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
29859 when compiled without -mcmodel=large
473d1e45 29860 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 29861 without -mcmodel=large
473d1e45 29862 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 29863 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 29864
e8df1d4e 298652009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29866
29867 Remove nested functions in efiemu core
29868
29869 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 29870
cc6c3ac1 298712009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29872
29873 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
29874
29875 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
29876 temporary storage
473d1e45 29877 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
29878 using Apple's CC
cc6c3ac1 29879 (grub_cpu_is_tsc_supported): likewise
29880 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 29881
3e325901 298822009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29883
29884 Absolute addressing through constant with Apple's cc
29885
29886 * kern/i386/pc/startup.S: Define necessary constants
29887 and address through it when using ABS with Apple's CC
29888 * boot/i386/pc/diskboot.S: likewise
29889 * boot/i386/pc/boot.S: likewise
29890 * boot/i386/pc/lnxboot.S: likewise
29891 * boot/i386/pc/cdboot.S: likewise
29892 * mmap/i386/pc/mmap_helper.S: likewise
29893 * commands/i386/pc/drivemap_int13h.S: likewise
29894
2b167a72 298952009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29896
29897 Check if compiler is apple cc
29898
29899 * Makefile.in (ASFLAGS): new variable
29900 (TARGET_ASFLAGS): likewise
29901 (TARGET_MODULE_FORMAT): likewise
29902 (TARGET_APPLE_CC): likewise
29903 (OBJCONV): likewise
29904 (TARGET_IMG_CFLAGS): likewise
29905 (TARGET_CPPFLAGS): add includedir
29906 * configure.ac: call grub_apple_cc and grub_apple_target_cc
29907 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
29908 Check for linker script only if compiler isn't Apple's CC
29909 (TARGET_MODULE_FORMAT): set
29910 (TARGET_APPLE_CC): likewise
29911 (TARGET_ASFLAGS): likewise
29912 (ASFLAGS): likewise
29913 Check for objcopy only if compiler isn't Apple's CC
29914 Check for BSS symbol only if compiler isn't Apple's CC
29915 * genmk.rb: adapt nm options if we use Apple's utils
29916 * aclocal.m4 (grub_apple_cc): new test
29917 (grub_apple_target_cc): likewise
473d1e45 29918
fb14123e 299192009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29920
29921 Simplify sed expressions and improve awk
29922
29923 * Makefile.in (install-local): simplify sed expression
29924 * gencmdlist.sh: likewise
29925 * genmoddep.awk: avoid adding module as a dependency of itself
29926
5b889789 299272009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29928
29929 Add missing start symbols
29930
29931 * boot/i386/pc/boot.S: add start
fb14123e 29932 * boot/i386/pc/pxeboot.S: likewise
473d1e45 29933
fd2bf2e3 299342009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29935
29936 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 29937
29938 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 29939 (relocate_addresses): consider both r_addend and value at offset
29940 (make_mods_section): zerofill modinfo and header
29941 (convert_elf): write prefix here
473d1e45 29942
5389763d 299432009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29944
29945 Use .asciz instead of .string
29946
29947 * i386/pc/diskboot.S: use .asciz instead of .string
29948 * i386/pc/boot.S: likewise
29949 * include/grub/dl.h (GRUB_MOD_DEP): likewise
29950 (GRUB_MOD_NAME): likewise
473d1e45 29951
3eb5ed4e 299522009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29953
29954 gfxpayload support
29955
29956 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
29957 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
29958 (grub_video_setup): remove
29959 (grub_video_set_mode): new prototype
29960 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
29961 (vid_mode): remove
29962 (linux_vesafb_res): compile only on PCBIOS
29963 (grub_linux_boot): support gfxpayload
29964 * loader/i386/pc/xnu.c (video_hook): new function
29965 (grub_xnu_set_video): support gfxpayload
29966 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
29967 (DEFAULT_VIDEO_HEIGHT): likewise
29968 (DEFAULT_VIDEO_FLAGS): likewise
29969 (DEFAULT_VIDEO_MODE): new definition
29970 (video_hook): new function
29971 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 29972 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 29973 loading xnu
29974 * video/video.c (grub_video_setup): removed
473d1e45 29975 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 29976 grub_video_setup
29977
4b0e1143 299782009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29979
29980 Avoid calling biosdisk in drivemap
29981
29982 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
29983 (revparse_biosdisk): likewise
29984 (list_mappings): derive name from id directly
29985 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 29986
fda6cb98 299872009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29988
29989 Script fixes
29990
29991 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
29992 (grub_lexer_param): add tokenonhold
29993 (grub_script_create_cmdline): remove cmdline. All callers updated
29994 (grub_script_function_create): make functionname
29995 grub_script_arg. All callers updated
29996 (grub_script_execute_argument_to_string): new prototype
29997 * kern/parser.c (state_transitions): reorder
29998 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 29999 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 30000 make global
30001 (grub_script_execute_cmdline): use new format
30002 * script/sh/function.c (grub_script_function_create): make functionname
30003 grub_script_arg. All callers updated
473d1e45 30004 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 30005 (grub_script_yylex): remove
30006 (grub_script_yylex2): renamed to ...
30007 (grub_script_yylex): ...renamed
30008 parse the expressions like a${b}c
30009 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
30010 (GRUB_PARSER_TOKEN_VAR): remove
30011 (GRUB_PARSER_TOKEN_NAME): likewise
30012 ("if"): declare as typeless
30013 ("while"): likewise
30014 ("function"): likewise
30015 ("else"): likewise
30016 ("then"): likewise
30017 ("fi"): likewise
30018 (text): remove
30019 (argument): likewise
30020 (script): accept empty scripts and make exit on error
30021 (arguments): use GRUB_PARSER_TOKEN_ARG
30022 (function): likewise
30023 (command): move error handling to script
30024 (menuentry): move grub_script_lexer_ref before
473d1e45 30025 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 30026 argument. All callers updated
30027
f4448a07 300282009-06-04 Robert Millan <rmh.grub@aybabtu.com>
30029
30030 Prevent GRUB from probing floppies during boot.
30031
30032 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
30033 * commands/search.c (options): Add --no-floppy.
30034 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
30035 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
30036 --no-floppy when searching for UUIDs.
30037
2bf5885a 300382009-06-04 Robert Millan <rmh.grub@aybabtu.com>
30039
30040 Simplify the code duplication in commands/search.c.
30041
30042 * commands/search.c (search_label, search_fs_uuid): Merge into ...
30043 (search_fs): ... this. Update all users.
30044
f6fd460a 300452009-06-03 Felix Zielcke <fzielcke@z-51.de>
30046
30047 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
30048
cbb3c83e 300492009-05-28 Pavel Roskin <proski@gnu.org>
30050
57788cfd 30051 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
30052 Remove the original symlink explicitly.
30053
cbb3c83e 30054 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
30055 just one slash. That's how grub_fshelp_find_file() does it.
30056
cd0d5e30 300572009-05-26 Pavel Roskin <proski@gnu.org>
30058
f0f8bbe2 30059 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
30060 to `str'.
30061
cd0d5e30 30062 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
30063 possibly unused.
30064
8c2cab51 300652009-05-25 Christian Franke <franke@computer.org>
30066
30067 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
30068 register.
30069 (grub_atapi_identify): Add wait after drive select.
30070 (grub_ata_identify): Do more strict status register check before
30071 calling grub_atapi_identify (). Suppress error message if status
30072 register is 0x00 after command failure. Add status register
30073 check after PIO read to avoid bogus identify due to stuck DRQ.
30074 Thanks to Pavel Roskin for testing.
30075 (grub_device_initialize): Remove unsafe status register check.
30076 Thanks to 'phcoder' for problem report and patch.
30077 Prevent sign extension in debug message.
30078
230c0ad6 300792009-05-23 Colin D Bennett <colin@gibibit.com>
30080
30081 Cleaned up `include/grub/normal.h'. Grouped prototypes by
30082 definition file, and functions defined in `normal/menu.c' have had
30083 their prototypes moved to `include/grub/menu.h' for consistency.
30084
30085 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
30086 from normal.h.
30087 (grub_menu_get_entry): Likewise.
30088 (grub_menu_get_timeout): Likewise.
30089 (grub_menu_set_timeout): Likewise.
30090 (grub_menu_execute_entry): Likewise.
30091 (grub_menu_execute_with_fallback): Likewise.
30092 (grub_menu_entry_run): Likewise.
30093
30094 * include/grub/normal.h: Re-ordered and grouped function
30095 prototypes by file that the function is defined in.
30096 (grub_menu_execute_callback): Removed; moved to menu.h.
30097 (grub_menu_get_entry): Likewise.
30098 (grub_menu_get_timeout): Likewise.
30099 (grub_menu_set_timeout): Likewise.
30100 (grub_menu_execute_entry): Likewise.
30101 (grub_menu_execute_with_fallback): Likewise.
30102 (grub_menu_entry_run): Likewise.
30103 (grub_menu_addentry): Renamed from this ...
30104 (grub_normal_add_menu_entry): ... to this.
30105
30106 * normal/main.c (grub_menu_addentry): Renamed from this ...
30107 (grub_normal_add_menu_entry): ... to this.
30108
30109 * script/sh/execute.c (grub_script_execute_menuentry): Update
30110 reference to renamed grub_menu_addentry function.
30111
861f03a5 301122009-05-23 Felix Zielcke <fzielcke@z-51.de>
30113
30114 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
30115
96b1619a 301162009-05-22 Pavel Roskin <proski@gnu.org>
30117
bf6a5fb2 30118 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
30119 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
30120 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
30121 compiling for the i386 targets, but not for the utilities.
30122
96b1619a 30123 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
30124 to grub_uint8_t.
30125 (grub_root_drive): Likewise.
30126 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
30127 remove alignment.
30128 (grub_root_drive): Change size to byte.
30129 (grub_start_addr): Remove.
30130 (grub_end_addr): Likewise.
30131 (grub_apm_bios_info): Likewise.
30132
b729776b 301332009-05-21 Felix Zielcke <fzielcke@z-51.de>
30134
30135 * normal/i386: Remove.
30136 * normal/powerpc: Likewise.
30137 * normal/sparc64: Likewise.
30138 * normal/x86_64: Likewise.
30139
0a15ce80 301402009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
30141
30142 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 30143 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 30144 * loader/i386/xnu_helper.S: Likewise
d6da58e6 30145
33db9015 301462009-05-18 Colin D Bennett <colin@gibibit.com>
30147
d6da58e6 30148 Display error messages when parsing a Lua statement fails.
30149 Previously, executing a syntactically invalid statement like
30150 ")foo" or "bar;" would silently fail.
33db9015 30151
30152 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 30153 (grub_lua_parse_line): Improved reporting of Lua parser and
30154 execution errors.
33db9015 30155
46422c89 301562009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
30157
30158 Remove -Werror which causes build to fail on some systems
30159
30160 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
30161 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
30162 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 30163
22f53a96 301642009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
30165
30166 trampoline for linux on 64-bit platform
30167
18f547ad 30168 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
30169 loader/i386/efi/linux_trampoline.S
30170 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 30171 declaration
d6da58e6 30172 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
30173 here
22f53a96 30174 * loader/i386/linux_trampoline.S: moved here
d6da58e6 30175 * loader/i386/efi/linux.c (allocate_pages): reserve space for
30176 trampoline
22f53a96 30177 (jumpvector): removed
30178 (grub_linux_trampoline_start): new declaration
30179 (grub_linux_trampoline_end): likewise
30180 (grub_linux_boot): use trampoline when on 64-bit platform
30181 * loader/i386/linux.c: likewise
30182
cb5a0f40 301832009-05-16 Pavel Roskin <proski@gnu.org>
30184
30185 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
30186 const to avoid a warning.
30187 (grub_lua_setenv): Likewise.
30188 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
30189 lmsg to fix a warning.
30190
334f2c28 301912009-05-16 Felix Zielcke <fzielcke@z-51.de>
30192
30193 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 30194 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
30195 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
30196 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
30197 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
30198 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
30199 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
30200 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 30201
59e5d3ec 302022009-05-16 Felix Zielcke <fzielcke@z-51.de>
30203
30204 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
30205
9d87a1ba 302062009-05-16 Bean <bean123ch@gmail.com>
30207
30208 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
30209 (lua_mod_SOURCES): New variable.
30210 (lua_mod_CFLAGS): Likewise.
30211 (lua_mod_LDFLAGS): Likewise.
30212
30213 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
30214 (setjmp_mod_SOURCES): New variable.
30215 (setjmp_mod_CFLAGS): Likewise.
30216 (setjmp_LDFLAGS): Likewise.
30217
30218 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
30219 (setjmp_mod_SOURCES): New variable.
30220 (setjmp_mod_CFLAGS): Likewise.
30221 (setjmp_LDFLAGS): Likewise.
30222
30223 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
30224 (setjmp_mod_SOURCES): New variable.
30225 (setjmp_mod_CFLAGS): Likewise.
30226 (setjmp_LDFLAGS): Likewise.
30227
30228 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
30229 (setjmp_mod_SOURCES): New variable.
30230 (setjmp_mod_CFLAGS): Likewise.
30231 (setjmp_LDFLAGS): Likewise.
30232
30233 * normal/i386/setjmp.S: Moved from here ...
30234 * lib/i386/setjmp.S: ... Moved here
30235 * normal/x86_64/setjmp.S: Moved from here ...
30236 * lib/x86_64/setjmp.S: ... Moved here
30237 * normal/powerpc/setjmp.S: Moved from here ...
30238 * lib/powerpc/setjmp.S: ... Moved here
30239 * normal/sparc64/setjmp.S: Moved from here ...
30240 * lib/sparc64/setjmp.S: ... Moved here
30241
30242 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
30243 returns_twice in mingw.
30244
30245 * script/lua/grub_lib.c: New file.
30246 * script/lua/grub_lib.h: Likewise.
30247 * script/lua/grub_lua.h: Likewise.
30248 * script/lua/grub_main.c: Likewise.
30249 * script/lua/lapi.c: Likewise.
30250 * script/lua/lapi.h: Likewise.
30251 * script/lua/lauxlib.c: Likewise.
30252 * script/lua/lauxlib.h: Likewise.
30253 * script/lua/lbaselib.c: Likewise.
30254 * script/lua/lcode.c: Likewise.
30255 * script/lua/lcode.h: Likewise.
30256 * script/lua/ldblib.c: Likewise.
30257 * script/lua/ldebug.c: Likewise.
30258 * script/lua/ldebug.h: Likewise.
30259 * script/lua/ldo.c: Likewise.
30260 * script/lua/ldo.h: Likewise.
30261 * script/lua/ldump.c: Likewise.
30262 * script/lua/lfunc.c: Likewise.
30263 * script/lua/lfunc.h: Likewise.
30264 * script/lua/lgc.c: Likewise.
30265 * script/lua/lgc.h: Likewise.
30266 * script/lua/linit.c: Likewise.
30267 * script/lua/liolib.c: Likewise.
30268 * script/lua/llex.c: Likewise.
30269 * script/lua/llex.h: Likewise.
30270 * script/lua/llimits.h: Likewise.
30271 * script/lua/lmathlib.c: Likewise.
30272 * script/lua/lmem.c: Likewise.
30273 * script/lua/lmem.h: Likewise.
30274 * script/lua/loadlib.c: Likewise.
30275 * script/lua/lobject.c: Likewise.
30276 * script/lua/lobject.h: Likewise.
30277 * script/lua/lopcodes.c: Likewise.
30278 * script/lua/lopcodes.h: Likewise.
30279 * script/lua/loslib.c: Likewise.
30280 * script/lua/lparser.c: Likewise.
30281 * script/lua/lparser.h: Likewise.
30282 * script/lua/lstate.c: Likewise.
30283 * script/lua/lstate.h: Likewise.
30284 * script/lua/lstring.c: Likewise.
30285 * script/lua/lstring.h: Likewise.
30286 * script/lua/lstrlib.c: Likewise.
30287 * script/lua/ltable.c: Likewise.
30288 * script/lua/ltable.h: Likewise.
30289 * script/lua/ltablib.c: Likewise.
30290 * script/lua/ltm.c: Likewise.
30291 * script/lua/ltm.h: Likewise.
30292 * script/lua/lua.h: Likewise.
30293 * script/lua/luaconf.h: Likewise.
30294 * script/lua/lualib.h: Likewise.
30295 * script/lua/lundump.c: Likewise.
30296 * script/lua/lundump.h: Likewise.
30297 * script/lua/lvm.c: Likewise.
30298 * script/lua/lvm.h: Likewise.
30299 * script/lua/lzio.c: Likewise.
30300 * script/lua/lzio.h: Likewise.
30301
5e898c9d 303022009-05-16 Bean <bean123ch@gmail.com>
30303
30304 * include/grub/kernel.h (grub_module_header_types): Add type
30305 OBJ_TYPE_CONFIG.
30306
30307 * kern/main.c (grub_load_config): New function.
30308 (grub_main): Call grub_load_config to read boot config.
30309
30310 * grub-mkimage (generate_image): New parameter config_path.
30311 (options): New option --config.
30312 (main): Parse --config option, and pass it to generate_image.
30313
cf353a47 303142009-05-14 Christian Franke <franke@computer.org>
30315
30316 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
30317 This fixes build on Cygwin.
30318
3834887f 303192009-05-14 Pavel Roskin <proski@gnu.org>
30320
30321 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
30322 jump. This saves two bytes, so the typical case of 2 swapped
30323 drives would fit 32 bytes.
30324
8090fc01 303252009-05-13 Pavel Roskin <proski@gnu.org>
30326
ac963883 30327 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
30328 grub_uint32_t to avoid a warning.
30329
8090fc01 30330 * loader/i386/linux.c (allocate_pages): When assigning
30331 real_mode_mem, cast through grub_size_t to fix a warning. The
30332 code already makes sure that the value would fit a pointer.
30333 (grub_linux_setup_video): Cast render_target->data to
30334 grub_size_t to fix a warning.
30335
18f547ad 303362009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 30337
30338 * commands/i386/pc/drivemap.c: New file - implement drivemap
30339 command.
30340 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
30341 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
30342
6f6a8b28 303432009-05-13 Pavel Roskin <proski@gnu.org>
30344
30345 * util/i386/pc/grub-setup.c (setup): Remove unused variable
30346 embedding_area_exists.
30347
15fbf4c4 303482009-05-13 Robert Millan <rmh.grub@aybabtu.com>
30349
30350 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
30351 it easier to understand / work with.
59978c8a 30352 Improve warning messages for cases where there's no embedding area,
30353 or when it is too small (or core.img too large).
15fbf4c4 30354
238e871f 303552009-05-13 Pavel Roskin <proski@gnu.org>
30356
0ab3a9a4 30357 * loader/i386/pc/multiboot2.c: Add necessary includes for
30358 grub_multiboot2_real_boot().
30359
a2c8c5f8 30360 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
30361 PX record is always little-endian. We only need the lower 2
30362 bytes of the mode.
30363
faec96af 30364 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
30365 facilitate code reuse.
30366 (grub_cpio_mount): Use "struct head", not a char buffer. This
30367 fixes a warning reported by gcc 4.4.
30368
238e871f 30369 * kernel/disk.c (grub_disk_read): Use void pointer for the
30370 buffer.
30371 (grub_disk_write): Use const void pointer for the buffer.
30372 Adjust all callers. Remove unnecessary casts.
30373
901d2f0c 303742009-05-10 Robert Millan <rmh.grub@aybabtu.com>
30375
30376 * util/i386/pc/grub-install.in: Update copyright year.
30377
18f547ad 303782009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 30379
30380 gptsync
30381
30382 * commands/gptsync.c: new file
30383 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
30384 (gptsync_mod_SOURCES): new variable
30385 (gptsync_mod_CFLAGS): likewise
30386 (gptsync_mod_LDFLAGS): likewise
18f547ad 30387 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 30388 new definition
30389 (GRUB_PC_PARTITION_TYPE_HFS): likewise
30390 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
30391 * conf/i386-ieee1275.rmk: likewise
30392 * conf/i386-pc.rmk: likewise
30393 * conf/powerpc-ieee1275.rmk: likewise
30394
b4ba690a 303952009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
30396
30397 Fixed grub-emu
30398
30399 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
30400 (grub_dl_ref): likewise
30401
317e1a44 304022009-05-08 Robert Millan <rmh.grub@aybabtu.com>
30403
30404 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
30405 split in two functions (one for msdos and one for gpt).
30406
041b8094 304072009-05-08 Pavel Roskin <proski@gnu.org>
30408
752473c2 30409 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
30410 not modified.
30411
041b8094 30412 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
30413 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
30414 Initialize them with -1. Add sanity check for bad1. Eliminate
30415 nerr variable.
30416
172800ce 304172009-05-08 David S. Miller <davem@davemloft.net>
30418
30419 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
30420
29aa5e81 304212009-05-06 Robert Millan <rmh.grub@aybabtu.com>
30422
30423 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 30424 existence.
29aa5e81 30425
96613b62 304262009-05-05 Felix Zielcke <fzielcke@z-51.de>
30427
30428 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 30429 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 30430
eef73c8a 304312009-05-05 David S. Miller <davem@davemloft.net>
30432
30433 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
30434
119494b5 304352009-05-05 Pavel Roskin <proski@gnu.org>
30436
30437 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
30438 of grub_dl_ref() and grub_dl_unref().
30439 * commands/parttool.c: Remove preprocessor conditionals around
30440 grub_dl_ref() and grub_dl_unref().
30441 * fs/affs.c: Likewise.
30442 * fs/afs.c: Likewise.
30443 * fs/cpio.c: Likewise.
30444 * fs/ext2.c: Likewise.
30445 * fs/fat.c: Likewise.
30446 * fs/hfs.c: Likewise.
30447 * fs/hfsplus.c: Likewise.
30448 * fs/iso9660.c: Likewise.
30449 * fs/jfs.c: Likewise.
30450 * fs/minix.c: Likewise.
30451 * fs/ntfs.c: Likewise.
30452 * fs/reiserfs.c: Likewise.
30453 * fs/sfs.c: Likewise.
30454 * fs/udf.c: Likewise.
30455 * fs/ufs.c: Likewise.
30456 * fs/xfs.c: Likewise.
30457 * include/grub/dl.h: Likewise.
30458 * loader/xnu.c: Likewise.
30459
de5fd76e 304602009-05-04 Pavel Roskin <proski@gnu.org>
30461
30462 * commands/acpi.c: Remove unused variable my_mod.
30463 * partmap/amiga.c: Likewise.
30464 * partmap/apple.c: Likewise.
30465 * partmap/gpt.c: Likewise.
30466 * partmap/pc.c: Likewise.
30467 * partmap/sun.c: Likewise.
30468 * term/gfxterm.c: Likewise.
30469 * term/i386/pc/vesafb.c: Likewise.
30470 * term/i386/pc/vga.c: Likewise.
30471
983598ad 304722009-05-04 David S. Miller <davem@davemloft.net>
30473
30474 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
30475 pointer args to grub_ieee1275_get_property().
30476
8aadec43 30477 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
30478
9554b15e 30479 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
30480 devices, and do not traverse down under controller nodes.
30481
67e23c90 30482 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
30483 (grub_ofdisk_open): Use it to un-escape "," characters.
30484 * kern/disk.c (find_part_sep): New.
30485 (grub_disk_open): Use it to find the first non-escaped ','
30486 character in the disk name.
30487 * util/ieee1275/devicemap.c (escape_of_path): New.
30488 (grub_util_emit_devicemap_entry): Use it.
30489 * util/sparc64/ieee1275/grub-install.in: Update script to
30490 strip partition specifiers properly by not triggering on
30491 '\' escaped ',' characters.
30492
74bfdd2f 304932009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30494
30495 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
30496 to 0x300.
30497 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
30498 resolutions.
30499 (linux_vesafb_modes): Add a lot of additional modes to the list (based
30500 on documentation from Wikipedia).
30501
4241d2b1 305022009-05-04 Pavel Roskin <proski@gnu.org>
30503
30504 * disk/ata.c: Spelling fixes.
30505 * disk/raid.c: Likewise.
30506 * disk/usbms.c: Likewise.
30507 * disk/dmraid_nvidia.c: Likewise.
30508 * kern/ieee1275/openfw.c: Likewise.
30509 * kern/ieee1275/init.c: Likewise.
30510 * kern/ieee1275/cmain.c: Likewise.
30511 * boot/i386/pc/cdboot.S: Likewise.
30512 * video/readers/png.c: Likewise.
30513 * video/i386/pc/vbe.c: Likewise.
30514 * fs/udf.c: Likewise.
30515 * fs/hfs.c: Likewise.
30516 * fs/reiserfs.c: Likewise.
30517 * efiemu/runtime/efiemu.c: Likewise.
30518 * efiemu/main.c: Likewise.
30519 * efiemu/mm.c: Likewise.
30520 * include/grub/elf.h: Likewise.
30521 * include/grub/xnu.h: Likewise.
30522 * include/grub/usbdesc.h: Likewise.
30523 * include/grub/usb.h: Likewise.
30524 * include/grub/script_sh.h: Likewise.
30525 * include/grub/lib/LzmaEnc.h: Likewise.
30526 * include/grub/efiemu/efiemu.h: Likewise.
30527 * include/grub/command.h: Likewise.
30528 * normal/menu.c: Likewise.
30529 * normal/main.c: Likewise.
30530 * normal/datetime.c: Likewise.
30531 * bus/usb/uhci.c: Likewise.
30532 * mmap/i386/uppermem.c: Likewise.
30533 * mmap/mmap.c: Likewise.
30534 * commands/acpi.c: Likewise.
30535 * commands/test.c: Likewise.
30536 * partmap/apple.c: Likewise.
30537 * font/font.c: Likewise.
30538 * loader/sparc64/ieee1275/linux.c: Likewise.
30539 * loader/macho.c: Likewise.
30540 * loader/i386/bsd_trampoline.S: Likewise.
30541 * loader/i386/bsd.c: Likewise.
30542 * loader/xnu.c: Likewise.
30543 * term/i386/pc/vesafb.c: Likewise.
30544 * term/usb_keyboard.c: Likewise.
30545 * util/resolve.c: Likewise.
30546 * util/getroot.c: Likewise.
30547
0cfc0083 305482009-05-04 Felix Zielcke <fzielcke@z-51.de>
30549
30550 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
30551
7c1d00cd 305522009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30553
30554 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
30555 build error.
30556
b01f0548 305572009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30558
30559 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
30560 parameter only available on BIOS.
30561
ecc3eb22 305622009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
30563
30564 Removed wrong semicolon in declaration
30565
30566 * grub/misc.h (grub_dprintf): remove semicolon
30567
112972a9 305682009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30569
30570 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
30571 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
30572 is done by grub_cmd_linux() now).
30573 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
30574 restore video to text mode.
30575 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
30576 indicates lack of "vga=" parameter. "vga=0" is mapped to
30577 `GRUB_LINUX_VID_MODE_NORMAL'.
30578
afd5c115 305792009-05-04 Felix Zielcke <fzielcke@z-51.de>
30580
30581 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
30582 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
30583 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 30584 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 30585 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
30586 `grub_script.tab.c'.
30587
30588 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30589 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30590 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30591 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
30592 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30593
faa517ce 30594 * Makefile.in: Remove duplicated 2008 in Copyright line.
30595
ae0c0bdc 305962009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30597
473d1e45 30598 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 30599 unconditionally.
30600 * include/grub/util/misc.h (grub_util_warn): New declaration.
30601
30602 * util/i386/pc/grub-install.in: Understand --force and pass it down
30603 to grub-setup.
30604
30605 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
30606 down to setup().
30607 (setup): Improve error messages and add warnings when requested to
30608 install in odd layouts. Refuse to install using blocklists unless
30609 --force was set.
30610
18f547ad 306112009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 30612
30613 * disk/raid.c (grub_raid_scan_device): Improve debug message.
30614
6d260daa 306152009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
30616
30617 Updated copyright year
30618
30619 * fs/hfsplus.c: updated copyright year
18f547ad 30620
69f853f8 306212009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
30622
30623 HFS+ UUID
30624
18f547ad 30625 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 30626 in the space previously used by unused3
30627 (grub_hfsplus_uuid): new function
30628 (grub_hfsplus_fs): added uuid field
30629
4c402e73 306302009-05-03 Pavel Roskin <proski@gnu.org>
30631
30632 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
30633 suppress warnings. It's no longer needed.
30634 * disk/host.c: Likewise.
30635 * disk/ata_pthru.c: Likewise.
30636 * disk/loopback.c: Likewise.
30637 * hook/datehook.c: Likewise.
30638 * parttool/pcpart.c: Likewise.
30639 * fs/i386/pc/pxe.c: Likewise.
30640 * fs/ntfscomp.c: Likewise.
30641 * efiemu/main.c: Likewise.
30642 * mmap/mmap.c: Likewise.
30643 * commands/crc.c: Likewise.
30644 * commands/hexdump.c: Likewise.
30645 * commands/hdparm.c: Likewise.
30646 * commands/acpi.c: Likewise.
30647 * commands/echo.c: Likewise.
30648 * commands/minicmd.c: Likewise.
30649 * commands/blocklist.c: Likewise.
30650 * commands/memrw.c: Likewise.
30651 * commands/loadenv.c: Likewise.
30652 * commands/usbtest.c: Likewise.
30653 * commands/lsmmap.c: Likewise.
30654 * commands/boot.c: Likewise.
30655 * commands/parttool.c: Likewise.
30656 * commands/configfile.c: Likewise.
30657 * commands/search.c: Likewise.
30658 * commands/ieee1275/suspend.c: Likewise.
30659 * commands/cat.c: Likewise.
30660 * commands/i386/pc/pxecmd.c: Likewise.
30661 * commands/i386/pc/play.c: Likewise.
30662 * commands/i386/pc/halt.c: Likewise.
30663 * commands/i386/pc/vbeinfo.c: Likewise.
30664 * commands/i386/pc/vbetest.c: Likewise.
30665 * commands/lspci.c: Likewise.
30666 * commands/date.c: Likewise.
30667 * commands/handler.c: Likewise.
30668 * commands/ls.c: Likewise.
30669 * commands/test.c: Likewise.
30670 * commands/cmp.c: Likewise.
30671 * commands/efi/loadbios.c: Likewise.
30672 * commands/efi/fixvideo.c: Likewise.
30673 * commands/halt.c: Likewise.
30674 * commands/help.c: Likewise.
30675 * commands/reboot.c: Likewise.
30676 * hello/hello.c: Likewise.
30677 * script/sh/main.c: Likewise.
30678 * loader/xnu.c: Likewise.
30679 * term/terminfo.c: Likewise.
30680 * term/i386/pc/serial.c: Likewise.
30681 * term/usb_keyboard.c: Likewise.
30682
515b5079 306832009-05-03 David S. Miller <davem@davemloft.net>
30684
30685 * normal/menu.c: Include grub/parser.h
30686
dfc31a22 306872009-05-03 Pavel Roskin <proski@gnu.org>
30688
2fee74f1 30689 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
30690 not char*.
30691 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
30692 Suggested by Javier Martín <lordhabbit@gmail.com>
30693
dfc31a22 30694 * util/i386/pc/grub-mkrescue.in: Allow for the case when
30695 efiemu??.o doesn't exist.
30696 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
30697 copying.
30698
18f547ad 306992009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 30700
30701 FreeBSD 64-bit support
30702
18f547ad 30703 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 30704 and loader/i386/bsd_trampoline.S
30705 (bsd_mod_ASFLAGS): new variable
30706 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
30707 (FREEBSD_MODTYPE_KERNEL64): likewise
30708 (grub_bsd64_trampoline_start): likewise
30709 (grub_bsd64_trampoline_end): likewise
30710 (grub_bsd64_trampoline_selfjump): likewise
30711 (grub_bsd64_trampoline_gdt): likewise
30712 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
30713 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
30714 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
30715 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 30716 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 30717 of "attrib" member
30718 * loader/i386/bsd_pagetable.c: new file
30719 * loader/i386/bsd_trampoline.S: likewise
30720 * loader/i386/bsd.c (ALIGN_QWORD): new macro
30721 (ALIGN_VAR): likewise
30722 (entry_hi): new variable
30723 (kern_end_mdofs): likewise
30724 (is_64bit): likewise
30725 (grub_freebsd_add_meta): use ALIGN_VAR
30726 (grub_e820_mmap): new declaration
30727 (grub_freebsd_add_mmap): new function
30728 (grub_freebsd_add_meta_module): support 64 bit kernels
30729 (grub_freebsd_list_modules): use ALIGN_VAR
30730 (gdt_descriptor): new declaration
30731 (grub_freebsd_boot): support 64 bit kernels
30732 (grub_bsd_elf64_hook): new function
30733 (grub_bsd_load_elf): support elf64
30734
038c5720 307352009-05-03 Bean <bean123ch@gmail.com>
30736
30737 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
30738 after we get the result of if statement.
30739
fc45fb58 307402009-05-03 Bean <bean123ch@gmail.com>
30741
30742 * Makefile.in (enable_efiemu): New variable.
30743
30744 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
30745 set.
30746 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
30747 path.
30748 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
30749 path, add -mno-red-zone option.
30750 (efiemu64_s.o): Likewise.
30751 (efiemu64.o): Use macro $^ for source file.
30752
30753 * configure.ac (--enable-efiemu): New option.
30754
bbee0f2b 307552009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
30756
30757 xnu support
30758
30759 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
30760 (pkglib_MODULES): add xnu.mod
30761 (xnu_mod_SOURCES): new variable
30762 (xnu_mod_CFLAGS): likewise
30763 (xnu_mod_LDFLAGS): likewise
30764 (xnu_mod_ASFLAGS): likewise
30765 * conf/i386-pc.rmk: likewise
30766 * conf/x86_64-efi.rmk: likewise
7dd4a573 30767 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 30768 new declaration
30769 * include/grub/i386/macho.h: new file
30770 * include/grub/i386/xnu.h: likewise
30771 * include/grub/macho.h: likewise
30772 * include/grub/machoload.h: likewise
30773 * include/grub/x86_64/macho.h: likewise
30774 * include/grub/x86_64/xnu.h: likewise
30775 * include/grub/xnu.h: likewise
30776 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
30777 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
30778 * loader/i386/efi/xnu.c: new file
30779 * loader/i386/pc/xnu.c: likewise
30780 * loader/i386/xnu.c: likewise
30781 * loader/i386/xnu_helper.S: likewise
30782 * loader/macho.c: likewise
30783 * loader/xnu.c: likewise
30784 * loader/xnu_resume.c: likewise
30785 * util/grub-dumpdevtree: likewise
30786 * include/grub/i386/pit.h: include grub/err.h
30787 (grub_pit_wait): export
30788 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 30789
5caf964d 307902009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
30791
30792 Efiemu
7dd4a573 30793
5caf964d 30794 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 30795 _linux_efi, linux_efi.
30796 new files in grub-emu
5caf964d 30797 new targets efiemu32.o and efiemu64.o
30798 * loader/linux_normal_efiemu.c: likewise
30799 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 30800 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 30801 files to copy
30802 * include/grub/autoefi.h: new file
7dd4a573 30803 * include/grub/i386/efiemu.h: likewise
5caf964d 30804 * include/grub/i386/pc/efiemu.h: likewise
30805 * include/grub/efi/api.h: add LL suffix when necessary
30806 new definitions relating to tables
30807 * include/grub/efiemu/efiemu.h: new file
30808 * include/grub/efiemu/runtime.h: likewise
30809 * efiemu/prepare.c: likewise
30810 * efiemu/loadcore_common.c: likewise
30811 * efiemu/loadcore64.c: likewise
30812 * efiemu/runtime/efiemu.sh: likewise
30813 * efiemu/runtime/efiemu.S: likewise
30814 * efiemu/runtime/efiemu.c: likewise
30815 * efiemu/runtime/config.h: likewise
30816 * efiemu/prepare32.c: likewise
30817 * efiemu/main.c: likewise
30818 * efiemu/modules/pnvram.c: likewise
30819 * efiemu/modules/i386: likewise
30820 * efiemu/modules/i386/pc: likewise
30821 * efiemu/modules/acpi.c: likewise
30822 * efiemu/i386/pc/cfgtables.c: likewise
30823 * efiemu/i386/loadcore64.c: likewise
30824 * efiemu/i386/loadcore32.c: likewise
30825 * efiemu/prepare64.c: likewise
30826 * efiemu/loadcore.c: likewise
30827 * efiemu/symbols.c: likewise
30828 * efiemu/mm.c: likewise
30829 * efiemu/loadcore32.c: likewise
7dd4a573 30830
308312009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 30832
30833 ACPI spoofing
30834
30835 * commands/acpi.c: new file
30836 * commands/i386/pc/acpi.c: likewise
30837 * commands/efi/acpi.c: likewise
30838 * include/grub/acpi.h: likewise
30839 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
30840 (acpi_mod_SOURCES): new variable
30841 (acpi_mod_CFLAGS): likewise
30842 (acpi_mod_LDFLAGS): likewise
30843 * conf/i386-efi.rmk: likewise
30844 * conf/x86_64-efi.rmk: likewise
30845
7dd4a573 308462009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 30847
30848 Missing part from mmap patch
30849
30850 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
30851 (grub_mmap_unregister)
30852 (grub_mmap_free_and_unregister): use grub_mmap_register
30853
7dd4a573 308542009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 30855
30856 Mmap services
30857
30858 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
30859 * loader/i386/linux.c (find_mmap_size): likewise
30860 (allocate_pages): likewise
30861 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
30862 (grub_fill_multiboot_mmap): likewise
30863 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
30864 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
30865 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
30866 (OPENBSD_MMAP_RESERVED): likewise
30867 * include/grub/i386/pc/memory.h: include grub/memory.h
30868 (grub_lower_mem): removed
30869 (grub_upper_mem): likewise
30870 (GRUB_MACHINE_MEMORY_ACPI): new definition
30871 (GRUB_MACHINE_MEMORY_NVS): likewise
30872 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
30873 (GRUB_MACHINE_MEMORY_HOLE): likewise
30874 (grub_machine_mmap_register): likewise
30875 (grub_machine_mmap_unregister): likewise
30876 (grub_machine_get_upper): likewise
30877 (grub_machine_get_lower): likewise
30878 (grub_machine_get_post64): likewise
30879 * include/grub/i386/efi/memory.h: new file
30880 * include/grub/x86_64/efi/memory.h: likewise
30881 * include/grub/efi/memory.h: likewise
30882 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
30883 (mmap_mod_SOURCES): new variable
30884 (mmap_mod_LDFLAGS): likewise
30885 (mmap_mod_ASFLAGS): likewise
30886 * conf/i386-coreboot.rmk: likewise
30887 * conf/i386-ieee1275.rmk: likewise
30888 * conf/i386-efi.rmk: likewise
30889 * conf/x86_64-efi.rmk: likewise
30890 * include/grub/types.h (UINT_TO_PTR): new macro
30891 (PTR_TO_UINT32): likewise
30892 (PTR_TO_UINT64): likewise
30893 * include/grub/memory.h: new file
30894 * mmap/i386/pc/mmap.c: likewise
30895 * mmap/i386/pc/mmap_helper.S: likewise
30896 * mmap/i386/uppermem.c: likewise
30897 * mmap/mmap.c: likewise
30898 * mmap/efi/mmap.c: likewise
7dd4a573 30899 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 30900 grub_upper_mem
30901 * kern/i386/pc/init.c (grub_lower_mem): removed variable
30902 (grub_upper_mem): likewise
30903 (grub_machine_init): don't use grub_upper_mem,
30904 make grub_lower_mem local
30905 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
30906 grub_mmap_iterate and grub_mmap_get_upper
30907 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
30908
d558e6b5 309092009-05-02 Bean <bean123ch@gmail.com>
30910
30911 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
30912 script/sh/parser.y.
30913 (pkglib_MODULES): Add normal.mod and sh.mod.
30914 (normal_SOURCES): New variable.
30915 (normal_mod_CFLAGS): Likewise.
30916 (normal_mod_LDFLAGS): Likewise.
30917 (sh_mod_SOURCES): Likewise.
30918 (sh_mod_CFLAGS): Likewise.
30919 (sh_mod_LDFLAGS): Likewise.
30920
30921 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
30922 script/sh/lexer.c_DEPENDENCIES.
30923 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
30924 kern/rescue_reader.c and kern/rescue_parser.c.
30925 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
30926 (grub_emu_SOURCES): Change source files.
30927 (pkglib_MODULES): Remove normal.mod.
30928 (normal_SOURCES): Removed.
30929 (normal_mod_CFLAGS): Likewise.
30930 (normal_mod_LDFLAGS): Likewise.
30931 * conf/i386-coreboot.rmk: Likewise.
30932 * conf/i386-efi.rmk: Likewise.
30933 * conf/i386-ieee1276.rmk: Likewise.
30934 * conf/powerpc-ieee1275.rmk: Likewise.
30935 * conf/sparc64-ieee1275.rmk: Likewise.
30936 * conf/x86_64-efi.rmk: Likewise.
30937
30938 * include/grub/command.h (grub_command_execute): New inline function.
30939
30940 * include/grub/menu.h (grub_menu_entry): Removed commands field.
30941
30942 * include/grub/normal.h: Remove <grub/setjmp.h>.
30943 (grub_fs_module_list): Moved to normal/autofs.c.
30944 (grub_exit_env): Removed.
30945 (grub_command_execute): Likewise.
30946 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
30947 parameter script.
30948 (read_command_list): New function declaration.
30949 (read_fs_list): Likewise.
30950
30951 * include/parser.h: Include <grub/reader.h>.
30952 (grub_parser_split_cmdline): Change type of getline parameter.
30953 (grub_parser): New structure.
30954 (grub_parser_class): New variable.
30955 (grub_parser_execute): New function declaration.
30956 (grub_register_rescue_parser): Likewise.
30957 (grub_parser_register): New inline function.
30958 (grub_parser_unregister): Likewise.
30959 (grub_parser_get_current): Likewise.
30960 (grub_parser_set_current): Likewise.
30961
30962 * include/grub/reader.h: New file.
30963 * kern/reader.c: Likewise.
30964 * kern/rescue_parser.c: Likewise.
30965 * kern/rescue_reader.c: Likewise.
30966 * normal/autofs.c: Likewise.
30967 * normal/dyncmd.c: Likewise.
30968
30969 * include/grub/rescue.h: Removed.
30970 * normal/command.h: Likewise.
30971
30972 * include/grub/script.h: Moved to ...
30973 * include/grub/script_sh.h: ... Moved here.
30974 * normal/execute.c: Moved to ...
30975 * script/sh/execute.c: ... Moved here.
30976 * normal/function.c: Moved to ...
30977 * script/sh/function.c: ... Moved here.
30978 * normal/lexer.c: Moved to ...
30979 * script/sh/lexer.c: ... Moved here.
30980 * normal/parser.y: Moved to ...
30981 * script/sh/parser.y: ... Moved here.
30982 * normal/script.c: Moved to ...
30983 * script/sh/script.c: ... Moved here.
30984
30985 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
30986 <grub/reader.h>.
30987 (grub_exit_env): Removed.
30988 (fs_module_list): Moved to normal/autofs.c.
30989 (grub_file_getline): Don't handle comment here.
30990 (free_menu): Skip removed field entry->commands.
30991 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
30992 script parameter.
30993 (read_config_file): Removed nested parameter, change getline function.
30994 (grub_enter_normal_mode): Removed.
30995 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
30996 (read_command_list): Likewise.
30997 (autoload_fs_module): Moved to normal/autofs.c.
30998 (read_fs_list): Likewise.
30999 (reader_nested): New variable.
31000 (grub_normal_execute): Run parser.sh to switch to sh parser.
31001 (grub_cmd_rescue): Removed.
31002 (cmd_normal): Removed.
31003 (grub_cmd_normal): Unregister itself at the beginning. Don't register
31004 rescue command.
31005 (grub_cmdline_run): New function.
31006 (grub_normal_reader_init): Likewise.
31007 (grub_normal_read_line): Likewise.
31008 (grub_env_write_pager): Likewise.
31009 (cmdline): New variable.
31010 (grub_normal_reader): Likewise.
31011 (GRUB_MOD_INIT): Register normal reader and set as current, register
31012 pager hook, register normal command with grub_register_command_prio,
31013 so that it won't show up in command.lst.
31014 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
31015 grub_fs_autoload_hook.
31016
31017 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
31018 (grub_menu_execute_entry): Replace grub_script_execute with
31019 grub_parser_execute, change parameter to grub_command_execute.
31020
31021 * normal/menu_text.c: Remove <grub/script.h>.
31022
31023 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
31024 and <grub/parser.h>.
31025 (run): Change editor_getline to use new parser interface. Change
31026 parameter to grub_command_execute.
31027
31028 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
31029 <grub/reader.h> and <grub/parser.h>.
31030 (grub_load_normal_mode): Execute normal command.
31031 (grub_main): Call grub_register_core_commands,
31032 grub_register_rescue_parser and grub_register_rescue_reader, use
31033 grub_reader_loop to enter input loop.
31034
7dd4a573 31035 * kern/parser.c (grub_parser_split_cmdline): Change type of
31036 getline parameter.
d558e6b5 31037 (grub_parser_class): New variable.
31038 (grub_parser_execute): New function.
31039
31040 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
31041 * loader/multiboot2.c: Likewise.
31042 * loader/sparc64/ieee1275/linux.c: Likewise.
31043
31044 * util/grub-emu.c (read_command_list): New dummy function.
31045
18db813d 310462009-05-02 Robert Millan <rmh.grub@aybabtu.com>
31047
31048 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
31049 count to 16 for CCISS and IDA.
31050
6c67de15 310512009-05-02 Robert Millan <rmh.grub@aybabtu.com>
31052
31053 * normal/menu_text.c (grub_wait_after_message): Print a newline
31054 after waiting for user input.
31055
31056 * loader/i386/linux.c: Include `<grub/normal.h>'.
31057 (grub_cmd_linux): Improve the error message about `ask' mode, by
31058 waiting for user input so it's not missed (we can do this, since
31059 user requested interaction).
31060
d9dc87b0 310612009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
31062
31063 Added missing lst to grub-mkrescue
31064
31065 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
31066 and ${input_dir}/parttool.lst
31067
ac8a2baa 310682009-04-30 David S. Miller <davem@davemloft.net>
31069
ad22a610 31070 * util/hostdisk.c (device_is_wholedisk): New function.
31071 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
31072 zero only if device_is_wholedisk() returns true.
31073
6966215d 31074 * util/hostdisk.c (convert_system_partition_to_system_disk):
31075 Handle virtual disk devices named /dev/vdiskX as found on sparc
31076 and powerpc.
31077
ac8a2baa 31078 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
31079 lettered partition specifier is found, convert to numbered.
31080
979b4fb4 310812009-04-29 David S. Miller <davem@davemloft.net>
31082
e2bf39b2 31083 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
31084 * include/grub/sparc64/ieee1275/memory.h: Likewise.
31085
3c64e104 31086 * normal/command.c: Add missing newline at end of file.
31087
979b4fb4 31088 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
31089 warnings.
31090 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
31091 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
31092 grub_ofdisk_read): Likewise, and deal similarly with the fact that
31093 ihandles have a 32-bit type but need to be stored in a "void *".
31094
136d9f82 310952009-04-28 Pavel Roskin <proski@gnu.org>
31096
9459c306 31097 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
31098 not disk. Adjust all dependencies.
2e08a26a 31099 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 31100 grub_disk_close().
31101
136d9f82 31102 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
31103 parent's partition, don't copy it by reference, as it gets freed
31104 on close.
31105
7dd4a573 311062009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 31107
31108 Preboot hooks support
31109
31110 * commands/boot.c (struct grub_preboot_t): new declaration
31111 (preboots_head): new variable
31112 (preboots_tail): likewise
31113 (grub_loader_register_preboot_hook): new function
31114 (grub_loader_unregister_preboot_hook): likewise
31115 (grub_loader_set): launch preboot hooks
31116 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
31117 (grub_loader_register_preboot_hook): new declaration
31118 (grub_loader_unregister_preboot_hook): likewise
31119
5af922b5 311202009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
31121
31122 Warning fix
31123
7dd4a573 31124 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 31125 calling grub_dprintf
31126
a5562c30 311272009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
31128
31129 Bug and warning fixes
31130
7dd4a573 31131 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 31132 declaration
31133 * commands/test.c (test_parse): fixed bug with file tests and corrected
31134 declaration of find_file
31135
4006f85c 311362009-04-26 Pavel Roskin <proski@gnu.org>
31137
31138 * Makefile.in: Don't install empty manual pages if help2man is
31139 missing. Use help2man option for output, not shell redirection.
31140
5c77c3de 311412009-04-26 David S. Miller <davem@davemloft.net>
31142
31143 * util/grub-mkdevicemap.c (make_device_map): Add missing
31144 NESTED_FUNC_ATTR to process_device().
31145
033b10a8 311462009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
31147
31148 Test command
31149
31150 * commands/test.c: rewritten to use bash-like test
31151
e4343593 311522009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
31153
31154 Parttool autoloading and improvements
31155
7dd4a573 31156 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 31157 (parttool.lst): new target
31158 * genmk.rb: generate parttool-*
31159 (CLEANFILES): add #{parttool}
31160 (PARTTOOLFILES): new variable
31161 * genparttoollist.sh: new file
7dd4a573 31162 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 31163 (grub_pcpart_type): likewise
31164 * commands/parttool.c (helpmsg): new variable
31165 (grub_cmd_parttool): output help if not enough arguments are supplied
31166 autoload modules
31167 (GRUB_MOD_INIT(parttool)): use helpmsg
31168
0d312500 311692009-04-24 David S. Miller <davem@davemloft.net>
31170
7dd4a573 31171 Avoiding opening same device multiple times in device iterator.
0d312500 31172
31173 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 31174 and use it to build a list of partitions in iterate_disk() and
0d312500 31175 iterate_partition().
31176
ac20caff 31177 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
31178 on disk->data.
31179
0dcf7495 31180 * disk/ieee1275/nand.c (grub_nand_iterate): Return
31181 grub_devalias_iterate() result instead of unconditional 0.
31182 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
31183 Also, capture hook return value, either directly or via
31184 grub_children_iterate(), and propagate to caller.
31185 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
31186 grub_children_iterate): Return value is now 'int' instead of
31187 'grub_err_t'.
31188 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
31189 like a proper iterator, stopping when hooks return non-zero.
31190 (grub_devalias_iterate): Likewise.
31191
c8c08833 311922009-04-23 David S. Miller <davem@davemloft.net>
31193
31194 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
31195
f01005a8 311962009-04-22 David S. Miller <davem@davemloft.net>
31197
31198 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
31199 is larger than address_cells, use that value for address_cells too.
31200
4e8269da 31201 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
31202 IEEE1275_MAX_PATH_LEN): Define.
31203 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
31204 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
31205 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
31206 'devtype'. Explicitly NULL terminate devalias expansion.
31207
a1447506 31208 * util/sparc64/ieee1275/misc.c: New file.
31209 * util/sparc64/ieee1275/grub-setup.c: New file.
31210 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
31211 * util/sparc64/ieee1275/grub-mkimage.c: New file.
31212 * util/sparc64/ieee1275/grub-install.in: New file.
31213 * util/ieee1275/ofpath.c: New file.
31214 * util/ieee1275/devicemap.c: New file.
31215 * util/devicemap.c: New file.
31216 * util/deviceiter.c: New file.
31217 * kern/sparc64/ieee1275/init.c: New file.
31218 * include/grub/util/ofpath.h: New file.
31219 * include/grub/util/deviceiter.h: New file.
31220 * util/grub-mkdevicemap.c: Include deviceiter.h.
31221 Implement using grub_util_emit_devicemap_entry and
31222 grub_util_iterate_devices.
31223 * conf/i386-corebook.rmk: Build util/deviceiter.c and
31224 util/devicemap.c into grub-mkdevicemap
31225 * conf/i386-efi.rmk: Likewise.
31226 * conf/i386-ieee1275.rmk: Likewise.
31227 * conf/i386-pc.rmk: Likewise.
31228 * conf/powerpc-ieee1275.rmk: Likewise.
31229 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
31230 images and installation utilities. Build kernel as image
31231 instead of as elf binary. Use common rules as much as possible.
31232
7dd4a573 312332009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 31234
31235 Correct GPT definition
31236
7dd4a573 31237 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 31238 of "attrib" member
31239
c6c5219f 312402009-04-19 Felix Zielcke <fzielcke@z-51.de>
31241
31242 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
31243
0552ff9f 312442009-04-19 David S. Miller <davem@davemloft.net>
31245
31246 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
31247 (grub_rescue_cmd_linux): Rename to...
31248 (grub_cmd_linux): and fix prototype.
31249 (grub_rescue_cmd_initrd): Rename to...
31250 (grub_cmd_initrd): and fix prototype.
31251 (cmd_linux, cmd_initrd): New.
31252 (GRUB_MOD_INIT(linux)): Use grub_register_command().
31253 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
31254
d1a282fc 312552009-04-17 Pavel Roskin <proski@gnu.org>
31256
07c5039f 31257 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
31258 format.
31259 (grub_ohci_transfer): Likewise.
31260
b012002d 31261 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
31262
1bc09c35 31263 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
31264 return without a value. Fix inconsistent indentation.
31265
e0ff9126 31266 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
31267 match struct grub_fs.
31268
d1a282fc 31269 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
31270 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
31271 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
31272 * commands/lspci.c (grub_lspci_iter): Likewise.
31273
a96df3f2 312742009-04-16 Bean <bean123ch@gmail.com>
31275
31276 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
31277 value.
31278
41bb0fe9 312792009-04-15 Pavel Roskin <proski@gnu.org>
31280
31281 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
31282 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
31283 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
31284 definitions.
31285
596c6970 312862009-04-15 Felix Zielcke <fzielcke@z-51.de>
31287
31288 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 31289 that no multiple data or metadata areas are supported and `Unknown
596c6970 31290 metadata header'.
31291
7dd4a573 312922009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 31293
31294 Move loader out of the kernel
31295
31296 * kern/loader.c: moved to ...
31297 * commands/boot.c: ... moved here
31298 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
31299 * commands/boot.c (grub_cmd_boot): moved here. All users updated
31300 * include/grub/kernel.h (grub_machine_fini): export
31301 * include/grub/loader.h (grub_loader_is_loaded): update declaration
31302 (grub_loader_set): likewise
31303 (grub_loader_unset): likewise
31304 (grub_loader_boot): likewise
31305 * conf/common.rmk: new module boot.mod
31306 (pkglib_MODULES): add boot.mod
31307 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
31308 (grub_emu_SOURCES): likewise
31309 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
31310 (grub_emu_SOURCES): likewise
31311 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
31312 (grub_emu_SOURCES): likewise
31313 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
31314 (grub_emu_SOURCES): likewise
31315 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
31316 (grub_emu_SOURCES): likewise
7dd4a573 31317 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
31318 (grub_emu_SOURCES): likewise
0d5d5653 31319 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 31320 (grub_emu_SOURCES): likewise
0d5d5653 31321
7dd4a573 313222009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 31323
31324 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 31325
5999d619 31326 * kern/misc.c (grub_itoa): Removed function
31327 (grub_ltoa): likewise
31328 (grub_vsprintf): use grub_lltoa
31329
7dd4a573 313302009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 31331
31332 Restore grub-emu
31333
31334 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
31335 * conf/i386-coreboot.rmk: likewise
31336 * conf/i386-ieee1275.rmk: likewise
31337 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 31338
20318222 313392009-04-15 Felix Zielcke <fzielcke@z-51.de>
31340
31341 * INSTALL: Add that `./autogen.sh' needs to be run before
31342 `./configure.'.
31343
d05f0df3 313442009-04-14 Bean <bean123ch@gmail.com>
31345
31346 * Makefile.in (pkglib_DATA): Add handler.lst.
31347 (handler.lst): New rule.
31348
31349 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
31350 * conf/i386-coreboot.rmk: Likewise.
31351 * conf/i386-ieee1275.rmk: Likewise.
31352 * conf/i386-efi.rmk: Likewise.
31353 * conf/x86_64-efi.rmk: Likewise.
31354 * conf/powerpc-ieee1275.rmk: Likewise.
31355 * conf/sparc64-ieee1275.rmk: Likewise.
31356
31357 * genhandlerlist.sh: New file.
31358
31359 * genmk.rb: Add rules to generate handler.lst.
31360
31361 * include/grub/normal.h (grub_file_getline): New function definition.
31362 (read_handler_list): Likewise.
31363 (free_handler_list): Likewise.
31364
31365 * include/grub/term.h (grub_term_register_input): Add name parameter
31366 for auto generation of handler.lst.
31367 (grub_term_register_output): Likewise.
31368
31369 * normal/handler.c: New file.
31370
31371 * normal/main.c (get_line): Renamed to grub_file_getline.
31372 (read_config_file): Use the newly renamed grub_file_getline.
31373 (read_command_list): Likewise.
31374 (read_fs_list): Likewise.
31375 (grub_normal_execute): Call read_handler_list to parse handler.lst.
31376 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
31377
31378 * term/efi/console.c (grub_console_init): Add name parameter for auto
31379 generation of handler.lst.
31380 * term/gfxterm.c: Likewise.
31381 * term/i386/pc/at_keyboard.c: Likewise.
31382 * term/i386/pc/console.c: Likewise.
31383 * term/i386/pc/serial.c: Likewise.
31384 * term/i386/pc/vesafb.c: Likewise.
31385 * term/i386/pc/vga.c: Likewise.
31386 * term/i386/pc/vga_text.c: Likewise.
31387 * term/ieee1275/ofconsole.c: Likewise.
31388 * term/usb_keyboard.c: Likewise.
31389
33c846be 313902009-04-14 Bean <bean123ch@gmail.com>
31391
31392 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
31393 properly with null character.
31394
4484e01e 313952009-04-14 Felix Zielcke <fzielcke@z-51.de>
31396
31397 * configure: Remove.
31398 * config.h.in: Likewise.
f93d668e 31399 * stamp-h.in: Likewise.
4484e01e 31400 * DISTLIST: Likewise.
31401 * conf/common.mk: Likewise.
31402 * conf/i386-coreboot.mk: Likewise.
31403 * conf/i386-efi.mk: Likewise.
31404 * conf/i386-ieee1275.mk: Likewise.
31405 * conf/i386.mk: Likewise.
31406 * conf/i386-pc.mk: Likewise.
31407 * conf/powerpc-ieee1275.mk: Likewise.
31408 * conf/sparc64-ieee1275.mk: Likewise.
31409 * conf/x86_64-efi.mk: Likewise.
31410
31411 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
31412 develop on GRUB.
31413
7dd4a573 314142009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 31415 David S. Miller <davem@davemloft.net>
31416
31417 * util/hostdisk.c (make_device_name): Fix buffer length
31418 calculations.
31419
e25b5a8c 314202009-04-14 Felix Zielcke <fzielcke@z-51.de>
31421
31422 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
31423 <sys/param.h> and <sys/sysctl.h>.
31424 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
31425 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
31426 opening the device and reset them afterwards.
31427
1f1f580c 314282009-04-13 Pavel Roskin <proski@gnu.org>
31429
31430 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
31431 Reported by John Stanley <jpsinthemix@verizon.net>
31432
7ebc2d6b 314332009-04-13 Robert Millan <rmh@aybabtu.com>
31434
31435 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 31436 that name for menuentries when appropriate.
7ebc2d6b 31437
d8ba3667 314382009-04-13 Felix Zielcke <fzielcke@z-51.de>
31439
31440 * util/grub.d/10_freebsd.in: Add a missing `fi'.
31441
cba416eb 314422009-04-13 Robert Millan <rmh@aybabtu.com>
31443
31444 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
31445 to Linux, simply abort telling the user it's no longer supported.
31446
a547a745 314472009-04-13 Felix Zielcke <fzielcke@z-51.de>
31448
31449 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 31450 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 31451 `freebsd_loadenv' only when devices.hints exist.
31452
232a769c 314532009-04-13 Pavel Roskin <proski@gnu.org>
31454
31455 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
31456
c3012039 314572009-04-13 Felix Zielcke <fzielcke@z-51.de>
31458
31459 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
31460 partition number.
31461 (grub_drive): Likewise.
31462
234022fe 314632009-04-13 David S. Miller <davem@davemloft.net>
31464
31465 * kern/sparc64/ieee1275/ieee1275.c: New file.
31466 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
31467 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
31468 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
31469 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
31470 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
31471 grub_ieee1275_alloc_physmem): Declare new exported functions.
31472
d8e1836c 31473 * include/grub/sparc64/ieee1275/loader.h: New file.
31474 * include/grub/sparc64/ieee1275/memory.h: Likewise.
31475 * include/grub/sparc64/kernel.h: Likewise.
31476 * loader/sparc64/ieee1275/linux.c: Likewise.
31477
96bd81ec 31478 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
31479 (grub_fstest_SOURCES): Likewise.
31480
6a4737e5 31481 * util/hostdisk.c (make_device_name): Do not make any assumptions
31482 about the length of drive names.
31483
1d7a72fd 31484 * kern/dl.c (grub_dl_load_file): Close file immediately when
31485 we are done using it.
31486
56bc2471 314872009-04-12 David S. Miller <davem@davemloft.net>
31488
31489 * kern/misc.c (grub_ltoa): Fix cast when handling negative
31490 values. Noticed by Pavel Roskin.
31491
df38d0bb 31492 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
31493 target compiler.
7dd4a573 31494
e382e93a 31495 * genmk.rb: Add more flexible image type specification, also
31496 pass --strip-unneeded to objcopy.
31497 * conf/i386-pc.rmk: Use *_FORMAT.
31498 * conf/i386-pc.mk: Rebuilt.
31499
f5dbbca9 31500 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
31501 (OFDISK_HASH_SZ): Define.
31502 (ofdisk_hash): New hash table.
31503 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
31504 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
31505 instead of device phandle which is not unique.
31506
91c88b12 31507 * kern/sparc64/ieee1275/init.c: Delete, replace with...
31508 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
31509 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
31510 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
31511 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
31512 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
31513 GRUB_KERNEL_MACHINE_DATA_END): Define.
31514 (grub_kernel_image_size, grub_total_module_size): Declare.
31515
5b5d4aa5 315162009-04-12 Pavel Roskin <proski@gnu.org>
31517
7dd4a573 31518 * configure.ac: Change the logic when we check for target tools.
31519 Do it when the target is specified and it's different from the
31520 specified value of the host.
5b5d4aa5 31521
c91e1793 315222009-04-11 Felix Zielcke <fzielcke@z-51.de>
31523
31524 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
31525 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
31526 GNU/kFreeBSD. Check if a device is a character device. Use
31527 DIOCGMEDIASIZE to get the size.
31528 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
31529 support for GNU/kFreeBSD.
31530 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
31531 is a character device instead of a block device. Add support for
31532 FreeBSD device names.
31533
31534 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
31535 is a character device instead of a block device.
31536
31537 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
31538 is a character device instead of a block device.
31539
b1ac8644 315402009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
31541
31542 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
31543 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
31544 FreeBSD. Check if a device is a character device. Use
31545 DIOCGMEDIASIZE to get the size.
31546 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
31547 support for FreeBSD.
31548 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
31549 is a character device instead of a block device. Add support for
31550 FreeBSD device names.
31551
31552 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
31553 a character device instead of a block device.
31554 (grub_util_check_char_device): New function.
31555
31556 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
31557 a character device instead of a block device.
31558
31559 * include/grub/util/getroot.h (grub_util_check_char_device): New
31560 prototype.
31561
a3f7515a 315622009-04-11 David S. Miller <davem@davemloft.net>
31563
31564 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
31565 static libgcc.
31566 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
31567 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
31568 function, if present.
31569 (__bswapdi2): Likewise.
31570
0d44993d 31571 * include/grub/sparc64/ieee1275/boot.h: New file.
31572 * boot/sparc64/ieee1275/boot.S: Likewise.
31573 * boot/sparc64/ieee1275/diskboot.S: Likewise.
31574
ed3d2bc2 31575 * kern/misc.c (grub_ltoa): New function.
31576 (grub_vsprintf): Use it to format 'long' integers.
31577
d3bfb59c 315782009-04-10 David S. Miller <davem@davemloft.net>
31579
31580 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
31581 slots are of type grub_ieee1275_cell_t.
31582 (grub_nand_read): Likewise.
31583 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
31584 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
31585 macros are used to compare values in arg/ret block of the call.
31586 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
31587 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
31588 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
31589 grub_ieee1275_instance_to_path, grub_ieee1275_write,
31590 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
31591 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
31592 grub_ieee1275_close, grub_ieee1275_set_property,
31593 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
31594 grub_ieee1275_cell_t.
31595 * kern/ieee1275/openfw.c (grub_map): Likewise.
31596 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
31597 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
31598
450e2238 31599 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
31600 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
31601 (grub_devalias_iterate): Likewise.
31602
7dd4a573 316032009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 31604
31605 UFS improvements
31606
31607 * fs/ufs.c (INODE_NBLOCKS): new definition
31608 (struct grub_ufs_dirent): added fields for non-BSD dirents
31609 (grub_ufs_get_file_block): fixed double indirect handling
31610 (grub_ufs_lookup_symlink): use more robust way to determine whether
31611 symlink is inline
31612 (grub_ufs_find_file): support for non-BSD dirents
31613 (grub_ufs_dir): support for non-BSD dirents
31614
e7e6862a 316152009-04-10 Bean <bean123ch@gnail.com>
31616
31617 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
31618 attribute, otherwise the size would be wrong for i386 platform.
31619
31620 * include/grub/pci.h (grub_pci_read_word): New inline function.
31621 (grub_pci_read_byte): Likewise.
31622 (grub_pci_write): Likewise.
31623 (grub_pci_write_word): Likewise.
31624 (grub_pci_write_byte): Likewise.
31625
31626 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
31627
31628 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
31629 (find_framebuf): Scan pci to locate the frame buffer address.
31630
31631 * commands/efi/fixvideo.c: New file.
31632
31633 * commands/efi/loadbios.c: Likewise.
31634
31635 * commands/memrw.c: Likewise.
31636
31637 * util/grub-dumpbios.in: Likewise.
31638
31639 * conf/common.rmk (grub-dumpbios): New utility.
31640 (pkglib_MODULES): New module memrw.mod.
31641 (memrw_mod_SOURCE): New macro.
31642 (memrw_mod_CFLAGS): Likewise.
31643 (memrw_mod_LDFLAGS): Likewise.
31644
7dd4a573 31645 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 31646 fixvideo.mod.
31647 (loadbios_mod_SOURCE): New macro.
31648 (loadbios_mod_CFLAGS): Likewise.
31649 (loadbios_mod_LDFLAGS): Likewise.
31650 (fixvideo_mod_SOURCE): Likewise.
31651 (fixvideo_mod_CFLAGS): Likewise.
31652 (fixvideo_mod_LDFLAGS): Likewise.
31653
7dd4a573 31654 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 31655 fixvideo.mod.
31656 (loadbios_mod_SOURCE): New macro.
31657 (loadbios_mod_CFLAGS): Likewise.
31658 (loadbios_mod_LDFLAGS): Likewise.
31659 (fixvideo_mod_SOURCE): Likewise.
31660 (fixvideo_mod_CFLAGS): Likewise.
31661 (fixvideo_mod_LDFLAGS): Likewise.
31662
af63ada2 316632009-04-08 Felix Zielcke <fzielcke@z-51.de>
31664
31665 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
31666
c2cdde70 316672009-04-07 David S. Miller <davem@davemloft.net>
31668
31669 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
31670 support for R_SPARC_OLO10 relocations. Fix compile warning for
31671 R_SPARC_WDISP30 case.
ea3f72cf 31672 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 31673
761319cf 316742009-04-06 Pavel Roskin <proski@gnu.org>
31675
1007d1f5 31676 * include/grub/misc.h (ARRAY_SIZE): New macro.
31677 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
31678 New macro.
31679 * loader/i386/linux.c (allocate_pages): Use free_pages().
31680 (grub_linux_unload): Don't use free_pages().
31681 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
31682 wrong index. Treat all other modes as text modes.
31683 (grub_cmd_linux): Initialize vid_mode unconditionally to
31684 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
31685
761319cf 31686 * commands/help.c (print_command_help): Use cmd->prio, not
31687 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
31688
ea761d40 316892009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 31690
ea761d40 31691 Parttool
31692
31693 * parttool/pcpart.c: new file
31694 * commands/parttool.c: likewise
31695 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
31696 (parttool_mod_SOURCES): new variable
31697 (parttool_mod_CFLAGS): likewise
31698 (parttool_mod_LDFLAGS): likewise
31699 (pcpart_mod_SOURCES): likewise
31700 (pcpart_mod_CFLAGS): likewise
31701 (pcpart_mod_LDFLAGS): likewise
7dd4a573 31702 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 31703 and parttool/pcpart.c
31704 * conf/i386-efi.rmk: likewise
31705 * conf/i386-ieee1275.rmk: likewise
31706 * conf/i386-pc.rmk: likewise
31707 * conf/powerpc-ieee1275.rmk: likewise
31708 * conf/sparc64-ieee1275.rmk: likewise
31709 * conf/x86_64-ieee1275.rmk: likewise
31710
05aaebfb 317112009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
31712
31713 Support for mtime and further expandability of dir command
31714
31715 * include/grub/lib/datetime.h: moved to ...
7dd4a573 31716 * include/grub/datetime.h: ... moved here and added
05aaebfb 31717 declaration of grub_unixtime2datetime. All users updated
7dd4a573 31718 * include/grub/fs.h: new syntax for dir and mtime functions in
31719 struct grub_fs
05aaebfb 31720 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
31721 and GRUB_FSHELP_FLAGS_MASK
31722 * commands/ls.c (grub_ls_list_files): Write mtime in long format
31723 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
31724 (grub_ext2_mtime): new function
31725 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
31726 (grub_hfsplus_mtime): new function
31727 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
31728 (GRUB_UFS_ATTR_FILE): likewise
31729 (GRUB_UFS_ATTR_LNK): likewise
31730 (struct grub_ufs_sblock): new fields mtime
31731 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
31732 all users updated
31733 (grub_ufs_dir): mtime support
31734 (grub_ufs_mtime): new function
31735 * fs/affs.c (grub_affs_dir): use new dir syntax
31736 * fs/afs.c (grub_afs_dir): likewise
31737 * fs/cpio.c (grub_cpio_dir): likewise
31738 * fs/fat.c (grub_fat_find_dir): likewise
31739 * fs/hfs.c (grub_hfs_dir): likewise
31740 * fs/iso9660.c (grub_iso9660_dir): likewise
31741 * fs/jfs.c (grub_jfs_dir): likewise
31742 * fs/minix.c (grub_minix_dir): likewise
31743 * fs/ntfs.c (grub_ntfs_dir): likewise
31744 * fs/reiserfs.c (grub_reiserfs_dir): likewise
31745 * fs/sfs.c (grub_sfs_dir): likewise
31746 * fs/xfs.c (grub_xfs_dir): likewise
31747 * util/hostfs.c (grub_hostfs_dir): likewise
31748 * lib/datetime.c: moved to ...
31749 * normal/datetime.c: ... moved here
31750 (grub_unixtime2datetime): new function
31751 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 31752 * normal/completion.c (iterate_dir): use new dir syntax
31753 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 31754 last modification time of a volume
7dd4a573 31755 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 31756 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 31757 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 31758 (normal_mod_SOURCES): likewise
31759 (datetime_mod_SOURCES): Removed lib/datetime.c
31760 * conf/i386-efi.rmk: likewise
7dd4a573 31761 * conf/i386-ieee1275.rmk: likewise
05aaebfb 31762 * conf/i386-pc.rmk: likewise
31763 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 31764 * conf/sparc64-ieee1275.rmk: likewise
31765 * conf/x86_64-efi.rmk: likewise
05aaebfb 31766
8a7e1a14 317672009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
31768
31769 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 31770
31771 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 31772 on grub_fat_find_dir
31773 (grub_fat_find_dir): use grub_fat_iterate_dir
31774 (grub_fat_label): likewise
31775
04186a9c 317762009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
31777
7dd4a573 31778 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 31779 and command.h
31780 remove extraneous kernel_elf_HEADERS
31781
da4c0bb6 317822009-04-04 Bean <bean123ch@gnail.com>
31783
31784 * include/grub/util/misc.h: Add dummy function fsync for mingw.
31785
31786 * util/misc.c: Likewise.
31787
54ad9555 317882009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
31789
31790 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
31791 instead of grub_printf.
31792
7a6bf9f2 317932009-04-03 Robert Millan <rmh@aybabtu.com>
31794
31795 * loader/i386/linux.c (grub_linux_setup_video): Fill
31796 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
31797 values from `mode info' structure instead of hardcoded
31798 values.
31799
3fcc2083 318002009-04-01 Pavel Roskin <proski@gnu.org>
31801
31802 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
31803 unused now.
31804 * genmk.rb: Likewise.
31805 * configure.ac: Likewise.
31806
5ec9740b 318072009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
31808
31809 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
31810 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
31811
5270cec8 318122009-04-01 David S. Miller <davem@davemloft.net>
31813
31814 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 31815 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 31816 (grub_setjmp): Mark with 'returns_twice' attribute.
31817 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
31818 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
31819 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
31820
9c3dd854 318212009-04-01 Robert Millan <rmh@aybabtu.com>
31822
31823 Reapply fix from 2008-07-28 which was accidentally reverted; also
31824 perform the same fix to a similar check in same function.
31825
31826 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
31827 with the same number are found, just use issue a warning with
31828 grub_dprintf(), as this error has been reported to be non-fatal.
31829
0d818b7e 318302009-03-31 Pavel Roskin <proski@gnu.org>
31831
31832 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
31833 for cross-compilation.
31834
95646d92 318352009-03-30 Robert Millan <rmh@aybabtu.com>
31836
31837 Fix i386-ieee1275 build.
31838
31839 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
31840 Remove declaration.
31841
6a003ed1 318422009-03-30 Pavel Roskin <proski@gnu.org>
31843
31844 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
31845 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
31846 zero-terminated, rely only on the strlen value. Fix comparison
31847 of strings differing in length.
31848
92f33540 318492009-03-30 Robert Millan <rmh@aybabtu.com>
31850
31851 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
31852 checking for abi version. Improve error messages on BIOS to notify
31853 user about `linux16' command.
31854
a8c48fd5 318552009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
31856
f968172e 31857 Leak fixes
a8c48fd5 31858
f968172e 31859 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
31860 in case of collision
31861 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 31862
9c323f09 318632009-03-29 Robert Millan <rmh@aybabtu.com>
31864
31865 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
31866 set `vid_mode' accordingly.
31867 (grub_linux_boot): Process `vid_mode' and set video mode.
31868
ae68f423 318692009-03-29 Robert Millan <rmh@aybabtu.com>
31870
31871 * util/grub.d/10_linux.in (linux_entry): New function.
31872 Factorize generation of Linux boot entries.
31873
5709cfc4 318742009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
31875
31876 Make the format of Environment Block plain text. The boot loader
31877 part is not tested well yet.
7dd4a573 31878
5709cfc4 31879 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
31880 (buffer): Removed.
31881 (envblk): Likewise.
31882 (usage): Remove "info" and "clear". Add "unset". Update the
31883 description of "set", as this does not delete variables any
31884 longer.
31885 (create_envblk_file): Complete rewrite.
31886 (open_envblk_file): Likewise.
31887 (cmd_info): Removed.
31888 (cmd_list): Likewise.
31889 (cmd_set): Likewise.
31890 (cmd_clear): Likewise.
31891 (list_variables): New function.
31892 (write_envblk): Likewise.
31893 (set_variables): Likewise.
31894 (unset_variables): Likewise.
31895 (main): Complete rewrite.
31896
31897 * commands/loadenv.c (buffer): Removed.
31898 (envblk): Likewise.
31899 (open_envblk_file): New function.
31900 (read_envblk_file): Complete rewrite.
31901 (grub_cmd_load_env): Likewise.
31902 (grub_cmd_list_env): Likewise.
31903 (struct blocklist): New struct.
31904 (free_blocklists): New function.
31905 (check_blocklists): Likewise.
31906 (write_blocklists): Likewise.
31907 (grub_cmd_save_env): Complete rewrite.
31908
31909 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
31910 a plain text signature.
31911 (GRUB_ENVBLK_MAXLEN): Removed.
31912 (struct grub_envblk): Complete rewrite.
31913 (grub_envblk_find): Removed.
31914 (grub_envblk_insert): Likewise.
31915 (grub_envblk_open): New prototype.
31916 (grub_envblk_set): Likewise.
31917 (grub_envblk_delete): Put const to VALUE.
31918 (grub_envblk_iterate): Put const to NAME and VALUE.
31919 (grub_envblk_close): New prototype.
31920 (grub_envblk_buffer): New inline function.
31921 (grub_envblk_size): Likewise.
31922
31923 * lib/envblk.c: Include grub/mm.h.
31924 (grub_env_find): Removed.
31925 (grub_envblk_open): New function.
31926 (grub_envblk_close): Likewise.
31927 (escaped_value_len): Likewise.
31928 (find_next_line): Likewise.
31929 (grub_envblk_insert): Removed.
31930 (grub_envblk_set): New function.
31931 (grub_envblk_delete): Complete rewrite.
31932 (grub_envblk_iterate): Likewise.
31933
a9368fd3 319342009-03-28 Robert Millan <rmh@aybabtu.com>
31935
31936 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
31937 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
31938 variables. Use 16-bit loader.
31939 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
31940 loader.
31941 * kern/i386/loader.S (grub_linux_boot): Rename to ...
31942 (grub_linux16_boot): ... this. Update all users.
31943 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
31944 (grub_linux_boot): ... this. Update all users.
31945
31946 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
31947 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
31948 commands to `linux16' and `initrd16'.
31949 (GRUB_MOD_FINI(linux)): Rename to ...
31950 (GRUB_MOD_FINI(linux16)): ... this.
31951
e4dd5a7e 319522009-03-24 Pavel Roskin <proski@gnu.org>
31953
31954 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
31955 not just for compilation.
31956
c04d6e05 319572009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
31958
31959 Move multiboot helper out of kernel
31960
31961 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
31962 `loader/i386/multiboot_helper.S'.
31963 * conf/i386-coreboot.rmk: Likewise
31964 * conf/i386-ieee1275.rmk: Likewise
31965
31966 * kern/i386/loader.S: Move multiboot helpers from here...
31967 * loader/i386/multiboot_helper.S: ...moved here
31968 * include/grub/i386/loader.h: Move declarations of multiboot
31969 helpers from here...
31970 * include/grub/i386/multiboot.h: ...moved here
31971 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
31972
42a5b3fc 319732009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
31974
31975 * kern/env.c (grub_env_context_open): Added an argument to specify
31976 whether a new context inherits exported variables from current
31977 one. This is useful when making a sandbox to interpret a config
31978 file.
31979 All callers updated.
31980
31981 * include/grub/env.h (grub_env_context_open): Updated the prototype.
31982
b28bbc4e 319832009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
31984
31985 * kern/env.c (grub_env_context_close): Fix memory leaks.
31986
f04f02e4 319872009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
31988
31989 * normal/main.c (grub_normal_execute): Added an argument
31990 BATCH to specify if an interactive interface should be provided
31991 after reading a config file.
31992 All callers updated.
31993 (read_command_list): Prevent being executed twice.
31994 (read_fs_list): Likewise.
31995
42a5b3fc 31996 * include/grub/normal.h (grub_normal_execute): Updated the
31997 prototype.
f04f02e4 31998
41473ac2 319992009-03-22 Pavel Roskin <proski@gno.org>
32000
fbc00b0c 32001 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
32002 _start.
32003 * kern/i386/pc/startup.S: Likewise.
32004 * kern/i386/efi/startup.S: Likewise.
32005 * kern/i386/ieee1275/startup.S: Likewise.
32006 * kern/i386/coreboot/startup.S: Likewise.
32007 * kern/x86_64/efi/startup.S: Likewise.
32008
41473ac2 32009 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
32010 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
32011 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
32012
2274cc8f 320132009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
32014
32015 Bugfixes in multiboot for bugs uncovered by solaris kernel.
32016
32017 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
32018 limit detection.
32019 Use vaddr of correct segment for entry_point.
32020
b1b797cb 320212009-03-21 Bean <bean123ch@gmail.com>
32022
32023 * commands/blocklist.c: Add include file <grub/command.h>, remove
32024 <grub/normal.h> and <grub/arg.h>.
32025 (grub_cmd_blocklist): Use the new command interface.
32026 (GRUB_MOD_INIT): Likewise.
32027 (GRUB_MOD_FINI): Likewise.
32028 * commands/boot.c: Likewise.
32029 * commands/cat.c: Likewise.
32030 * commands/cmp.c: Likewise.
32031 * commands/configfile.c: Likewise.
32032 * commands/crc.c: Likewise.
32033 * commands/echo.c: Likewise.
32034 * commands/halt.c: Likewise.
32035 * commands/handler.c: Likewise.
32036 * commands/hdparm.c: Likewise.
32037 * commands/help.c: Likewise.
32038 * commands/hexdump.c: Likewise.
32039 * commands/loadenv.c: Likewise.
32040 * commands/ls.c: Likewise.
32041 * commands/lsmmap.c: Likewise.
32042 * commands/lspci.c: Likewise.
32043 * commands/loadenv.c: Likewise.
32044 * commands/read.c: Likewise.
32045 * commands/reboot.c: Likewise.
32046 * commands/search.c: Likewise.
32047 * commands/sleep.c: Likewise.
32048 * commands/test.c: Likewise.
32049 * commands/usbtest.c: Likewise.
32050 * commands/videotest.c: Likewise.
32051 * commands/i386/cpuid.c: Likewise.
32052 * commands/i386/pc/halt.c: Likewise.
32053 * commands/i386/pc/play.c: Likewise.
32054 * commands/i386/pc/pxecmd.c: Likewise.
32055 * commands/i386/pc/vbeinfo.c: Likewise.
32056 * commands/i386/pc/vbetest.c: Likewise.
32057 * commands/ieee1275/suspend.c: Likewise.
32058 * disk/loopback.c: Likewise.
32059 * font/font_cmd.c: Likewise.
32060 * hello/hello.c: Likewise.
32061 * loader/efi/appleloader.c: Likewise.
32062 * loader/efi/chainloader.c: Likewise.
32063 * loader/i386/bsd.c: Likewise.
32064 * loader/i386/efi/linux.c: Likewise.
32065 * loader/i386/ieee1275/linux.c: Likewise.
32066 * loader/i386/linux.c: Likewise.
32067 * loader/i386/pc/chainloader.c: Likewise.
32068 * loader/i386/pc/linux.c: Likewise.
32069 * loader/powerpc/ieee1275/linux.c: Likewise.
32070 * loader/multiboot_loader.c: Likewise.
32071 * term/gfxterm.c: Likewise.
32072 * term/i386/pc/serial.c: Likewise.
32073 * term/terminfo.c: Likewise.
32074
32075 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
32076 * term/i386/pc/vga.c: Likewise.
32077 * video/readers/jpeg.c: Likewise.
32078 * video/readers/png.c: Likewise.
32079 * video/readers/tga.c: Likewise.
32080
32081 * util/grub-fstest (cmd_loopback): Removed.
32082 (cmd_blocklist): Likewise.
32083 (cmd_ls): Likewise.
32084 (grub_register_command): Likewise.
32085 (grub_unregister_command): Likewise.
32086 (execute_command): Use grub_command_find to locate command and execute
32087 it.
32088
32089 * include/grub/efi/chainloader.h: Removed.
32090 * loader/efi/chainloader_normal.c: Likewise.
32091 * loader/i386/bsd_normal.c: Likewise.
32092 * loader/i386/pc/chainloader_normal.c: Likewise.
32093 * loader/i386/pc/multiboot_normal.c: Likewise.
32094 * loader/linux_normal.c: Likewise.
32095 * loader/multiboot_loader_normal.c: Likewise.
32096 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
32097
32098 * gencmdlist.sh: Scan new registration command grub_register_extcmd
32099 and grub_register_command_p1.
32100
32101 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
32102 kern/command.c, lib/arg.c and commands/extcmd.c.
32103 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
32104 (minicmd_mod_SOURCES): New variable.
32105 (minicmd_mod_CFLAGS): Likewise.
32106 (minicmd_mod_LDFLAGS): Likewise.
32107 (extcmd_mod_SOURCES): Likewise.
32108 (extcmd_mod_CFLAGS): Likewise.
32109 (extcmd_mod_LDFLAGS): Likewise.
32110 (boot_mod_SOURCES): Removed.
32111 (boot_mod_CFLAGS): Likewise.
32112 (boot_mod_LDFLAGS): Likewise.
32113
32114 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
32115 kern/corecmd.c.
32116 (kernel_img_HEADERS): Add command.h.
32117 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
32118 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
32119 and lib/arg.c.
32120 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
32121 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
32122 remove the corresponding normal mode command.
32123 (normal_mod_SOURCES): Remove normal/arg.c.
32124 * conf/i386-coreboot.rmk: Likewise.
32125 * conf/i386-efi.rmk: Likewise.
32126 * conf/i386-ieee1275.rmk: Likewise.
32127 * conf/powerpc-ieee1275.rmk: Likewise.
32128 * conf/x86_64-efi.rmk: Likewise.
32129
32130 * include/grub/arg.h: Move from here ...
32131 * include/grub/lib/arg.h: ... to here.
32132
32133 * normal/arg.c: Move from here ...
32134 * lib/arg.c: ... to here.
32135
32136 * commands/extcmd.c: New file.
32137 * commands/minicmd.c: Likewise.
32138 * include/grub/command.h: Likewise.
32139 * include/grub/extcmd.h: Likewise.
32140 * kern/command.c: Likewise.
32141 * kern/corecmd.c: Likewise.
32142
32143 * kern/list.c (grub_list_iterate): Return int instead of void.
32144 (grub_list_insert): New function.
32145 (grub_prio_list_insert): Likewise.
32146
32147 * kern/rescue.c (grub_rescue_command): Removed.
32148 (grub_rescue_command_list): Likewise.
32149 (grub_rescue_register_command): Likewise.
32150 (grub_rescue_unregister_command): Likewise.
32151 (grub_rescue_cmd_boot): Move to minicmd.c
32152 (grub_rescue_cmd_help): Likewise.
32153 (grub_rescue_cmd_info): Likewise.
32154 (grub_rescue_cmd_boot): Likewise.
32155 (grub_rescue_cmd_testload): Likewise.
32156 (grub_rescue_cmd_dump): Likewise.
32157 (grub_rescue_cmd_rmmod): Likewise.
32158 (grub_rescue_cmd_lsmod): Likewise.
32159 (grub_rescue_cmd_exit): Likewise.
32160 (grub_rescue_print_devices): Moved to corecmd.c.
32161 (grub_rescue_print_files): Likewise.
32162 (grub_rescue_cmd_ls): Likewise.
32163 (grub_rescue_cmd_insmod): Likewise.
32164 (grub_rescue_cmd_set): Likewise.
32165 (grub_rescue_cmd_unset): Likewise.
7d074e3c 32166 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 32167 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 32168 commands, remove grub_rescue_register_command calls.
b1b797cb 32169
7d074e3c 32170 * normal/command.c (grub_register_command): Removed.
b1b797cb 32171 (grub_unregister_command): Likewise.
32172 (grub_command_find): Likewise.
32173 (grub_iterate_commands): Likewise.
32174 (rescue_command): Likewise.
32175 (export_command): Moved to corecmd.c.
32176 (set_command): Removed.
32177 (unset_command): Likewise.
32178 (insmod_command): Likewise.
32179 (rmmod_command): Likewise.
32180 (lsmod_command): Likewise.
32181 (grub_command_init): Likewise.
32182
32183 * normal/completion.c (iterate_command): Use cmd->prio to check for
32184 active command.
32185 (complete_arguments): Use grub_extcmd_t structure to find options.
32186 (grub_normal_do_completion): Change function grub_iterate_commands to
32187 grub_command_iterate.
32188
32189 * normal/execute.c (grub_script_execute_cmd): No need to parse
32190 argument here.
32191
32192 * normal/main.c (grub_dyncmd_dispatcher): New function.
32193 (read_command_list): Register unload commands as dyncmd.
32194 (grub_cmd_normal): Use new command interface, register rescue,
32195 unregister normal at entry, register normal, unregister rescue at exit.
32196
32197 * include/grub/list.h (grub_list_test_t): New type.
32198 (grub_list_iterate): Return int instead of void.
32199 (grub_list_insert): New function.
32200 (GRUB_AS_NAMED_LIST_P): New macro.
32201 (GRUB_AS_PRIO_LIST): Likewise.
32202 (GRUB_AS_PRIO_LIST_P): Likewise.
32203 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
32204 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
32205 (grub_prio_list): New structure.
32206 (grub_prio_list_insert): New function.
32207 (grub_prio_list_remove): New inline function.
32208
32209 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
32210 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
32211 (GRUB_COMMAND_FLAG_MENU): Likewise.
32212 (GRUB_COMMAND_FLAG_BOTH): Likewise.
32213 (GRUB_COMMAND_FLAG_TITLE): Likewise.
32214 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
32215 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
32216 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
32217 (grub_command): Likewise.
32218 (grub_register_command): Likewise.
32219 (grub_command_find): Likewise.
32220 (grub_iterate_commands): Likewise.
32221 (grub_command_init): Likewise.
32222 (grub_arg_parse): Likewise.
32223 (grub_arg_show_help): Likewise.
32224
32225 * include/grub/rescue.h (grub_rescue_register_command): Removed.
32226 (grub_rescue_unregister_command): Likewise.
32227
32228 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
32229 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
32230 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
32231
32232 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
32233 grub_rescue_cmd_initrd.
32234 * include/grub/i386/loader.h: Likewise.
32235 * include/grub/x86_64/loader.h: Likewise.
32236
32237 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
32238
1f4147aa 322392009-03-21 Bean <bean123ch@gmail.com>
32240
32241 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
32242 instead of stat in mingw environment.
32243
32244 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
32245
32246 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
32247
32248 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
32249 AC_CONFIG_LINKS.
32250
2156d5ba 322512009-03-21 Bean <bean123ch@gmail.com>
32252
32253 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
32254 out of range error.
32255
177b82ca 322562009-03-18 Michel Dänzer <michel@daenzer.net>
32257
32258 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
32259 checking inode flags for EXT4_EXTENTS_FLAG.
32260
14aad807 322612009-03-18 Robert Millan <rmh@aybabtu.com>
32262
32263 * loader/i386/linux.c: Include `<grub/video.h>' and
32264 `<grub/i386/pc/vbe.h>'..
32265 (grub_linux_setup_video): New function. Loosely based on the EFI one.
32266 (grub_linux32_boot): Attempt to configure video settings with
32267 grub_linux_setup_video().
32268 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
32269 to avoid grub_console_fini() which would step out of graphical mode
32270 unconditionally.
32271
8cf83a27 322722009-03-14 Robert Millan <rmh@aybabtu.com>
32273
32274 Fix build on powerpc.
32275 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
32276
40164e75 322772009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
32278
32279 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
32280 background image command.
32281
c58bc32a 322822009-03-12 Colin D Bennett <colin@gibibit.com>
32283
32284 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
32285 (grub_gfxterm_putchar): Extract pairs of identical calls to
32286 draw_cursor out of conditional blocks.
32287
5415144a 322882009-03-11 Pavel Roskin <proski@gnu.org>
32289
32290 * fs/hfs.c (grub_hfs_strncasecmp): New function.
32291 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
32292
6394042e 322932009-03-11 Robert Millan <rmh@aybabtu.com>
32294
32295 * loader/i386/multiboot_elfxx.c
32296 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
32297
b7b50e5f 322982009-03-11 Felix Zielcke <fzielcke@z-51.de>
32299
32300 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
32301 `kern/handler.c'.
32302
1ca7fc96 323032009-03-11 Robert Millan <rmh@aybabtu.com>
32304
32305 * loader/i386/multiboot.c (code_size): New variable.
32306 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 32307 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 32308 4-byte alignment to MBI and others by increasing
7d074e3c 32309 `boot_loader_name_length' appropriately.
1ca7fc96 32310
32311 * loader/i386/multiboot_elfxx.c
32312 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
32313
a83ea1d2 323142009-03-09 Felix Zielcke <fzielcke@z-51.de>
32315
32316 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
32317 `fs/ext2.c'.
32318
aa9f3bff 323192009-03-08 Robert Millan <rmh@aybabtu.com>
32320
32321 Make loader/i386/linux.c usable on i386-pc again.
32322
32323 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
32324 memory to heap.
32325 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
32326 `#error' stanza.
32327
d8b3b60e 323282009-03-07 Bean <bean123ch@gmail.com>
32329
32330 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
32331 allocation.
32332
b362c9e9 323332009-03-06 Robert Millan <rmh@aybabtu.com>
32334
32335 Fix display issue on terminals with screen size other than 80x25
32336 (e.g. gfxterm with resolution higher than 640x480).
32337
32338 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 32339 position relative to the center of the terminal instead of relying
b362c9e9 32340 on a hardcoded offset.
32341
9304eef1 323422009-03-04 Robert Millan <rmh@aybabtu.com>
32343
32344 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
32345 installed.
32346
32347 * Makefile.in (host_kernel): New variable.
32348 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
32349 scripts instead of just the windows one.
32350 * configure.ac: Initialize and AC_SUBST `host_kernel'.
32351
eabc95fb 323522009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 32353
32354 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
32355 `kern/handler.c'.
32356 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32357 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32358 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32359 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32360 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32361 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32362
ceb1223c 323632009-03-04 Felix Zielcke <fzielcke@z-51.de>
32364
32365 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
32366 or if there's no space for the disk label and print the partition number on a
32367 invalid magic.
32368
4910684a 323692009-03-04 Felix Zielcke <fzielcke@z-51.de>
32370
32371 * util/misc.c: Include <time.h>.
32372 (grub_millisleep): New function.
32373
7e9ca17a 323742009-03-04 Bean <bean123ch@gmail.com>
32375
32376 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
32377 another option -mno-red-zone.
32378
32379 * commands/handler.c: Change module description.
32380
32381 * kern/handler.c: Add missing space at the end of description line.
32382
32383 * kern/list.c: Likewise.
32384
f501677c 323852009-03-03 Robert Millan <rmh@aybabtu.com>
32386
32387 Move more components to the relocation area, and fix mbi pointer
32388 handling to use the destination rather than the origin (thanks to
32389 Vladimir Serbinenko for spotting).
32390
32391 * loader/i386/multiboot.c (mbi_dest): New variable.
32392 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
32393 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
32394 relocation area.
32395
9902d047 323962009-03-01 Bean <bean123ch@gmail.com>
32397
50fb7002 32398 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 32399 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
32400 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
32401 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
32402
32403 * loader/i386/efi/linux.c (acpi_guid): New variable.
32404 (acpi_guid): Likewise.
32405 (EBDA_SEG_ADDR): New constant.
32406 (LOW_MEM_ADDR): Likewise.
32407 (FAKE_EBDA_SEG): Likewise.
32408 (fake_bios_data): New function.
32409 (grub_linux_boot): Call fake_bios_data.
32410
71b9f361 324112009-03-01 Bean <bean123ch@gmail.com>
32412
32413 * commands/terminal.c: Removed.
32414
32415 * commands/handler.c: New file.
32416
32417 * include/grub/list.h: Likewise.
32418
32419 * include/grub/handler.h: Likewise.
32420
32421 * kern/list.c: Likewise.
32422
32423 * kern/handler.c: Likewise.
32424
32425 * kern/term.h: Include header file <grub/handler.h>.
32426 (grub_term_input): Move next field to the beginning.
32427 (grub_term_output): Likewise.
32428 (grub_term_input_class): New variable.
32429 (grub_term_output_class): Likewise.
32430 (grub_term_register_input): Changed to inline function.
32431 (grub_term_register_output): Likewise.
32432 (grub_term_unregister_input): Likewise.
32433 (grub_term_unregister_output): Likewise.
32434 (grub_term_set_current_input): Likewise.
32435 (grub_term_set_current_output): Likewise.
32436 (grub_term_get_current_input): Likewise.
32437 (grub_term_get_current_output): Likewise.
32438 (grub_term_iterate_input): Removed.
32439 (grub_term_iterate_output): Likewise.
32440
32441 * kern/term.c (grub_term_list_input): Removed.
32442 (grub_term_list_output): Likewise.
32443 (grub_term_input_class): New variable.
32444 (grub_term_output_class): Likewise.
50fb7002 32445 (grub_cur_term_input): Change variable as macro.
71b9f361 32446 (grub_cur_term_output): Likewise.
32447 (grub_term_register_input): Removed.
32448 (grub_term_register_output): Likewise.
32449 (grub_term_unregister_input): Likewise.
32450 (grub_term_unregister_output): Likewise.
32451 (grub_term_set_current_input): Likewise.
32452 (grub_term_set_current_output): Likewise.
32453 (grub_term_iterate_input): Likewise.
32454 (grub_term_iterate_output): Likewise.
32455 (grub_term_get_current_input): Likewise.
32456 (grub_term_get_current_output): Likewise.
32457
32458 * util/grub-editenv.c: Include header file <grub/handler.h>.
32459 (grub_term_get_current_input): Removed.
32460 (grub_term_get_current_output): Likewise.
32461 (grub_term_input_class): New variable.
50fb7002 32462 (grub_term_output_class): Likewise.
71b9f361 32463
32464 * util/grub-fstest.c (grub_term_get_current_input): Removed.
32465 (grub_term_get_current_output): Likewise.
32466 (grub_term_input_class): New variable.
50fb7002 32467 (grub_term_output_class): Likewise.
71b9f361 32468
32469 * util/grub-probe.c (grub_term_get_current_input): Removed.
32470 (grub_term_get_current_output): Likewise.
32471 (grub_term_input_class): New variable.
50fb7002 32472 (grub_term_output_class): Likewise.
71b9f361 32473
32474 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
32475 (grub_term_get_current_output): Likewise.
32476 (grub_term_input_class): New variable.
50fb7002 32477 (grub_term_output_class): Likewise.
71b9f361 32478
32479 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
32480 (terminal_mod_SOURCES): Likewise.
32481 (terminal_mod_CFLAGS): Likewise.
32482 (terminal_mod_LDFLAGS): Likewise.
32483
32484 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
32485 handler.c.
32486 (kernel_img_SOURCES): Add list.c and handler.c.
32487 (kernel_img_HEADERS): Add list.h and handler.h.
32488
32489 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
32490 handler.c.
32491 (kernel_mod_SOURCES): Add list.c and handler.c.
32492 (kernel_mod_HEADERS): Add list.h and handler.h.
32493
32494 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
32495 handler.c.
32496 (kernel_elf_SOURCES): Add list.c and handler.c.
32497 (kernel_elf_HEADERS): Add list.h and handler.h.
32498
32499 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
32500 handler.c.
32501 (kernel_elf_SOURCES): Add list.c and handler.c.
32502 (kernel_elf_HEADERS): Add list.h and handler.h.
32503
32504 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
32505 handler.c.
32506 (kernel_mod_SOURCES): Add list.c and handler.c.
32507 (kernel_mod_HEADERS): Add list.h and handler.h.
32508
32509 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
32510 handler.c.
32511 (kernel_elf_SOURCES): Add list.c and handler.c.
32512 (kernel_elf_HEADERS): Add list.h and handler.h.
32513
8a31787f 325142009-02-27 Robert Millan <rmh@aybabtu.com>
32515
32516 Factorize elf32 / elf64 code in Multiboot loader. This will
32517 prevent it from getting out of sync again.
32518
32519 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
32520 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
32521 grub_multiboot_load_elf64): Move from here ...
32522 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
32523 grub_multiboot_load_elf): ... to here (new file).
32524
51cd3dfc 325252009-02-27 Robert Millan <rmh@aybabtu.com>
32526
32527 * util/grub.d/10_linux.in: Rename "single-user mode" to
32528 "recovery mode".
32529
6e8c9c3a 325302009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
32531
32532 Don't leak in SCSI code.
32533 * disk/scsi.c (grub_scsi_close): free `scsi'.
32534
4b6bf4f9 325352009-02-27 Robert Millan <rmh@aybabtu.com>
32536
32537 * loader/i386/pc/multiboot.c: Move from here ...
32538 * loader/i386/multiboot.c: ... to here. Update all users.
32539
b9413424 325402009-02-27 Robert Millan <rmh@aybabtu.com>
32541
32542 Patch from Alexandre Bique <bique.alexandre@gmail.com>
32543 * util/i386/pc/grub-setup.c (setup): Fix directory path.
32544
50fb7002 325452009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 32546
32547 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
32548 b-tree.
32549
8cc50345 325502009-02-27 Robert Millan <rmh@aybabtu.com>
32551
32552 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
32553 `0x' qualifier as 0 when base is specified as parameter).
32554
6e09b8b7 325552009-02-24 Bean <bean123ch@gmail.com>
32556
32557 * configure.ac: Check for -mcmodel=large in x86_64 target.
32558
32559 * include/grub/efi/api.h (efi_call_10): New macro.
32560 (efi_wrap_10): New function.
32561
32562 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
32563 (GRUB_PE32_REL_BASED_HIGH): Likewise.
32564 (GRUB_PE32_REL_BASED_LOW): Likewise.
32565 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
32566 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
32567 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
32568 (GRUB_PE32_REL_BASED_SECTION): Likewise.
32569 (GRUB_PE32_REL_BASED_REL): Likewise.
32570 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
32571 (GRUB_PE32_REL_BASED_DIR64): Likewise.
32572 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
32573
32574 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
32575 issue.
32576
32577 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
32578 (efi_wrap_10): New function.
32579
32580 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
32581
32582 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
32583 MB/MBP model (NV chipset).
32584 (devdata_devs): Add devpath_5 to the list.
32585
32586 * load/i386/efi/linux.c (video_base): Remove variable.
32587 (RGB_MASK): New macro.
32588 (RGB_MAGIC): Likewise.
32589 (LINE_MIN): Likewise.
32590 (LINE_MAX): Likewise.
32591 (FBTEST_STEP): Likewise.
32592 (FBTEST_COUNT): Likewise.
32593 (fb_list): New variable.
32594 (grub_find_video_card): Remove function.
32595 (find_framebuf): New function.
32596 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
32597 line length.
32598
32599 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
32600 problem for x86_64.
32601
74b21bee 326022009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
32603
32604 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
32605
32606 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
32607 coding tool name.
32608
a455f472 326092009-02-22 Robert Millan <rmh@aybabtu.com>
32610
32611 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
32612 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
32613 in our relocation, instead of using it directly from heap. Also
32614 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
32615
6374daf3 326162009-02-21 Robert Millan <rmh@aybabtu.com>
32617
32618 Implement USB keyboard support (based on patch by Marco Gerards)
32619
32620 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
32621 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
32622 (usb_keyboard_mod_LDFLAGS): New variables.
32623
32624 * term/usb_keyboard.c: New file.
32625
8fa4ea70 326262009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
32627
32628 Corrected wrong declaration
32629
32630 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
32631
353976ac 326322009-02-14 Christian Franke <franke@computer.org>
32633
32634 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
32635 (grub_lspci_iter): Print class code and programming interface byte.
32636
6aa1169b 326372009-02-14 Christian Franke <franke@computer.org>
32638
32639 * gendistlist.sh: Ignore `.svn' directories.
32640
265372ca 326412009-02-14 Felix Zielcke <fzielcke@z-51.de>
32642
32643 * fs/fat.c: Add 2009 to Copyright line.
32644
9ff516f3 326452009-02-14 Christian Franke <franke@computer.org>
32646
32647 * commands/hdparm.c: New file. Provides `hdparm' command
32648 which sends ATA commands via grub_disk_ata_pass_through ().
32649
32650 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
32651
32652 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
32653 and <grub/cpu/io.h> to include/grub/ata.h.
32654 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
32655 (GRUB_CDROM_SECTOR_SIZE): Remove.
32656 (GRUB_ATA_*): Move to include/grub/ata.h.
32657 (GRUB_ATAPI_*): Likewise.
32658 (enum grub_ata_commands): Likewise.
32659 (enum grub_ata_timeout_milliseconds): Likewise.
32660 (struct grub_ata_device): Likewise.
32661 (grub_ata_regset): Likewise.
32662 (grub_ata_regget): Likewise.
32663 (grub_ata_regset2): Likewise.
32664 (grub_ata_regget2): Likewise.
32665 (grub_ata_check_ready): Likewise.
32666 (grub_ata_wait_not_busy): Remove static, exported in
32667 include/grub/ata.h.
32668 (grub_ata_wait_drq): Likewise.
32669 (grub_ata_pio_read): Likewise.
32670
32671 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
32672 function for hdparm.mod.
32673
32674 * include/grub/ata.h: New file, contains declarations from
32675 disk/ata.c.
32676 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
32677
32678 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
32679 (grub_disk_ata_pass_through): New exported variable.
32680
32681 * kern/disk.c (grub_disk_ata_pass_through): New variable.
32682
772e23da 326832009-02-13 Colin D Bennett <colin@gibibit.com>
32684
32685 Support multiple fallback entries, and provide an API to support
32686 executing default+fallback menu entries. Renamed the `terminal' menu
32687 viewer to `text'.
32688
32689 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
32690 variable declaration.
32691 (grub_menu_execute_callback): New structure declaration.
32692 (grub_menu_execute_callback_t): New typedef.
32693 (grub_menu_execute_with_fallback): New function declaration.
32694 (grub_menu_get_entry): Likewise.
32695 (grub_menu_get_timeout): Likewise.
32696 (grub_menu_set_timeout): Likewise.
32697
32698 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
32699
32700 * normal/menu.c (grub_wait_after_message): Moved to
32701 `normal/menu_text.c'.
32702 (draw_border): Likewise.
32703 (print_message): Likewise.
32704 (print_entry): Likewise.
32705 (print_entries): Likewise.
32706 (grub_menu_init_page): Likewise.
32707 (get_entry_number): Likewise.
32708 (print_timeout): Likewise.
32709 (run_menu): Likewise.
32710 (grub_menu_execute_entry): Likewise.
32711 (show_text_menu): Likewise.
32712 (get_and_remove_first_entry_number): New function.
32713 (grub_menu_execute_with_fallback): Likewise.
32714 (get_entry): Renamed to ...
32715 (grub_menu_get_entry): .. this and made it global.
32716 (get_timeout): Renamed to ...
32717 (grub_menu_get_timeout): ... this and made it global.
32718 (set_timeout): Renamed to ...
32719 (grub_menu_set_timeout): ... this and made it global.
32720 (grub_normal_terminal_menu_viewer): Renamed to ...
32721 (grub_normal_text_menu_viewer): ... this.
32722
32723 * normal/menu_text.c: New file. Extracted text-menu-specific code
32724 from normal/menu.c.
32725
32726 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
32727 (normal_mod_SOURCES): Likewise.
32728
32729 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32730 (normal_mod_SOURCES): Likewise.
32731
32732 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32733 (normal_mod_SOURCES): Likewise.
32734
32735 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
32736 (normal_mod_SOURCES): Likewise.
32737
32738 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32739 (normal_mod_SOURCES): Likewise.
32740
32741 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32742 (normal_mod_SOURCES): Likewise.
32743
32744 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32745 (normal_mod_SOURCES): Likewise.
32746
16ac430e 327472009-02-11 Robert Millan <rmh@aybabtu.com>
32748
32749 * util/grub.d/00_header.in: Update old reference to `font' command.
32750
06ff20fc 327512009-02-10 Felix Zielcke <fzielcke@z-51.de>
32752
32753 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
32754
32755 Based on patch from Javier Martín.
32756
96da9407 327572009-02-09 Felix Zielcke <fzielcke@z-51.de>
32758
32759 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 32760 to avoid false positives with FAT.
96da9407 32761 (grub_fstest_SOURCES): Likewise.
32762 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32763 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32764 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32765 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32766 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32767 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32768
6dca6fe4 327692009-02-09 Felix Zielcke <fzielcke@z-51.de>
32770
06ff20fc 32771 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 32772 bpb.version_specific.fat12_or_fat16.fstype and
32773 bpb.version_specific.fat32.fstype.
32774
2550c62f 327752009-02-08 Robert Millan <rmh@aybabtu.com>
32776
be110b30 32777 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 32778
56978920 327792009-02-08 Robert Millan <rmh@aybabtu.com>
32780
32781 * Makefile.in (host_os, host_cpu): New variables.
32782 (target_os): Remove. Update all users.
32783
d64399b5 327842009-02-08 Marco Gerards <marco@gnu.org>
32785
32786 * Makefile.in (enable_grub_emu_usb): New variable.
32787 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
32788 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
32789 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
32790 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
32791 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
32792 `usbtest.mod' and `usbms.mod'.
32793 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
32794 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
32795 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
32796 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
32797 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
32798 variables.
32799
32800 * disk/usbms.c: New file.
32801
32802 * include/grub/usb.h: Likewise.
32803
32804 * include/grub/usbtrans.h: Likewise.
32805
32806 * include/grub/usbdesc.h: Likewise.
32807
32808 * bus/usb/usbtrans.c: Likewise.
32809
32810 * bus/usb/ohci.c: Likewise.
32811
32812 * bus/usb/uhci.c: Likewise.
32813
32814 * bus/usb/usbhub.c: Likewise.
32815
32816 * bus/usb/usb.c: Likewise.
32817
32818 * commands/usbtest.c: Likewise.
32819
32820 * util/usb.c: Likewise.
50fb7002 32821
d64399b5 32822 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
32823
32824 * configure.ac: Test for libusb presence.
50fb7002 32825
d64399b5 32826 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
32827
2b40d6bb 328282009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
32829
32830 * kern/mm.c: Add more comments.
32831
73a4ce81 328322009-02-08 Robert Millan <rmh@aybabtu.com>
32833
32834 Patch from Javier Martín.
32835 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
32836 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
32837
f821ce59 328382009-02-08 Robert Millan <rmh@aybabtu.com>
32839
32840 * fs/cpio.c: Split tar functionality to ...
32841 * fs/tar.c: ... here (new file). Update all users.
32842
aebfc4b0 328432009-02-07 Robert Millan <rmh@aybabtu.com>
32844
32845 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
32846 backward-incompatible features.
32847
32848 Based on patch from Javier Martín, with some adjustments.
32849
50fb7002 328502009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 32851
32852 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
32853
0bb5115e 328542009-02-07 Robert Millan <rmh@aybabtu.com>
32855
32856 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
32857 position of `disk/lvm.c' to ensure grub_init_all() always picks it
32858 after the RAID stuff.
32859
38a0f8e7 328602009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
32861
50fb7002 32862 Fixes problem when running vbetest command as reported by
38a0f8e7 32863 Vladimir Serbinenko <phcoder@gmail.com>.
32864
32865 * (grub_vbe_set_video_mode): Fixed problem with text modes.
32866
3143cc1c 328672009-02-04 Felix Zielcke <fzielcke@z-51.de>
32868
32869 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
32870 /dev/md/NpN style mdraid devices.
32871
9cba6fce 328722009-02-03 Felix Zielcke <fzielcke@z-51.de>
32873
32874 * util/unifont2pff.rb: Remove.
32875
e507a2c1 328762009-02-03 Felix Zielcke <fzielcke@z-51.de>
32877
32878 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
32879 `#'.
32880
d2c2b4cd 328812009-02-03 Felix Zielcke <fzielcke@z-51.de>
32882
32883 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
32884 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32885 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32886 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32887 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32888 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32889 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32890
b4315fb0 328912009-02-02 Christian Franke <franke@computer.org>
32892
32893 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
32894
de3aa260 328952009-02-01 Felix Zielcke <fzielcke@z-51.de>
32896
7c3ff286 32897 * INSTALL: Note that we now require at least autoconf 2.59 and
32898 that LZO is optional.
de3aa260 32899
825a182b 329002009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
32901
32902 Base on patch on bug #24154 created by Tomas Tintera
32903 <trosos@seznam.cz>.
32904
32905 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
32906
a69ef770 329072009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
32908
7c3ff286 32909 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 32910 <bero@arklinux.org>.
32911
32912 * normal/parser.y (script_init): Add missing semicolon.
32913
6fa42fa6 329142009-01-31 Colin D Bennett <colin@gibibit.com>
32915
7c3ff286 32916 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 32917 (free_menu_entry_classes): Added.
32918 (grub_normal_menu_addentry): Added class property handling.
32919 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
32920 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
32921
32922 * normal/menu_viewer.c: New file.
32923
32924 * normal/menu.c (run_menu_entry): Renamed to ...
32925 (grub_menu_execute_entry): ... this and made it as global.
32926 (grub_menu_run): Renamed to ...
32927 (show_text_menu): ... this and made it local.
32928 (show_text_menu): Adapt to new function names.
32929 (grub_normal_terminal_menu_viewer): New global variable.
32930
32931 * include/grub/menu.h: New file.
32932
32933 * include/grub/menu_viewer.h: New file.
32934
32935 * include/grub/normal.h: Added include to grub/menu.h.
32936 (grub_menu_entry): Moved to include/grub/menu.h.
32937 (grub_menu_entry_t): Likewise.
32938 (grub_menu): Likewise.
32939 (grub_menu_t): Likewise.
32940 (grub_normal_terminal_menu_viewer): Added.
32941 (grub_menu_execute_entry): Likewise.
32942 (grub_menu_run): Removed.
32943
32944 * DISTLIST: Added include/grub/menu.h.
32945 Added include/grub/menu_viewer.h.
32946 Added normal/menu_viewer.c.
32947
329482009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
32949
32950 * normal/execute.c (grub_script_execute_menuentry): Changed to use
32951 arglist for menutitle arguments.
32952
32953 * normal/main.c (grub_normal_menu_addentry): Likewise.
32954
32955 * normal/parser.y (menuentry): Likewise.
32956
32957 * normal/script.c (grub_script_create_cmdmenu): Likewise.
32958
32959 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
32960 (grub_script_create_cmdmenu): Likewise.
32961
32962 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
32963
32964 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
32965 changes.
32966
32967 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
32968
32969 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
32970
32971 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
32972
32973 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
32974
32975 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
32976
32977 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
32978
56192c23 329792009-01-30 Christian Franke <franke@computer.org>
32980
32981 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
32982 in option help text.
32983
d72521b3 329842009-01-27 Pavel Roskin <proski@gnu.org>
32985
32986 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
32987
994b5e84 329882009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
32989
32990 * commands/lsmmap.c: Add include to grub/machine/memory.h.
32991
32992 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
32993
32994 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
32995 unregister function.
32996
6a7eab2c 329972009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
32998
32999 * disk/scsi.c (grub_scsi_read): Fix sign problem.
33000
33001 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
33002
33003 * util/grub-mkfont.c (usage): Fix typo.
33004
33005 * util/elf/grub-mkimage.c (load_modules): Fix warning.
33006
1806b56e 330072009-01-26 Daniel Mierswa <impulze@impulze.org>
33008
3fb18f09 33009 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
33010
336e1fb9 33011 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
33012
1806b56e 33013 * kern/misc.c (grub_strcasecmp): New function.
33014 (grub_strcasecmp): Use grub_size_t instead of int for length.
33015 Fix return value.
33016 * include/grub/misc.h: Update function prototypes.
33017
580b2a0f 330182009-01-26 Robert Millan <rmh@aybabtu.com>
33019
33020 * configure.ac: Fix cross-compilation check.
ef257b36 33021
d31c24f1 330222009-01-22 Christian Franke <franke@computer.org>
33023
33024 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
33025 (precision) digit string. Allow `.format2' without `format1' (width).
33026 Limit input chars for `%s' output to `format2' if specified. This is
33027 compatible with standard printf ().
33028
3138b44c 330292009-01-22 Christian Franke <franke@computer.org>
33030
33031 * disk/ata.c (grub_ata_wait_status): Replace by ...
33032 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
33033 other status bits may be invalid while BSY is asserted.
33034 (grub_ata_check_ready): New function.
33035 (grub_ata_cmd): Removed.
33036 (grub_ata_wait_drq): New function.
33037 (grub_ata_strncpy): Remove inline.
33038 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
33039 and error check now done by grub_ata_wait_drq ().
33040 (grub_ata_pio_write): Likewise.
33041 (grub_atapi_identify): Set DEV before check for !BSY. Use
33042 grub_ata_wait_drq () to wait for data.
33043 (grub_ata_device_initialize): Add status register check to
33044 detect missing SATA slave devices. Add debug messages.
33045 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
33046 (grub_atapi_packet): Set DEV before check for !BSY. Replace
33047 transfer loop by grub_ata_pio_write ().
33048 (grub_ata_identify): Set DEV before check for !BSY. Use
33049 grub_ata_wait_drq () to wait for data.
ef257b36 33050 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 33051 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
33052 read/write in one loop. Fix invalid command on write. Fix incomplete
33053 command on (size % batch) == 0. Add missing error check after write of
33054 last block. Add debug messages.
33055 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
33056
59a64ef6 330572009-01-19 Christian Franke <franke@computer.org>
33058
33059 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
33060 (GRUB_ATAPI_IREASON_*): Likewise.
33061 (grub_ata_pio_write): Fix timeout error return.
33062 (grub_atapi_identify): Add grub_ata_wait () after cmd.
33063 (grub_atapi_wait_drq): New function.
33064 (grub_atapi_packet): New parameter `size'.
33065 Use grub_atapi_wait_drq () and direct write instead of
33066 grub_ata_pio_write ().
33067 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
33068 reads the number of bytes requested by the device for each DRQ
33069 assertion.
33070 (grub_atapi_write): Remove old implementation, return not
33071 implemented instead.
33072
1cfe20b3 330732009-01-19 Christian Franke <franke@computer.org>
33074
33075 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
33076 of 512 to calculate data size.
33077 (grub_scsi_read12): Likewise.
33078 (grub_scsi_write10): Likewise.
33079 (grub_scsi_write12): Likewise.
33080 (grub_scsi_read): Adjust size according to blocksize.
33081 Add checks for invalid blocksize and unaligned transfer.
33082
bee5fe5d 330832009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
33084
33085 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
33086
ef257b36 33087 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 33088 width glyphs.
33089
3e643f8c 330902009-01-19 Robert Millan <rmh@aybabtu.com>
33091
33092 * config.guess: Update to latest version from config git.
33093 * config.sub: Likewise.
33094
4fa80998 330952009-01-17 Felix Zielcke <fzielcke@z-51.de>
33096
33097 * Makefile.in: Change font compilation to use new grub-mkfont instead
33098 of java version.
33099
33100 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
33101 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
33102 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
33103 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
33104 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
33105 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
33106 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
33107 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
33108 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
33109
7086085b 331102009-01-16 Christian Franke <franke@computer.org>
33111
33112 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
33113 (enum grub_ata_timeout_milliseconds): New enum.
33114 (grub_ata_wait_status): Add parameter milliseconds.
33115 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
33116 recovery from timed-out commands.
33117 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
33118 return grub_errno instead of REG_ERROR.
33119 (grub_ata_pio_write): Add parameter milliseconds.
33120 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
33121 Pass milliseconds to grub_ata_wait_status () and
33122 grub_ata_pio_read ().
33123 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
33124 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
33125 grub_ata_wait_status (). Fix IDENTIFY timeout check.
33126 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
33127 It is not suitable for device detection, because DEV bit is ignored,
33128 the command may run too long, and not all devices set the signature
33129 properly.
33130 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
33131 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
33132 Fix device selection, DEV bit must be set first to address the registers
33133 of the correct device.
33134 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
33135 grub_ata_pio_read/write ().
33136 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
33137 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
33138
4a412913 331392009-01-13 Carles Pina i Estany <carles@pina.cat>
33140
33141 * util/grub-editenv.c (main): Use fseeko(), not fseek().
33142
7795c55e 331432009-01-13 Bean <bean123ch@gmail.com>
d913988c 33144
33145 * util/grub-mkfont.c (write_font): forget to remove some debug code.
33146
7795c55e 331472009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 33148
33149 * Makefile.in: (enable_grub_mkfont): New variable.
33150 (freetype_cflags): Likewise.
33151 (freetype_libs): Likewise.
33152
33153 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
33154 (grub_mkfont_SOURCES): New variable.
33155 (grub_mkfont_CFLAGS): Likewise.
33156 (grub_mkfont_LDFLAGS): Likewise.
33157
33158 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
33159 library if `--enable-grub-mkfont' is requested.
33160 (enable_grub_mkfont): New variable.
33161 (freetype_cflags): Likewise.
33162 (freetype_libs): Likewise.
33163
33164 * util/grub-mkfont.c: New file.
33165
093af1fe 331662009-01-12 Christian Franke <franke@computer.org>
33167
33168 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
33169 mode check. Fix setting of compat_use[].
33170
f36cc108 331712009-01-10 Robert Millan <rmh@aybabtu.com>
33172
33173 Update a few copyright years which we forgot to do in 2008 (only for
33174 files whose changes made in 2008 were copyright-significant)
33175
33176 * Makefile.in: Add 2008 to Copyright line.
33177 * disk/ieee1275/ofdisk.c: Likewise.
33178 * disk/efi/efidisk.c: Likewise.
33179 * kern/dl.c: Likewise.
33180 * kern/sparc64/ieee1275/init.c: Likewise.
33181 * kern/mm.c: Likewise.
33182 * kern/efi/mm.c: Likewise.
33183 * boot/i386/pc/boot.S: Likewise.
33184 * genfslist.sh: Likewise.
33185 * fs/iso9660.c: Likewise.
33186 * fs/hfs.c: Likewise.
33187 * fs/jfs.c: Likewise.
33188 * fs/minix.c: Likewise.
33189 * fs/ufs.c: Likewise.
33190 * gensymlist.sh.in: Likewise.
33191 * genkernsyms.sh.in: Likewise.
33192 * include/grub/misc.h: Likewise.
33193 * include/grub/types.h: Likewise.
33194 * include/grub/symbol.h: Likewise.
33195 * include/grub/elf.h: Likewise.
33196 * include/grub/kernel.h: Likewise.
33197 * include/grub/disk.h: Likewise.
33198 * include/grub/dl.h: Likewise.
33199 * include/grub/i386/linux.h: Likewise.
33200 * include/grub/i386/pc/biosdisk.h: Likewise.
33201 * include/grub/efi/api.h: Likewise.
33202 * include/grub/efi/pe32.h: Likewise.
33203 * include/grub/util/misc.h: Likewise.
33204 * normal/execute.c: Likewise.
33205 * normal/arg.c: Likewise.
33206 * normal/completion.c: Likewise.
33207 * normal/lexer.c: Likewise.
33208 * normal/parser.y: Likewise.
33209 * normal/misc.c: Likewise.
33210 * commands/i386/pc/vbeinfo.c: Likewise.
33211 * commands/hexdump.c: Likewise.
33212 * commands/terminal.c: Likewise.
33213 * commands/ls.c: Likewise.
33214 * commands/help.c: Likewise.
33215 * partmap/pc.c: Likewise.
33216 * loader/efi/chainloader.c: Likewise.
33217 * loader/multiboot_loader.c: Likewise.
33218 * loader/i386/pc/multiboot2.c: Likewise.
33219 * term/efi/console.c: Likewise.
33220 * term/i386/pc/serial.c: Likewise.
33221 * util/lvm.c: Likewise.
33222 * util/console.c: Likewise.
33223 * util/i386/efi/grub-mkimage.c: Likewise.
33224 * util/raid.c: Likewise.
33225
7f02114b 332262009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
33227
33228 * commands/videotest.c: Removed include to grub/machine/memory.h.
33229
33230 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
33231 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
33232 (video_mod_SOURCES): Removed.
33233 (video_mod_CFLAGS): Likewise.
33234 (video_mod_LDFLAGS): Likewise.
33235 (gfxterm_mod_SOURCES): Likewise.
33236 (gfxterm_mod_CFLAGS): Likewise.
33237 (gfxterm_mod_LDFLAGS): Likewise.
33238 (videotest_mod_SOURCES): Likewise.
33239 (videotest_mod_CFLAGS): Likewise.
33240 (videotest_mod_LDFLAGS): Likewise.
33241 (bitmap_mod_SOURCES): Likewise.
33242 (bitmap_mod_CFLAGS): Likewise.
33243 (bitmap_mod_LDFLAGS): Likewise.
33244 (tga_mod_SOURCES): Likewise.
33245 (tga_mod_CFLAGS): Likewise.
33246 (tga_mod_LDFLAGS): Likewise.
33247 (jpeg_mod_SOURCES): Likewise.
33248 (jpeg_mod_CFLAGS): Likewise.
33249 (jpeg_mod_LDFLAGS): Likewise.
33250 (png_mod_SOURCES): Likewise.
33251 (png_mod_CFLAGS): Likewise.
33252 (png_mod_LDFLAGS): Likewise.
33253
33254 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
33255 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
33256 (video_mod_SOURCES): Added.
33257 (video_mod_CFLAGS): Likewise.
33258 (video_mod_LDFLAGS): Likewise.
33259 (videotest_mod_SOURCES): Likewise.
33260 (videotest_mod_CFLAGS): Likewise.
33261 (videotest_mod_LDFLAGS): Likewise.
33262 (bitmap_mod_SOURCES): Likewise.
33263 (bitmap_mod_CFLAGS): Likewise.
33264 (bitmap_mod_LDFLAGS): Likewise.
33265 (tga_mod_SOURCES): Likewise.
33266 (tga_mod_CFLAGS): Likewise.
33267 (tga_mod_LDFLAGS): Likewise.
33268 (jpeg_mod_SOURCES): Likewise.
33269 (jpeg_mod_CFLAGS): Likewise.
33270 (jpeg_mod_LDFLAGS): Likewise.
33271 (png_mod_SOURCES): Likewise.
33272 (png_mod_CFLAGS): Likewise.
33273 (png_mod_LDFLAGS): Likewise.
33274 (gfxterm_mod_SOURCES): Likewise.
33275 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 33276 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 33277
33278 * term/gfxterm.c: Removed include to grub/machine/memory.h,
33279 grub/machine/console.h.
33280
644fff97 332812009-01-04 Jerone Young <jerone@gmail.com>
33282
33283 Make on screen instructions clearer
33284
33285 Based on patch created by Jidanni <jidanni@jidanni.org>
33286
33287 * normal/menu.c: print clearer instructions on the screen
33288
1e901a75 332892009-01-02 Colin D Bennett <colin@gibibit.com>
33290
33291 New font engine.
34c44600 33292
1e901a75 33293 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
33294 build system and fixed gfxterm.c to work with different sized fonts.
33295
33296 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 33297
1e901a75 33298 * configure: Re-generated.
34c44600 33299
1e901a75 33300 * DISTLIST: Removed font/manager.c.
33301 Added font/font.c.
33302 Added font/font_cmd.c.
34c44600 33303
1e901a75 33304 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
33305 compilation.
34c44600 33306
1e901a75 33307 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 33308
33309 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 33310
33311 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 33312
1e901a75 33313 * normal/menu.c: Likewise.
34c44600 33314
1e901a75 33315 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
33316 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 33317
1e901a75 33318 * include/grub/font.h: Replaced with new file.
34c44600 33319
1e901a75 33320 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
33321 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
33322 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
33323 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
33324 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 33325 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 33326 fg_red, fg_green, fg_blue, fg_alpha.
33327 (grub_video_adapter): Removed blit_glyph.
34c44600 33328 (grub_video_blit_glyph): Removed.
33329
1e901a75 33330 * font/manager.c: Removed file.
34c44600 33331
33332 * font/font.c: New file.
33333
1e901a75 33334 * font/font_cmd.c: Likewise.
34c44600 33335
1e901a75 33336 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 33337
1e901a75 33338 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
33339 (grub_video_vbe_map_rgba): Likewise.
33340 (grub_video_vbe_unmap_color_int): Likewise.
33341 (grub_video_vbe_blit_glyph): Removed.
33342 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 33343
1e901a75 33344 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
33345 (get_pixel): Likewise.
34c44600 33346 (set_pixel): Likewise.
33347
1e901a75 33348 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 33349
1e901a75 33350 * term/gfxterm.c: Adapted to new font engine.
34c44600 33351
1e901a75 33352 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 33353
1e901a75 33354 * term/i386/pc/vga.c: Likewise.
34c44600 33355
1e901a75 33356 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 33357
1e901a75 33358 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 33359
1e901a75 33360 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 33361
1e901a75 33362 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 33363
1e901a75 33364 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 33365
1e901a75 33366 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 33367
1e901a75 33368 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 33369
1e901a75 33370 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 33371
1e901a75 33372 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
33373
33374 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 33375
1e901a75 33376 * util/grub-mkconfig_lib.in: Changed font extension.
33377
278922e8 333782008-12-28 Felix Zielcke <fzielcke@z-51.de>
33379
33380 * util/getroot.c (grub_util_get_grub_dev): Add support for
33381 /dev/md/dNNpNN style partitionable mdraid devices.
33382
3ced05cf 333832008-12-12 Alex Smith <alex@alex-smith.me.uk>
33384
33385 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
33386 at a time limit of the PXE TFTP API correctly.
33387 (grub_pxefs_close): Likewise.
33388
7fd0ee30 333892008-11-29 Robert Millan <rmh@aybabtu.com>
33390
34c44600 33391 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 33392 grub_ata_device_initialize() calls.
33393
34c44600 333942008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 33395
33396 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
33397 iteration failed.
33398 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
33399
89313780 334002008-11-28 Robert Millan <rmh@aybabtu.com>
33401
33402 Fix build on powerpc-ieee1275. Based on patch created by
33403 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
33404 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
33405 `kern/ieee1275/mmap.c'.
33406 * include/grub/powerpc/ieee1275/memory.h: New file.
33407
15257703 33408 Provide grub-install on coreboot.
33409 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
33410 (grub_install_SOURCES): New variable.
33411 * util/i386/pc/grub-install.in: Add a few condition checks to make it
33412 usable on coreboot.
33413
9fc5388a 334142008-11-25 Felix Zielcke <fzielcke@z-51.de>
33415
33416 * util/grub-fstest.c (grub_term_get_current_input): Change return type
33417 to `grub_term_input_t'.
33418 (grub_term_get_current_output): Change return type to
33419 `grub_term_output_t'.
33420
bc3a2f31 334212008-11-22 Robert Millan <rmh@aybabtu.com>
33422
34c44600 33423 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 33424 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
33425 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
33426 grub_vga_text_cls().
33427
80fc88f2 33428 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 33429 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 33430
cbf36fd3 33431 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
33432 to 0x200000 (avoids trouble with some OFW implementations, and matches
33433 with the one in Yaboot).
33434 Reported by Manoel Abranches
33435
73e8e268 334362008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 33437
33438 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
33439 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
33440
73e8e268 33441 * util/grub-mkconfig_lib.in (grub_warn): New function.
33442 (convert_system_path_to_grub_path): Use grub_warn() when issuing
33443 warnings, to obtain consistent formatting.
33444 * util/grub.d/00_header.in: Likewise.
33445 * util/update-grub_lib.in: Likewise.
33446
e94045a1 33447 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 33448 Move comment text to `#error' stanza.
e94045a1 33449
79d29fd7 33450 Harmonize ieee1275's grub_available_iterate() with the generic
33451 grub_machine_mmap_iterate() interface (fixes a recently-introduced
33452 build problem on i386-ieee1275):
33453 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
33454 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
33455 parameter `type'. Update all users of this function.
33456 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
33457 `kern/ieee1275/mmap.c'.
33458 * kern/ieee1275/init.c
33459 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
33460 with ...
33461 (grub_machine_mmap_iterate): ... this.
33462 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
33463 return type to `grub_err_t'. Update all implementations of this
33464 function prototype.
33465 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
33466 Likewise.
33467
60d6b16e 33468 Add `lsmmap' command (lists firmware-provided memory map):
33469 * commands/lsmmap.c: New file.
33470 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
33471 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
33472 variables.
33473 * conf/powerpc-ieee1275.rmk: Likewise.
33474 * conf/i386-coreboot.rmk: Likewise.
33475 * conf/i386-ieee1275.rmk: Likewise.
33476
ebaaf49b 334772008-11-19 Robert Millan <rmh@aybabtu.com>
33478
33479 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 33480 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
33481 constraints to initrd allocation (based on code from
33482 loader/i386/pc/linux.c). Without them, initrd was allocated too high
33483 for Linux to find it.
ebaaf49b 33484
dfab719f 334852008-11-14 Robert Millan <rmh@aybabtu.com>
33486
33487 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
33488 order to cope with duplicate slashes.
33489
10fc3eb9 334902008-11-14 Robert Millan <rmh@aybabtu.com>
33491
33492 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
33493 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
33494 don't want to mess with lower memory, because it is used in the Linux
33495 loader.
33496
33497 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 33498 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 33499 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
33500 is in our heap (probably as a result of it being corrupted during
2f2a3442 33501 decompression). Add #error instance with comment to explain why this
33502 loader isn't currently usable on PC/BIOS.
10fc3eb9 33503
e2e07847 335042008-11-14 Robert Millan <rmh@aybabtu.com>
33505
33506 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 33507 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 33508
fe8e8d69 335092008-11-12 Robert Millan <rmh@aybabtu.com>
33510
33511 Make loader/i386/linux.c buildable on i386-pc (although disabled).
33512
33513 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
33514 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
33515 from here ...
33516 * include/grub/i386/pc/memory.h: ... to here.
33517
976b07d0 335182008-11-12 Robert Millan <rmh@aybabtu.com>
33519
33520 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
33521 split).
33522
33523 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
33524 (grub_console_cur_color, grub_console_real_putchar)
33525 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
33526 (grub_console_setcolorstate, grub_console_setcolor)
33527 (grub_console_getcolor): Move from here ...
33528 * include/grub/i386/vga_common.h: ... to here (new file).
33529
33530 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
33531 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
33532 `<grub/i386/io.h>'.
33533 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
33534 `<grub/i386/vga_common.h>'.
33535
76679cd3 335362008-11-12 Robert Millan <rmh@aybabtu.com>
33537
33538 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
33539 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
33540 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
33541 variables.
33542 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
33543 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
33544
33545 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
33546 grub_console_init() with call to grub_vga_text_init().
33547 (grub_machine_fini): Replace call to
33548 grub_console_fini() with call to grub_vga_text_fini() and
33549 grub_at_keyboard_fini().
33550
33551 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
33552 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
33553 (grub_console_setcolorstate, grub_console_setcolor)
33554 (grub_console_getcolor): New function prototypes.
33555
33556 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
33557 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
33558 (grub_vga_text_setcursor): Static-ize.
33559 (grub_vga_text_term): New structure.
33560 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
33561
33562 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
33563 (grub_console_cur_color, grub_console_standard_color)
33564 (grub_console_normal_color, grub_console_highlight_color)
33565 (map_char, grub_console_putchar, grub_console_getcharwidth)
33566 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
33567 (grub_console_getcolor): Move from here ...
33568 * term/i386/vga_common.c: ... to here (same function names).
33569
95b841d3 335702008-11-12 Robert Millan <rmh@aybabtu.com>
33571
33572 Use newly-added Multiboot support in coreboot.
33573
33574 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
33575 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
33576
33577 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
33578 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
33579 (codestart): Store the MBI in `startup_multiboot_info' when we're
33580 being loaded using Multiboot.
33581
33582 * kern/i386/coreboot/init.c (grub_machine_init): Move
33583 grub_at_keyboard_init() call to beginning of function (useful for
33584 debugging). Call grub_machine_mmap_init() before attempting to use
33585 grub_machine_mmap_iterate().
33586 (grub_lower_mem, grub_upper_mem): Move from here ...
33587 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
33588 here (new file).
33589
33590 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
33591 function prototype.
33592
761ca975 335932008-11-12 Robert Millan <rmh@aybabtu.com>
33594
33595 Fix a regression introduced by the at_keyboard.mod split. Because
33596 some terminals are default on some platforms and non-default on
33597 others, the first terminal being registered determines which is
33598 going to be default.
33599
33600 * kern/term.c (grub_term_register_input): If this is the first
33601 terminal being registered, set it as the current one.
33602 (grub_term_register_output): Likewise.
33603
33604 * term/efi/console.c (grub_console_init): Do not call
33605 grub_term_set_current_output() or grub_term_set_current_input().
33606 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
33607 * term/i386/pc/console.c (grub_console_init): Likewise.
33608 (grub_console_fini): Do not call grub_term_set_current_input()
33609 (but leave grub_term_set_current_output() to restore text mode).
33610
6c529df7 336112008-11-10 Robert Millan <rmh@aybabtu.com>
33612
33613 * util/grub.d/00_header.in: Add backward compatibility check for
33614 versions of terminal.mod that don't understand `terminal_input' or
33615 `terminal_output'.
33616
132e4113 336172008-11-09 Robert Millan <rmh@aybabtu.com>
33618
33619 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
33620 `terminal_input' / `terminal_output', not `terminal'.
33621
ac293d50 336222008-11-08 Robert Millan <rmh@aybabtu.com>
33623
33624 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 33625 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 33626
0025933a 336272008-11-08 Robert Millan <rmh@aybabtu.com>
33628
33629 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 33630 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 33631 members. Update all users.
33632 * util/console.c (grub_ncurses_term): Split in ...
33633 (grub_ncurses_term_input): ... this, and ...
33634 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 33635 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 33636
37c86336 336372008-11-08 Robert Millan <rmh@aybabtu.com>
33638
33639 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
33640 (PKGDATA): Add $(pkgdata_SRCDIR).
33641 (pkglib_BUILDDIR): New variable.
33642 (pkgdata_SRCDIR): New variable.
33643 (build_env.mk): New target.
33644 (include_DATA): New variable.
33645 (install-local): Install $(include_DATA) files in $(includedir).
33646
b6c15a2d 336472008-11-07 Pavel Roskin <proski@gnu.org>
33648
d99d46f1 33649 * gendistlist.sh: Use C locale for sorting to ensure consistent
33650 output on all systems.
33651
b6c15a2d 33652 * util/grub.d/00_header.in: Remove incorrect space before
33653 "serial".
33654
c32ee8c9 336552008-11-07 Robert Millan <rmh@aybabtu.com>
33656
33657 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
33658 per specification.
33659 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
33660 * loader/multiboot_loader.c (find_multi_boot2_header): New function
33661 (based on find_multi_boot1_header).
33662 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
33663 using find_multi_boot2_header(), and abort if neither Multiboot or
33664 Multiboot headers were found.
33665
651c29b7 336662008-11-07 Robert Millan <rmh@aybabtu.com>
33667
33668 Modularize at_keyboard.mod:
33669
33670 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
33671 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
33672 (at_keyboard_mod_LDFLAGS): New variables.
33673
33674 Actual terminal split:
33675
33676 * include/grub/term.h (struct grub_term): Split in ...
33677 (struct grub_term_input): ... this, and ...
33678 (struct grub_term_output): ... this. Update all users.
33679 (grub_term_set_current): Split in ...
33680 (grub_term_set_current_input): ... this, and ...
33681 (grub_term_set_current_output): ... this.
33682 (grub_term_get_current): Split in ...
33683 (grub_term_get_current_input): ... this, and ...
33684 (grub_term_get_current_output): ... this.
33685 (grub_term_register): Split in ...
33686 (grub_term_register_input): ... this, and ...
33687 (grub_term_register_output): ... this.
33688 (grub_term_unregister): Split in ...
33689 (grub_term_unregister_input): ... this, and ...
33690 (grub_term_unregister_output): ... this.
33691 (grub_term_iterate): Split in ...
33692 (grub_term_iterate_input): ... this, and ...
33693 (grub_term_iterate_output): ... this.
33694
33695 * kern/term.c (grub_term_list): Split in ...
33696 (grub_term_list_input): ... this, and ...
33697 (grub_term_list_output): ... this. Update all users.
33698 (grub_cur_term): Split in ...
33699 (grub_cur_term_input): ... this, and ...
33700 (grub_cur_term_output): ... this. Update all users.
33701 (grub_term_set_current): Split in ...
33702 (grub_term_set_current_input): ... this, and ...
33703 (grub_term_set_current_output): ... this.
33704 (grub_term_get_current): Split in ...
33705 (grub_term_get_current_input): ... this, and ...
33706 (grub_term_get_current_output): ... this.
33707 (grub_term_register): Split in ...
33708 (grub_term_register_input): ... this, and ...
33709 (grub_term_register_output): ... this.
33710 (grub_term_unregister): Split in ...
33711 (grub_term_unregister_input): ... this, and ...
33712 (grub_term_unregister_output): ... this.
33713 (grub_term_iterate): Split in ...
33714 (grub_term_iterate_input): ... this, and ...
33715 (grub_term_iterate_output): ... this.
33716
33717 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
33718 a check for input and one for output (and only attempt to get keys
33719 from user when input works).
33720
33721 * util/grub-probe.c (grub_term_get_current): Split in ...
33722 (grub_term_get_current_input): ... this, and ...
33723 (grub_term_get_current_output): ... this.
33724 * util/grub-fstest.c: Likewise.
33725 * util/i386/pc/grub-setup.c: Likewise.
33726 * util/grub-editenv.c: Likewise.
33727
33728 Portability adjustments:
33729
33730 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
33731 `term/i386/pc/at_keyboard.c'.
33732 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
33733 grub_keyboard_controller_init() (now handled by terminal .init).
33734 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
33735 grub_at_keyboard_init().
33736 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
33737 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
33738 at_keyboard.mod via input terminal interface).
33739 * include/grub/i386/coreboot/console.h: Convert into a stub for
33740 `<grub/i386/pc/console.h>'.
33741
33742 Migrate full terminals to new API:
33743
33744 * term/efi/console.c (grub_console_term): Split into ...
33745 (grub_console_term_input): ... this, and ...
33746 (grub_console_term_output): ... this. Update all users.
33747 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
33748 (grub_ofconsole_init): Split into ...
33749 (grub_ofconsole_init_input): ... this, and ...
33750 (grub_ofconsole_init_output): ... this.
33751 (grub_ofconsole_term): Split into ...
33752 (grub_ofconsole_term_input): ... this, and ...
33753 (grub_ofconsole_term_output): ... this. Update all users.
33754 * term/i386/pc/serial.c (grub_serial_term): Split into ...
33755 (grub_serial_term_input): ... this, and ...
33756 (grub_serial_term_output): ... this. Update all users.
33757 * term/i386/pc/console.c (grub_console_term): Split into ...
33758 (grub_console_term_input): ... this, and ...
33759 (grub_console_term_output): ... this. Update all users.
33760 (grub_console_term_input): Only enable it on PC/BIOS platform.
33761 (grub_console_init): Remove grub_keyboard_controller_init() call.
33762
33763 Migrate input terminals to new API:
33764
33765 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
33766 `i386' and `i386/pc' to enable build on x86_64 (this driver is
33767 i386-specific anyway).
33768 (grub_console_checkkey): Rename to ...
33769 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
33770 users.
33771 (grub_keyboard_controller_orig): New variable.
33772 (grub_console_getkey): Rename to ...
33773 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
33774 users.
33775 (grub_keyboard_controller_init): Static-ize. Save original
33776 controller value so that it can be restored ...
33777 (grub_keyboard_controller_fini): ... here (new function).
33778 (grub_at_keyboard_term): New structure.
33779 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
33780 functions.
33781
33782 Migrate output terminals to new API:
33783
33784 * term/i386/pc/vga.c (grub_vga_term): Change type to
33785 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
33786 members. Update all users.
33787 * term/gfxterm.c (grub_video_term): Change type to
33788 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
33789 members. Update all users.
33790 * include/grub/i386/pc/console.h (grub_console_checkkey)
33791 (grub_console_getkey): Do not export (no longer needed by gfxterm,
33792 etc).
33793
33794 Migrate `terminal' command and userland tools to new API:
33795
33796 * commands/terminal.c (grub_cmd_terminal): Split into ...
33797 (grub_cmd_terminal_input): ... this, and ...
33798 (grub_cmd_terminal_output): ... this.
33799 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
33800 `terminal_input' and `terminal_output'.
33801 * util/grub.d/00_header.in: Adjust `terminal' calls to new
33802 `terminal_input' / `terminal_output' API.
33803 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
33804 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
33805 provided ${GRUB_TERMINAL}, convert it).
33806
96e5d876 338072008-11-04 Robert Millan <rmh@aybabtu.com>
33808
33809 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
33810 for FreeBSD.
33811 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
33812
556f3775 338132008-11-03 Bean <bean123ch@gmail.com>
33814
33815 * kern/elf.c (grub_elf32_load): Revert to previous code.
33816 (grub_elf64_load): Likewise.
33817
33818 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
33819
926b9823 338202008-11-01 Robert Millan <rmh@aybabtu.com>
33821
33822 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
33823 (TARGET_CPPFLAGS): Likewise.
33824 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
33825
1432e958 338262008-11-01 Carles Pina i Estany <carles@pina.cat>
33827
33828 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
33829
dba3f844 338302008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 33831
33832 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
33833 addition of objects until the code is not going to be able to fail.
33834
dba3f844 338352008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 33836
33837 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
33838 (add a missing NULL check, and correct them by moving the pointer
33839 operations after the actual check).
33840
7ab28c21 338412008-10-29 Robert Millan <rmh@aybabtu.com>
33842
33843 * util/i386/pc/grub-install.in: Handle empty string as output from
33844 make_system_path_relative_to_its_root().
33845
1b7748eb 338462008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
33847
33848 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
33849 circular metadata worst case scenario. If the metadata is circular
33850 then copy the wrap in place.
33851 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
33852 project lib/format_text/layout.h
33853 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
33854
c9618ab2 338552008-10-03 Felix Zielcke <fzielcke@z-51.de>
33856
7a36edca 33857 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 33858
bf981c62 338592008-10-03 Felix Zielcke <fzielcke@z-51.de>
33860
33861 * util/update-grub_lib.in: Mention filename in warning message.
33862
6d994591 338632008-09-29 Felix Zielcke <fzielcke@z-51.de>
33864
33865 * NEWS: Update for rename of update-grub to grub-mkconfig.
33866
18ade780 338672008-09-29 Felix Zielcke <fzielcke@z-51.de>
33868
33869 * util/update-grub_lib.in: Copy to ...
33870 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 33871 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 33872 * util/update-grub.in: Rename to ...
33873 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
33874 option. Add `--output' option to allow users to specify the generated
33875 configuration file. Default to stdout.
33876 (update_grub_dir): Rename to ...
33877 (grub_mkconfig_dir): ... this.
33878 (grub_cfg): Default to an empty string.
33879 * conf/common.rmk (update-grub): Rename to ...
33880 (grub-mkconfig): ... this.
33881 (update-grub_lib): Copy to ...
33882 (grub-mkconfig_lib): ... this.
33883 (update-grub_SCRIPTS): Copy to ...
33884 (grub-mkconfig_SCRIPTS): ... this. Update all users.
33885 (update-grub_DATA): Rename to ...
33886 (grub-mkconfig_DATA): ... this.
33887
556ce6ac 338882008-09-28 Robert Millan <rmh@aybabtu.com>
33889
33890 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
33891 to `modified'. Add the real `created' field.
33892 (grub_iso9660_uuid): Use `modified' rather than `created' for
33893 constructing the UUID.
33894
338952008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 33896
33897 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
33898 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
33899
92274e85 339002008-09-28 Bean <bean123ch@gmail.com>
33901
33902 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
33903 Thanks to Christian Franke for finding this bug.
33904
add6f17a 339052008-09-25 Robert Millan <rmh@aybabtu.com>
33906
33907 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
33908 instances of grub_util_get_disk_name() (see previous commit).
33909
d2a367b8 339102008-09-25 Robert Millan <rmh@aybabtu.com>
33911
33912 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
33913 `util/i386/get_disk_name.c'.
33914 * conf/i386-efi.rmk: Likewise.
33915 * conf/x86_64-efi.rmk: Likewise.
33916 * conf/i386-coreboot.rmk: Likewise.
33917 * conf/i386-ieee1275.rmk: Likewise.
33918 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
33919 `util/ieee1275/get_disk_name.c'.
33920 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
33921 * util/ieee1275/get_disk_name.c: Remove file.
33922 * util/i386/get_disk_name.c: Remove file.
33923 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
33924 "hd%d" for device.map entries, rather than using
33925 grub_util_get_disk_name().
33926
81a06771 339272008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 33928
33929 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
33930 warning.
33931 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
33932
5a004279 339332008-09-24 Carles Pina i Estany <carles@pina.cat>
33934
33935 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
33936 Changed to 0x5100.
33937 (GRUB_TERM_PPAGE): Changed to 0x4900.
33938
397093d3 339392008-09-24 Robert Millan <rmh@aybabtu.com>
33940
33941 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
33942 macros (they were i386-pc specific).
33943 * include/grub/sparc64/ieee1275/console.h: Likewise.
33944 * include/grub/efi/console.h: Likewise.
33945
a91b6c7c 339462008-09-22 Bean <bean123ch@gmail.com>
33947
33948 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
33949 resident and in attribute list.
33950
33951 * include/grub/ntfs.h (BMP_LEN): Removed.
33952
c40fd116 339532008-09-22 Bean <bean123ch@gmail.com>
33954
81a06771 33955 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 33956 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
33957
33958 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
33959 error occurs, as grub_disk_open will call grub_disk_close, which will
33960 call p->close (scsi).
33961
81a06771 339622008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 33963
33964 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
33965 (AC_PREREQ): Bumped to 2.59.
33966 (AC_TRY_COMPILE): Replace obsolete macro with ...
33967 (AC_COMPILE_IFELSE): ... this.
33968 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
33969 (AC_LINK_IFELSE): ... this.
33970
5dc43410 339712008-09-21 Felix Zielcke <fzielcke@z-51.de>
33972
33973 * autogen.sh: Add a call to `gendistlist.sh'.
33974
9035dce4 339752008-09-19 Christian Franke <franke@computer.org>
33976
33977 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
33978 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
33979 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
33980 Export __enable_execute_stack() to modules.
33981 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
33982 New function.
33983
7fd75377 339842008-09-09 Felix Zielcke <fzielcke@z-51.de>
33985
040030b3 33986 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
33987 Sort the list.
33988
339892008-09-09 Felix Zielcke <fzielcke@z-51.de>
33990
33991 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 33992 #include <grub/util/hostdisk.h>.
33993
89d5ffcf 339942008-09-08 Robert Millan <rmh@aybabtu.com>
33995
33996 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
33997 segments when their filesz is zero (grub_file_read() interprets
81a06771 33998 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 33999 Use `lowest_segment' rather than 0 for calculating the current
34000 segment load address.
34001
40da438f 340022008-09-08 Robert Millan <rmh@aybabtu.com>
34003
34004 * util/hostdisk.c (open_device): Replace a grub_util_info() call
34005 with grub_dprintf("hostdisk", ...), as it was so verbose that it
34006 clobbered useful information.
34007
ddbf5556 340082008-09-08 Robert Millan <rmh@aybabtu.com>
34009
34010 * include/grub/util/biosdisk.h: Move to ...
34011 * include/grub/util/hostdisk.h: ... here. Update all users.
34012 * util/biosdisk.c: Move to ...
34013 * util/hostdisk.c: ... here. Update all users.
34014
783d0f48 340152008-09-07 Robert Millan <rmh@aybabtu.com>
34016
34017 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
34018 variables.
34019 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
34020 and length can be stored directly in the `mbi->mmap_addr' and
34021 `mbi->mmap_length' struct fields.
34022
548e2ea5 340232008-09-07 Robert Millan <rmh@aybabtu.com>
34024
34025 * conf/i386.rmk: New file. Provides declaration for building
34026 `cpuid.mod'.
34027 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
34028 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
34029 variables.
34030 Include `conf/i386.mk'.
34031 * conf/i386-efi.rmk: Likewise.
34032 * conf/x86_64-efi.rmk: Likewise.
34033 * conf/i386-coreboot.rmk: Likewise.
34034 * conf/i386-ieee1275.rmk: Likewise.
34035
0ea85a37 340362008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
34037
34038 Based on patch created by Colin D Bennett <colin@gibibit.com>.
34039 Adds optimization support for BGR based modes.
34040
34041 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
34042 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
34043 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
34044 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
34045 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
34046 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
34047 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
34048 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
34049 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
34050 (grub_video_i386_vbeblit_index_index): Likewise.
34051 (grub_video_i386_vbeblit_replace_directN): Added.
34052 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
34053 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
34054 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
34055 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
34056 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
34057 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 34058 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 34059 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
34060 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
34061 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
34062 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
34063 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
34064 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
34065
34066 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
34067 (grub_video_i386_vbefill_R8G8B8): Likewise.
34068 (grub_video_i386_vbefill_index): Likewise.
34069 (grub_video_i386_vbefill_direct32): Added.
34070 (grub_video_i386_vbefill_direct24): Likewise.
34071 (grub_video_i386_vbefill_direct16): Likewise.
34072 (grub_video_i386_vbefill_direct8): Likewise.
34073
81a06771 34074 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 34075 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
34076 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
34077 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
34078 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
34079 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 34080
0ea85a37 34081 * video/video.c (grub_video_get_blit_format): Updated to use new
34082 blit formats. Added handling for 16 bit color modes.
81a06771 34083
34084 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 34085 fillers.
34086 (common_blitter): Updated to use new blitters.
34087
34088 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
34089 Removed.
34090 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
34091 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
34092 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
34093 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
34094 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
34095 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
34096 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
34097 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
34098 (grub_video_i386_vbeblit_index_index): Likewise.
34099 (grub_video_i386_vbeblit_replace_directN): Added.
34100 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
34101 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
34102 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
34103 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
34104 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
34105 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
34106 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
34107 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
34108 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
34109 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
34110 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
34111 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
34112 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 34113
0ea85a37 34114 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
34115 (grub_video_i386_vbefill_R8G8B8): Likewise.
34116 (grub_video_i386_vbefill_index): Likewise.
34117 (grub_video_i386_vbefill_direct32): Added.
34118 (grub_video_i386_vbefill_direct24): Likewise.
34119 (grub_video_i386_vbefill_direct16): Likewise.
34120 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 34121
0ea85a37 34122 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
34123 types.
81a06771 34124
0ea85a37 34125 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
34126 types.
81a06771 34127
0ea85a37 34128 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
34129 blitter types.
81a06771 34130
0ea85a37 34131 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
34132 types.
34133
e8a83df6 341342008-09-06 Felix Zielcke <fzielcke@z-51.de>
34135
34136 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
34137 RAID level 1.
34138
6bcd8ee5 341392008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 34140
6bcd8ee5 34141 * fs/iso9660.c (grub_iso9660_date): New structure.
34142 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
34143 (grub_iso9660_uuid): New function.
c375ae58 34144
59261157 341452008-09-05 Bean <bean123ch@gmail.com>
34146
34147 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
34148
34149 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
34150 insensitive bit for names in Win32 and Win32 & DOS namespace.
34151
34152 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
34153
34154 * include/grub/types.h (LONG_MAX): Likewise.
34155
58b6645a 341562008-09-04 Felix Zielcke <fzielcke@z-51.de>
34157
4ee55921 34158 * util/getroot.c: Include <config.h>.
34159 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
34160 add support for /dev/md/N devices and handle LVM double dash escaping.
34161
341622008-09-04 Felix Zielcke <fzielcke@z-51.de>
34163
34164 * config.guess: Update to latest version from config git.
34165 * config.sub: Likewise.
58b6645a 34166
9124f65d 341672008-09-03 Robert Millan <rmh@aybabtu.com>
34168
34169 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
34170 `disk->total_sectors'.
34171
81a06771 341722008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 34173
34174 * include/grub/normal.h: Fixed incorrect comment for
34175 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
34176
81a06771 341772008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 34178
34179 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
34180 values with defines.
34181
34182 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
34183 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
34184 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
34185 (GRUB_VBE_MODEATTR_COLOR): Likewise.
34186 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
34187 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
34188 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
34189 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
34190 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
34191 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
34192 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
34193 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
34194 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
34195 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
34196 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
34197 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
34198 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
34199 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
34200 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
34201
93d5cbf8 342022008-08-31 Robert Millan <rmh@aybabtu.com>
34203
34204 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
34205 declaration.
34206 (grub_multiboot): Fix a few warnings.
34207
21751d50 342082008-08-31 Robert Millan <rmh@aybabtu.com>
34209
34210 * loader/i386/pc/multiboot.c: Update comment not to say that
34211 boot_device support is unimplemented.
34212
e27a75c5 342132008-08-31 Robert Millan <rmh@aybabtu.com>
34214
34215 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
34216 or memory map support are unimplemented.
34217
81a06771 342182008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 34219
34220 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
34221
81a06771 342222008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 34223
34224 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
34225 total video memory in 'vbeinfo' output; show color format details for
34226 each video mode.
34227
7c5d8d95 342282008-08-30 Pavel Roskin <proski@gnu.org>
34229
34230 * util/genmoddep.c: Remove for real this time.
34231 * DISTLIST: Remove util/genmoddep.c.
34232
4cebd25a 342332008-08-30 Robert Millan <rmh@aybabtu.com>
34234
34235 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
34236 as required by Multiboot spec (it was already 4-byte aligned, but
34237 only by chance).
34238
b497a269 342392008-08-29 Pavel Roskin <proski@gnu.org>
34240
e3925185 34241 * kern/powerpc/ieee1275/crt0.S: Rename to ...
34242 * kern/powerpc/ieee1275/startup.S: ... this.
34243 * conf/powerpc-ieee1275.rmk: Adjust for the above.
34244 * DISTLIST: Likewise.
34245
b497a269 34246 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
34247 grub/cpu/kernel.h. Add start label for consistency with other
34248 platforms. Add grub_prefix immediately after start. Add jump
34249 to the code after grub_prefix.
34250 * include/grub/powerpc/kernel.h: Provide valid values for
34251 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
34252
6e5a42fe 342532008-08-29 Bean <bean123ch@gmail.com>
34254
34255 * configure.ac: Change host_os to cygwin for mingw.
34256 (asprintf): New check for function.
34257
34258 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
34259 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
34260
34261 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 34262 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 34263 sync, sleep and grub_util_get_disk_size for mingw.
34264
34265 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
34266 to get size in mingw.
34267 (open_device): Use flag O_BINARY if it's defined.
34268 (find_root_device): Add dummy code for mingw.
34269
34270 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
34271 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
34272 (get_scsi_disk_name): Return 0 for mingw.
34273
34274 * util/hostfs.c: #include <grub/util/misc.h>.
34275 (grub_hostfs_open): Use "rb" flag to open file, use
34276 grub_util_get_disk_size to get disk size for mingw.
34277
34278 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
34279 (asprintf): New function if HAVE_ASPRINTF is not set.
34280 (sync): New function for mingw.
34281 (sleep): Likewise.
34282 (grub_util_get_disk_size): Likewise.
34283
ab3f2673 342842008-08-28 Pavel Roskin <proski@gnu.org>
34285
34286 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
34287 kern/time.c.
34288
1c282483 342892008-08-28 Robert Millan <rmh@aybabtu.com>
34290
34291 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
34292
678e849c 342932008-08-28 Robert Millan <rmh@aybabtu.com>
34294
34295 Change find_grub_drive() syntax so it doesn't prevent it from
34296 detecting NULL names as errors.
34297
34298 * util/biosdisk.c (find_grub_drive): Move free slot search code
34299 from here ...
34300 (find_free_slot): ... to here.
34301 (read_device_map): Use find_free_slot() to search for free slots.
34302
965c75ca 343032008-08-27 Marco Gerards <marco@gnu.org>
34304
34305 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
34306 (scsi_mod_SOURCES): New variable.
34307 (scsi_mod_CFLAGS): Likewise
34308 (scsi_mod_LDFLAGS): Likewise.
34309
34310 * disk/scsi.c: New file.
34311
34312 * include/grub/scsi.h: Likewise.
34313
34314 * include/grub/scsicmd.h: Likewise.
34315
34316 * disk/ata.c: Include <grub/scsi.h>.
34317 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
34318 instead.
34319 (grub_ata_iterate): Skip ATAPI devices.
34320 (grub_ata_open): Only handle ATAPI devices.
34321 (struct grub_atapi_read): Removed.
34322 (grub_atapi_readsector): Likewise.
34323 (grub_ata_read): No longer handle ATAPI devices.
34324 (grub_ata_write): Likewise.
34325 (grub_atapi_iterate): New function.
34326 (grub_atapi_read): Likewise.
34327 (grub_atapi_write): Likewise.
34328 (grub_atapi_open): Likewise.
34329 (grub_atapi_close): Likewise.
34330 (grub_atapi_dev): New variable.
34331 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
34332 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
34333
34334 * include/grub/disk.h (enum grub_disk_dev_id): Add
34335 `GRUB_DISK_DEVICE_SCSI_ID'.
34336
c07ae501 343372008-08-26 Robert Millan <rmh@aybabtu.com>
34338
34339 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
34340 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
34341 descriptive.
34342
5ed20adc 343432008-08-23 Bean <bean123ch@gmail.com>
34344
34345 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
34346 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
34347 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
34348 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
34349 dm_nv.mod.
34350 (raid5rec_mod_SOURCES): New macro.
34351 (raid5rec_mod_CFLAGS): Likewise.
34352 (raid5rec_mod_LDFLAGS): Likewise.
34353 (raid6rec_mod_SOURCES): Likewise.
34354 (raid6rec_mod_CFLAGS): Likewise.
34355 (raid6rec_mod_LDFLAGS): Likewise.
34356 (mdraid_mod_SOURCES): Likewise.
34357 (mdraid_mod_CFLAGS): Likewise.
34358 (mdraid_mod_LDFLAGS): Likewise.
34359 (dm_nv_mod_SOURCES): Likewise.
34360 (dm_nv_mod_CFLAGS): Likewise.
34361 (dm_nv_mod_LDFLAGS): Likewise.
34362
34363 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
34364 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
34365 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
34366
34367 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
34368 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
34369
34370 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34371
34372 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34373
34374 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34375
34376 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34377
34378 * disk/raid5_recover.c: New file.
34379
34380 * disk/raid6_recover.c: Likewise.
34381
34382 * disk/mdraid_linux.c: Likewise.
34383
34384 * disk/dmraid_nvidia.c: Likewise.
34385
34386 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
34387 ULONG_MAX.
34388
34389 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
34390 calculate the size of raid device.
34391 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
34392 different layout of raid5.
34393 (grub_raid_scan_device): Remove code specific to mdraid.
34394 (grub_raid_list): New variable.
34395 (free_array): New function.
34396 (grub_raid_register): Likewise.
34397 (grub_raid_unregister): Likewise.
34398 (grub_raid_rescan): Likewise.
34399 (GRUB_MOD_INIT): Don't iterate device here.
34400 (GRUB_MOD_FINI): Use free_array to release resource.
34401
34402 * include/grub/raid.h: Remove macro and structure specific to mdraid.
34403 (grub_raid5_recover_func_t): New function variable type.
34404 (grub_raid6_recover_func_t): Likewise.
34405 (grub_raid5_recover_func): New variable.
34406 (grub_raid6_recover_func): Likewise.
34407 (grub_raid_register): New function.
34408 (grub_raid_unregister): Likewise.
34409 (grub_raid_rescan): Likewise.
34410 (grub_raid_block_xor): Likewise.
34411
34412 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
34413 (CMD_CRC): New macro.
34414 (part): Removed.
34415 (read_file): Handle device as well as file.
34416 (cmd_crc): New function.
34417 (fstest): Handle multiple disks.
34418 (options): Remove part, raw and long, add root and diskcount.
34419 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 34420 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 34421 add handling for the new options, support multiple disks.
34422
34423 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
34424
29c18915 344252008-08-23 Bean <bean123ch@gmail.com>
34426
34427 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
34428
34429 * genfslist.sh: Ignore kernel.mod.
34430
34431 * genpartmaplist.sh: Likewise.
34432
8415f261 344332008-08-23 Robert Millan <rmh@aybabtu.com>
34434
34435 * util/getroot.c (find_root_device): Skip anything that starts with
34436 a dot, not just directories. This avoids things like /dev/.tmp.md0.
34437
d5a7dc5b 344382008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 34439
d5a7dc5b 34440 * util/update-grub.in (GRUB_GFXMODE): Export variable.
34441 * util/grub.d/00_header.in: Allow the administrator to change default
34442 gfxmode via ${GRUB_GFXMODE}.
34443
380cfbb4 344442008-08-21 Felix Zielcke <fzielcke@z-51.de>
34445
34446 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
34447
c9baafe7 344482008-08-21 Robert Millan <rmh@aybabtu.com>
34449
34450 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
34451 loader.
34452 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
34453 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
34454
e290bef2 344552008-08-20 Carles Pina i Estany <carles@pina.cat>
34456
34457 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
34458 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
34459
f9dbfc96 344602008-08-19 Robert Millan <rmh@aybabtu.com>
34461
34462 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
34463 (struct grub_virtual_screen): Remove `cursor_color'.
34464 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
34465 initialization.
34466 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
34467
dd6bd6ab 344682008-08-18 Robert Millan <rmh@aybabtu.com>
34469
34470 Unify (identical) linux_normal.c files.
34471 * loader/i386/efi/linux_normal.c: Move from here ...
34472 * loader/linux_normal.c: ... to here. Update all users.
34473 * loader/i386/pc/linux_normal.c: Delete. Update all users.
34474 * loader/i386/ieee1275/linux_normal.c: Likewise.
34475
7f42f83e 344762008-08-18 Robert Millan <rmh@aybabtu.com>
34477
34478 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
34479 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
34480 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
34481 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
34482 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
34483 New macros.
34484 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
34485 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
34486 (GRUB_LINUX_CL_END_OFFSET): ... to here.
34487 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
34488 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
34489 (GRUB_EFI_CL_END_OFFSET): Rename to ...
34490 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
34491 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
34492 Initialize `params->video_cursor_x' and `params->video_cursor_y'
34493 portably using grub_getxy().
34494 Replace `-EFI' with `-bzImage' in boot message.
34495
38487ddb 344962008-08-17 Robert Millan <rmh@aybabtu.com>
34497
34498 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
34499
deceb3ec 345002008-08-17 Robert Millan <rmh@aybabtu.com>
34501
34502 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
34503
34504 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
34505 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
34506 (grub_machine_mmap_iterate): New function declaration.
34507 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
34508 structure.
34509 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
34510 macros.
34511
34512 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
34513 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
34514 Move e820 parsing from here ...
34515 * kern/i386/pc/mmap.c: New file.
34516 (grub_machine_mmap_iterate): ... to here.
34517
34518 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
34519 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
34520 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
34521 (grub_available_iterate): Redeclare to return `void', and redeclare
34522 its hook to use grub_uint64_t as addr and size parameters, and rename
34523 to ...
34524 (grub_machine_mmap_iterate): ... this. Update all users.
34525
34526 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
34527 to make it more readable. Rename to ...
34528 (grub_machine_mmap_iterate): ... this.
34529
34530 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
34531 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
34532 (grub_multiboot): Allocate an extra region after the payload, and fill
34533 it with a Multiboot memory map. Adjust a.out loader to calculate size
34534 with the extra space.
34535 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
34536 with the extra space.
34537
f8aa0f43 345382008-08-17 Carles Pina i Estany <carles@pina.cat>
34539
9807deb9 34540 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 34541
605f5bb6 345422008-08-17 Felix Zielcke <fzielcke@z-51.de>
34543
34544 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
34545 mdate-sh to the list `find' searches for.
34546 * DISTLIST: Regenerated.
34547
210db6c6 345482008-08-16 Felix Zielcke <fzielcke@z-51.de>
34549
34550 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
34551 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 34552 genmoddep.awk, gensymlist.sh.in.
34553 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 34554 * DISTLIST: Regenerated.
48cdbfd4 34555 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 34556
1082b929 345572008-08-16 Robert Millan <rmh@aybabtu.com>
34558
34559 * disk/raid.c (grub_raid_init): Handle/report errors set by
34560 grub_device_iterate().
34561 * disk/lvm.c (grub_lvm_init): Likewise.
34562
42ce5170 345632008-08-15 Bean <bean123ch@gmail.com>
34564
34565 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34566 and datehook.mod.
34567 (datetime_mod_SOURCES): New macro.
34568 (datetime_mod_CFLAGS): Likewise.
34569 (datetime_mod_LDFLAGS): Likewise.
34570 (date_mod_SOURCES): Likewise.
34571 (date_mod_CFLAGS): Likewise.
34572 (date_mod_LDFLAGS): Likewise.
34573 (datehook_mod_SOURCES): Likewise.
34574 (datehook_mod_CFLAGS): Likewise.
34575 (datehook_mod_LDFLAGS): Likewise.
34576
34577 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34578 and datehook.mod.
34579 (datetime_mod_SOURCES): New macro.
34580 (datetime_mod_CFLAGS): Likewise.
34581 (datetime_mod_LDFLAGS): Likewise.
34582 (date_mod_SOURCES): Likewise.
34583 (date_mod_CFLAGS): Likewise.
34584 (date_mod_LDFLAGS): Likewise.
34585 (datehook_mod_SOURCES): Likewise.
34586 (datehook_mod_CFLAGS): Likewise.
34587 (datehook_mod_LDFLAGS): Likewise.
34588
34589 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34590 and datehook.mod.
34591 (datetime_mod_SOURCES): New macro.
34592 (datetime_mod_CFLAGS): Likewise.
34593 (datetime_mod_LDFLAGS): Likewise.
34594 (date_mod_SOURCES): Likewise.
34595 (date_mod_CFLAGS): Likewise.
34596 (date_mod_LDFLAGS): Likewise.
34597 (datehook_mod_SOURCES): Likewise.
34598 (datehook_mod_CFLAGS): Likewise.
34599 (datehook_mod_LDFLAGS): Likewise.
34600
34601 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34602 and datehook.mod.
34603 (datetime_mod_SOURCES): New macro.
34604 (datetime_mod_CFLAGS): Likewise.
34605 (datetime_mod_LDFLAGS): Likewise.
34606 (date_mod_SOURCES): Likewise.
34607 (date_mod_CFLAGS): Likewise.
34608 (date_mod_LDFLAGS): Likewise.
34609 (datehook_mod_SOURCES): Likewise.
34610 (datehook_mod_CFLAGS): Likewise.
34611 (datehook_mod_LDFLAGS): Likewise.
34612
34613 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34614 and datehook.mod.
34615 (datetime_mod_SOURCES): New macro.
34616 (datetime_mod_CFLAGS): Likewise.
34617 (datetime_mod_LDFLAGS): Likewise.
34618 (date_mod_SOURCES): Likewise.
34619 (date_mod_CFLAGS): Likewise.
34620 (date_mod_LDFLAGS): Likewise.
34621 (datehook_mod_SOURCES): Likewise.
34622 (datehook_mod_CFLAGS): Likewise.
34623 (datehook_mod_LDFLAGS): Likewise.
34624
34625 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
34626
34627 * commands/date.c: New file.
34628
34629 * hook/datehook.c: Likewise.
34630
34631 * include/grub/lib/datetime.h: Likewise.
34632
34633 * include/grub/i386/cmos.h: Likewise.
34634
34635 * lib/datetime.c: Likewise.
34636
34637 * lib/i386/datetime.c: Likewise.
34638
34639 * lib/efi/datetime.c: Likewise.
34640
0e9242da 346412008-08-14 Robert Millan <rmh@aybabtu.com>
34642
34643 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
34644 (grub_mkelfimage_SOURCES): New variable.
34645 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
34646
34647 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
34648 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
34649 * conf/powerpc-ieee1275.rmk: Likewise.
34650 * conf/i386-ieee1275.rmk: Likewise.
34651
34652 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
34653 * kern/i386/coreboot/init.c: Likewise.
34654
34655 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
34656 with `<grub/cpu/kernel.h>'.
34657 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
34658 to ...
34659 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
34660 * kern/i386/coreboot/startup.S: Likewise.
34661
34662 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
34663 (GRUB_MOD_GAP): Remove.
34664 * include/grub/powerpc/kernel.h: New file.
34665 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
34666 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
34667 * include/grub/i386/kernel.h: New file.
34668 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
34669 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
34670 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
34671
34672 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
34673 `grub-mkelfimage'.
34674 Use --directory when invoking grub_mkimage.
34675
34676 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
34677 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
34678 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
34679 and GRUB_KERNEL_CPU_PREFIX.
34680
b86408f8 346812008-08-14 Felix Zielcke <fzielcke@z-51.de>
34682
d5e619ca 34683 * include/grub/err.h (grub_err_printf): New function prototype.
34684 * util/misc.c (grub_err_printf): New function.
34685 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
34686 grub_printf.
34687 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 34688
7161f0e0 346892008-08-13 Robert Millan <rmh@aybabtu.com>
34690
34691 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
34692
a1967522 346932008-08-13 Robert Millan <rmh@aybabtu.com>
34694
34695 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
34696 boot entry.
34697
371458b5 346982008-08-12 Robert Millan <rmh@aybabtu.com>
34699
34700 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
34701 of the relocation code from here ...
34702 (grub_multiboot): ... to here.
34703 (forward_relocator, backward_relocator): Move from here ...
34704 * kern/i386/loader.S (grub_multiboot_forward_relocator)
34705 (grub_multiboot_backward_relocator): ... to here.
34706 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
34707 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
34708 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
34709 (grub_multiboot_forward_relocator_end)
34710 (grub_multiboot_backward_relocator)
34711 (grub_multiboot_backward_relocator_end): New variables.
34712
05f9452b 347132008-08-12 Bean <bean123ch@gmail.com>
34714
34715 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
34716
20024ab0 347172008-08-11 Robert Millan <rmh@aybabtu.com>
34718
34719 * kern/i386/linuxbios/startup.S: Move from here ...
34720 * kern/i386/coreboot/startup.S: ... to here.
34721
34722 * kern/i386/linuxbios/init.c: Move from here ...
34723 * kern/i386/coreboot/init.c: ... to here.
34724
34725 * kern/i386/linuxbios/table.c: Move from here ...
34726 * kern/i386/coreboot/mmap.c: ... to here.
34727
34728 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
34729
e352e9cd 347302008-08-11 Robert Millan <rmh@aybabtu.com>
34731
34732 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
34733 errors. Leave it to the upper layer to handle them.
34734
2d05bc6a 347352008-08-09 Christian Franke <franke@computer.org>
34736
34737 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
34738 * conf/common.rmk: Install `grub-pe2elf' only if requested.
34739 Install `grub.d/10_windows' only on Cygwin.
34740 * configure.ac: Add subst of `target_os'.
34741 Check `target_os' also before setting TARGET_OBJ2ELF.
34742 Add `--enable-grub-pe2elf'.
34743
042bd419 347442008-08-08 Robert Millan <rmh@aybabtu.com>
34745
34746 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
34747 (grub_last_time): Change type to grub_uint64_t.
34748 (grub_disk_open): Migrate code from to using grub_get_time_ms().
34749 (grub_disk_close): Likewise.
34750
34751 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
34752 (run_menu): Migrate code from to using grub_get_time_ms().
34753
34754 * util/misc.c (grub_get_time_ms): New function.
34755
7f280db5 347562008-08-08 Marco Gerards <marco@gnu.org>
34757
34758 * disk/ata.c (grub_ata_regget): Change return type to
34759 `grub_uint8_t'.
34760 (grub_ata_regget2): Likewise.
34761 (grub_ata_wait_status): New function.
34762 (grub_ata_wait_busy): Removed function, updated all users to use
34763 `grub_ata_wait_status'.
34764 (grub_ata_wait_drq): Likewise.
34765 (grub_ata_cmd): New function.
34766 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
34767 error handling.
34768 (grub_ata_pio_write): Add error handling.
34769 (grub_atapi_identify): Likewise.
34770 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
34771 handling.
34772 (grub_ata_identify): Use `grub_ata_cmd' and improve error
34773 handling. Actually use the detected registers. Reorder the
34774 detection logic such that it is easier to read.
34775 (grub_ata_pciinit): Do not assign the same ID to each controller.
34776 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
34777 handling.
34778 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
34779
34780 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
34781
1fbc5e66 347822008-08-08 Marco Gerards <marco@gnu.org>
34783
34784 * NEWS: Update.
34785
819ce6c0 347862008-08-07 Bean <bean123ch@gmail.com>
34787
34788 * include/grub/x86_64/pci.h: New file.
34789
5c41d44d 347902008-08-07 Christian Franke <franke@computer.org>
34791
34792 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
34793 (TIMER2_GATE): Likewise.
34794 (grub_pit_wait): Add enable/disable of the timer2 gate
34795 bit of port 0x61. This fixes a possible infinite loop.
34796
5ebc275d 347972008-08-07 Bean <bean123ch@gmail.com>
34798
34799 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
34800 kern/i386/tsc.c and kern/i386/pit.c.
34801
34802 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
34803 x86_64 platform.
34804
34805 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
34806 <grub/i386/tsc.h>.
34807
34808 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
34809
e383b3d0 348102008-08-07 Bean <bean123ch@gmail.com>
34811
34812 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
34813
34814 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
34815
34816 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
34817 multiple inclusion. Add #include <grub/types.h>.
34818
1cbb58ac 348192008-08-06 Christian Franke <franke@computer.org>
34820
34821 * conf/common.rmk: Build and install `10_windows'.
34822 * util/grub.d/10_windows.in: New script.
34823
337f5a1e 348242008-08-06 Pavel Roskin <proski@gnu.org>
34825
34826 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
34827
057bc4ac 348282008-08-06 Robert Millan <rmh@aybabtu.com>
34829
34830 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
34831 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
34832
2b99f123 348332008-08-06 Bean <bean123ch@gmail.com>
34834
34835 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
34836 (grub_pxefs_fs_int): Remove dummy definition.
34837 (grub_pxefs_open): Use data->block_size to store the current block
34838 size setting.
34839 (grub_pxefs_read): Use block size stored in data->block_size. As the
34840 value of grub_pxe_blksize can be changed after the file is opened.
34841
9f0234cb 348422008-08-06 Bean <bean123ch@gmail.com>
34843
34844 * fs/i386/pc/pxe.c (curr_file): new variable.
34845 (grub_pxefs_open): Simply the handling of pxe file system. Don't
34846 require the dummy internal file system anymore.
34847 (grub_pxefs_read): Removed.
34848 (grub_pxefs_close): Likewise.
34849 (grub_pxefs_fs_int): Likewise.
34850 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
34851 connection when we switch file.
34852 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
34853
a55d42e0 348542008-08-06 Robert Millan <rmh@aybabtu.com>
34855
34856 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
34857 `halt.mod'.
34858 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
34859 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
34860
34861 * kern/i386/halt.c: New file.
34862 * kern/i386/reboot.c: Likewise.
34863 * include/grub/i386/reboot.h: Likewise.
34864 * include/grub/i386/halt.h: Likewise.
34865
34866 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
34867 Include `<grub/cpu/halt.h>'.
34868 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
34869 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
34870
34871 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
34872 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
34873 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
34874 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
34875 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
34876 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
34877 from here ...
34878 * include/grub/i386/at_keyboard.h: ... to here.
34879
24371d26 348802008-08-05 Robert Millan <rmh@aybabtu.com>
34881
34882 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
34883 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
34884 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
34885 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
34886 `kern/generic/millisleep.c'.
34887
34888 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
34889 instead of grub_get_rtc().
34890 (grub_tsc_init): Initialize `tsc_boot_time'.
34891
34892 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
34893 (grub_machine_init): Use grub_tsc_init() rather than
34894 installing an RTC-based handler via grub_install_get_time_ms().
34895
34896 * kern/i386/pit.c: New file.
34897 * include/grub/i386/pit.h: Likewise.
34898
9e7007b3 348992008-08-05 Bean <bean123ch@gmail.com>
34900
34901 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
34902
34903 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
34904 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
34905 (pxe_mod_SOURCES): New macro.
34906 (pxe_mod_CFLAGS): Likewise.
34907 (pxe_mod_LDFLAGS): Likewise.
34908 (pxecmd_mod_SOURCES): Likewise.
34909 (pxecmd_mod_CFLAGS): Likewise.
34910 (pxecmd_mod_LDFLAGS): Likewise.
34911
34912 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
34913 (grub_pxe_call): Likewise.
34914
34915 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
34916
34917 * commands/i386/pc/pxecmd.c: New file.
34918
9f0234cb 34919 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 34920
34921 * include/grub/i386/pc/pxe.h: Likewise.
34922
6977d49f 349232008-08-05 Bean <bean123ch@gmail.com>
34924
34925 * util/console.c (grub_console_cur_color): New variable.
34926 (grub_console_standard_color): Likewise.
34927 (grub_console_normal_color): Likewise.
34928 (grub_console_highlight_color): Likewise.
34929 (color_map): Likewise.
34930 (use_color): Likewise.
34931 (NUM_COLORS): New macro.
34932 (grub_ncurses_setcolorstate): Handle color properly.
34933 (grub_ncurses_setcolor): Don't change color here, just remember the
34934 settings, color will be set in grub_ncurses_setcolorstate.
34935 (grub_ncurses_getcolor): New function.
34936 (grub_ncurses_init): Initialize color pairs.
34937 (grub_ncurses_term): New member grub_ncurses_getcolor.
34938
9c2ff3ee 349392008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 34940
9c2ff3ee 34941 High resolution timer support. Implemented for x86 CPUs using TSC.
34942 Extracted generic grub_millisleep() so it's linked in only as needed.
34943 This requires a Pentium compatible CPU; if the RDTSC instruction is
34944 not supported, then it falls back on the generic grub_get_time_ms()
34945 implementation that uses the machine's RTC.
34946
34947 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
34948 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
34949 `kern/generic/millisleep.c'.
34950
34951 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
34952 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
34953
34954 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
34955 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
34956
34957 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
34958
34959 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
34960 `kern/generic/millisleep.c'.
34961
34962 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
34963
34964 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
34965
34966 * kern/generic/rtc_get_time_ms.c: New file.
34967
34968 * kern/generic/millisleep.c: New file.
337f5a1e 34969
9c2ff3ee 34970 * kern/misc.c: Don't include
34971 <kern/time.h> anymore.
34972 (grub_millisleep_generic): Removed.
34973
34974 * commands/sleep.c (grub_interruptible_millisleep): Uses
34975 grub_get_time_ms() instead of grub_get_rtc().
34976
34977 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
34978 function.
34979 (grub_cpu_is_cpuid_supported): New inline function.
34980 (grub_cpu_is_tsc_supported): New inline function.
34981 (grub_tsc_init): New function prototype.
34982 (grub_tsc_get_time_ms): New function prototype.
34983
34984 * kern/i386/tsc.c (grub_get_time_ms): New file.
34985
34986 * include/grub/time.h: Include <grub/types.h.
34987 (grub_millisleep_generic): Removed.
34988 (grub_get_time_ms): New prototype.
34989 (grub_install_get_time_ms): New prototype.
34990 (grub_rtc_get_time_ms): New prototype.
34991
34992 * kern/time.c (grub_get_time_ms): New function.
34993 (grub_install_get_time_ms): New function.
34994
34995 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
34996 <grub/time.h> anymore.
34997 (grub_millisleep): Removed.
34998 (grub_machine_init): Call grub_tsc_init.
34999
35000 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
35001 get_time_ms() implementation.
35002
35003 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
35004 (ieee1275_get_time_ms): New function.
35005 (grub_machine_init): Install get_time_ms() implementation.
35006
35007 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
35008 (grub_machine_init): Call grub_tsc_init().
35009 (grub_millisleep): Removed.
bf06a93f 35010
9c2ff3ee 35011 * kern/ieee1275/init.c (grub_millisleep): Removed.
35012 (grub_machine_init): Install ieee1275_get_time_ms()
35013 implementation.
35014 (ieee1275_get_time_ms): New function.
35015 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
35016 real work.
35017
9ec92aaf 350182008-08-05 Marco Gerards <marco@gnu.org>
35019
35020 * disk/ata.c: Include <grub/pci.h>.
35021 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
35022 (grub_ata_initialize): Rewritten.
35023 (grub_ata_device_initialize): New function.
35024
8d23f507 350252008-08-04 Pavel Roskin <proski@gnu.org>
35026
35027 * kern/main.c: Include grub/mm.h.
35028
5e15ee3d 350292008-08-04 Robert Millan <rmh@aybabtu.com>
35030
35031 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
35032 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
35033 corruption problem).
35034
a9053f8f 350352008-08-04 Robert Millan <rmh@aybabtu.com>
35036
35037 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
35038 warnings introduced in my last commit.
35039
dd19c7d7 350402008-08-03 Robert Millan <rmh@aybabtu.com>
35041
35042 Make PCI available on all i386 architectures.
35043
35044 * include/grub/i386/pc/pci.h: Move from here ...
35045 * include/grub/i386/pci.h: ... to here.
35046
35047 * include/grub/i386/pc/pci.h: Remove.
35048 * include/grub/i386/efi/pci.h: Remove.
35049 * include/grub/x86_64/efi/pci.h: Remove.
35050
35051 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
35052 `<grub/cpu/pci.h>'.
35053
35054 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
35055 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
35056 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
35057
35058 * conf/i386-ieee1275.rmk: Likewise.
35059
e14a6184 350602008-08-03 Robert Millan <rmh@aybabtu.com>
35061
35062 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
35063 (grub_console_setcursor): Make it possible to set cursor off.
35064
52768e37 350652008-08-03 Robert Millan <rmh@aybabtu.com>
35066
35067 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
35068 of modules instead of assuming which platform provides what.
35069 * util/update-grub.in: Likewise.
35070
2d52f57f 350712008-08-03 Robert Millan <rmh@aybabtu.com>
35072
35073 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
35074 instead of `grub_install_dos_part' to determine whether a drive needs
35075 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 35076 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 35077
2a5cd121 350782008-08-02 Robert Millan <rmh@aybabtu.com>
35079
35080 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
35081
93808428 350822008-08-02 Robert Millan <rmh@aybabtu.com>
35083
35084 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
35085 of informational grub_dprintf() calls.
35086
3bd0a12a 350872008-08-02 Robert Millan <rmh@aybabtu.com>
35088
35089 * disk/memdisk.c (memdisk_size): Don't initialize.
35090 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
35091
35092 * include/grub/i386/pc/kernel.h
35093 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
35094 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
35095 (grub_memdisk_image_size, grub_arch_memdisk_addr)
35096 (grub_arch_memdisk_size): Remove.
35097
35098 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
35099 field (was only used to transfer a constant). Add `type' field to
35100 support multiple module types.
35101 (grub_module_iterate): New function.
35102
35103 * kern/device.c (grub_device_open): Do not hide error messages
35104 when grub_disk_open() fails. Use grub_print_error() instead.
35105
35106 * kern/i386/pc/init.c (grub_arch_modules_addr)
35107 (grub_arch_memdisk_size): Remove functions.
35108 (grub_arch_modules_addr): Return the module address in high memory
35109 (now that it isn't copied anymore).
35110
35111 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
35112 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
35113 decompression routine (grub_total_module_size already includes that
35114 now). Don't copy modules back to low memory.
35115
35116 * kern/main.c: Include `<grub/mm.h>'.
35117 (grub_load_modules): Split out (and use) ...
35118 (grub_module_iterate): ... this function, which iterates through
35119 module objects and runs a hook.
35120 Comment out grub_mm_init_region() call, as it would cause non-ELF
35121 modules to be overwritten.
35122
35123 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
35124 the memdisk image in its own region, make it part of the module list.
35125 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
35126 (main): Parse --memdisk|-m option, and pass user-provided path as
35127 parameter to generate_image().
35128 (add_segments): Pass `memdisk_path' down to load_modules().
35129 (load_modules): Embed memdisk image in module section when requested.
35130 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
35131 `header.type' instead of `header.offset'.
35132
35133 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
35134 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
35135 (memdisk_mod_LDFLAGS): New variables.
35136 * conf/i386-coreboot.rmk: Likewise.
35137 * conf/i386-ieee1275.rmk: Likewise.
35138
a927cc73 351392008-08-02 Robert Millan <rmh@aybabtu.com>
35140
35141 * loader/i386/pc/multiboot.c (playground, forward_relocator)
35142 (backward_relocator): New variables. Used to allocate and relocate
35143 the payload, respectively.
35144 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 35145 address, install the appropriate relocator code in each bound of
a927cc73 35146 the payload, and set the entry point such that
35147 grub_multiboot_real_boot() will jump to one of them.
35148
35149 * kern/i386/loader.S (grub_multiboot_payload_size)
35150 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
35151 (grub_multiboot_payload_entry_offset): New variables.
35152 (grub_multiboot_real_boot): Set cpu context to what the relocator
35153 expects, and jump to the relocator instead of the payload.
35154
35155 * include/grub/i386/loader.h (grub_multiboot_payload_size)
35156 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
35157 (grub_multiboot_payload_entry_offset): Export.
35158
b15d8a0c 351592008-08-01 Bean <bean123ch@gmail.com>
35160
35161 * normal/menu_entry.c (editor_getline): Don't return the original
35162 string as result, as it will be released by lexer once it has done
35163 using it.
35164
cdfb3d22 351652008-08-01 Robert Millan <rmh@aybabtu.com>
35166
35167 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
35168 within menuentries, not before them.
35169 util/grub.d/10_hurd.in: Likewise.
35170
9175e93d 351712008-08-01 Bean <bean123ch@gmail.com>
35172
35173 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
35174 (bufio_mod_SOURCES): New macro.
35175 (bufio_mod_CFLAGS): Likewise.
35176 (bufio_mod_LDFLAGS): Likewise.
35177
35178 * include/grub/bufio.h: New file.
35179
35180 * io/bufio.c: Likewise.
35181
35182 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
35183 (grub_video_reader_png): Use grub_buffile_open to open file.
35184
35185 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
35186 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
35187
35188 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
35189 (grub_video_reader_tga): Use grub_buffile_open to open file.
35190
35191 * font/manager.c: Include <grub/bufio.h>.
35192 (add_font): Use grub_buffile_open to open file.
35193
3d8383e7 351942008-07-31 Robert Millan <rmh@aybabtu.com>
35195
35196 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
35197 ELF segments, use a macro for arbitrarily accessing any of them instead
35198 of preparing a pointer that allows access to one at a time.
35199 (grub_multiboot_load_elf64): Likewise.
35200
16e641b6 352012008-07-31 Bean <bean123ch@gmail.com>
35202
35203 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
35204 GRUB_KERNEL_MACHINE_DATA_END.
35205
59198b72 352062008-07-30 Robert Millan <rmh@aybabtu.com>
35207
35208 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
35209 Increase from 0x50 to 0x60.
35210 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
35211 use UUIDs to identify the root drive for them. If that's not
35212 possible, abort.
35213 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
35214 check, for cross-disk installs.
35215
ae88bca3 352162008-07-30 Robert Millan <rmh@aybabtu.com>
35217
35218 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
35219 is non-empty, use it to set the `prefix' environment variable instead
35220 of the usual approach.
35221 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
35222 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
35223 environment variable instead of dummy make_install_device().
35224
35225 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
35226 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 35227 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 35228
35229 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
35230 New variable reference.
35231 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
35232 New macro. Defines offset of `grub_prefix' within startup.S (relative
35233 to `start').
35234 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
35235 section within startup.S (relative to `start').
35236 * include/grub/i386/coreboot/kernel.h: Likewise.
35237
35238 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
35239 Overwrite grub_prefix with its contents, at the beginning of the
35240 first segment.
35241 (main): Understand -p|--prefix.
35242
14f41dd1 352432008-07-30 Robert Millan <rmh@aybabtu.com>
35244
35245 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
35246
4ca049a3 352472008-07-30 Robert Millan <rmh@aybabtu.com>
35248
35249 * term/i386/pc/vga_text.c (grub_console_cls): Use
35250 grub_console_gotoxy() to go back to beginning of the screen.
35251 Found by Patrick Georgi <patrick.georgi@coresystems.de>
35252
2921d337 352532008-07-29 Christian Franke <franke@computer.org>
35254
35255 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
35256 Add conversion of emulated mount points on Cygwin.
35257
b609876d 352582008-07-29 Christian Franke <franke@computer.org>
35259
35260 * util/update-grub.in: Add a check for admin
35261 group on Cygwin.
35262 Remove old `grub.cfg.new' before creation.
35263 Add `-f' to `mv' to handle the different filesystem
35264 semantics of Windows.
35265
e93e4679 352662008-07-29 Bean <bean123ch@gmail.com>
35267
35268 * normal/main.c (get_line): Fix buffer overflow bug.
35269
41694fd0 352702008-07-28 Robert Millan <rmh@aybabtu.com>
35271
35272 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
35273 (struct grub_apple_header): New struct. Describes the layout of
35274 the partmap header.
35275 (apple_partition_map_iterate): Check the header magic as well as the
35276 partition magic (which was already being checked).
35277
cfd0b4e6 352782008-07-28 Pavel Roskin <proski@gnu.org>
35279
35280 * genmk.rb: Add a warning to the beginning of the output that
35281 it's a generated file and should not be edited.
35282
93cce016 352832008-07-28 Robert Millan <rmh@aybabtu.com>
35284
35285 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
35286 with the same number are found, just use issue a warning with
35287 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 35288
cd1df915 352892008-07-27 Robert Millan <rmh@aybabtu.com>
35290
35291 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
35292 information.
35293
b70a8427 352942008-07-27 Bean <bean123ch@gmail.com>
35295
35296 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
35297 (grub_fat_find_dir): Ignore case when comparing filename.
35298
8f5e379f 352992008-07-27 Bean <bean123ch@gmail.com>
35300
35301 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
35302 smallino, as it's more descriptive, and i8count can be confused with
35303 the other field count.
35304 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
35305 inode type.
35306
a85cd5a0 353072008-07-27 Bean <bean123ch@gmail.com>
35308
35309 * commands/crc.c: New file.
35310
35311 * lib/crc.c: Likewise.
35312
35313 * include/grub/lib/crc.h: Likewise.
35314
35315 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
35316
35317 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
35318 (hexdump): Move this function to ...
35319
35320 * lib/hexdump.c: ... here.
35321
35322 * include/grub/hexdump.h: Renamed to ...
35323
35324 * include/grub/lib/hexdump.h: ... this.
35325
35326 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
35327
35328 * util/grub-editenv.c: Likewise.
35329
35330 * include/envblk.h: Renamed to ...
35331
35332 * include/lib/envblk.h: ... this.
35333
35334 * util/envblk.c: Renamed to ...
35335
35336 * lib/envblk.c: ... this.
35337
35338 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
35339 lib/hexdump.c.
35340 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
35341 (pkglib_MODULES): Add crc.mod.
35342 (hexdump_mod_SOURCES): Add lib/hexdump.c.
35343 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
35344 (crc_mod_SOURCES): New macro.
35345 (crc_mod_CFLAGS): Likewise.
35346 (crc_mod_LDFLAGS): Likewise.
35347
35348 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
35349
35350 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35351
35352 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35353
35354 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35355
35356 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35357
c298def0 353582008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 35359
35360 * commands/help.c: Include <grub/term.h>.
35361 (TERM_WIDTH): Removed. Updated all users.
35362
cc349fb3 353632008-07-27 Pavel Roskin <proski@gnu.org>
35364
35365 * util/getroot.c (find_root_device): Rephrase a comment to avoid
35366 spurious warnings about a comment within a comment.
35367
9051607e 353682008-07-25 Robert Millan <rmh@aybabtu.com>
35369
35370 * util/getroot.c (find_root_device): Skip devices that match
35371 /dev/dm-[0-9]. This lets the real device be found for any type of
35372 abstraction (LVM, EVMS, RAID..).
35373 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
35374 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
35375 device is found first, find_root_device() will now skip it.
35376
01453bfc 353772008-07-24 Pavel Roskin <proski@gnu.org>
35378
35379 * include/grub/types.h: Use __builtin_bswap32() and
35380 __builtin_bswap64() with gcc 4.3 and newer.
35381
6af9849f 353822008-07-24 Christian Franke <franke@computer.org>
35383
3a0fa256 35384 * util/i386/pc/grub-install.in: If `--debug' is specified,
35385 pass `--verbose' to grub-setup.
35386 Abort script if make_system_path_relative_to_its_root() fails.
35387
7810e747 353882008-07-24 Bean <bean123ch@gmail.com>
35389
35390 * configure.ac: Fixed a bug caused by the previous cygwin patch,
35391 variable `target_platform' should be `platform'.
35392
42290e17 353932008-07-24 Bean <bean123ch@gmail.com>
35394
51cc5193 35395 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 35396 (grub_png_init_fixed_block): New function.
35397 (grub_png_decode_image_data): Handle fixed huffman code compression.
35398
2a8a80e4 353992008-07-24 Bean <bean123ch@gmail.com>
35400
35401 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
35402 (grub_pe2elf_SOURCES): New macro.
35403 (CLEANFILES): Add grub-pe2elf.
35404
35405 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
35406 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
35407 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
35408 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
35409 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
35410 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
35411 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
35412 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
35413 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
35414 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
35415 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
35416 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
35417 (GRUB_PE32_DT_FUNCTION): Likewise.
35418 (GRUB_PE32_REL_I386_DIR32): Likewise.
35419 (GRUB_PE32_REL_I386_REL32): Likewise.
35420 (grub_pe32_symbol): New structure.
35421 (grub_pe32_reloc): Likewise.
35422
35423 * util/grub-pe2elf.c: New file.
35424
35425 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
35426 start symbol in non pc platform.
35427
35428 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
35429
35430 The following patches are from Christian Franke.
35431
35432 * include/grub/dl.h: Remove .previous, gas supports this only
35433 for ELF format.
35434
35435 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
35436 Remove .type, gas supports this only for ELF format.
35437
35438 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
35439 nullbytes in symbol table. This fixes an infinite loop if table is
35440 zero filled.
35441
35442 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
35443 TARGET_IMG_LDFLAGS and EXEEXT.
35444
35445 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
35446 TARGET_IMG_LDFLAGS_AC.
35447 (grub_CHECK_STACK_ARG_PROBE): New function.
35448
35449 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
35450
35451 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
35452
35453 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
35454 to set TARGET_IMG_LD* accordingly.
35455 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
35456 Add call to grub_CHECK_STACK_ARG_PROBE.
35457 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
35458
35459 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
35460
35461 * genmk.rb: Add EXEEXT to CLEANFILES.
35462
12ccdb75 354632008-07-23 Robert Millan <rmh@aybabtu.com>
35464
35465 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
35466 define the codes for arrows and lines used for the menu).
35467 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
35468 as well.
35469
35470 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
35471 fonts, because the latter are too slow.
35472
18eeaf04 354732008-07-21 Bean <bean123ch@gmail.com>
35474
35475 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
35476 a20. Run keyboard test last, as it will cause macbook to halt.
35477
b095e2ad 354782008-07-18 Pavel Roskin <proski@gnu.org>
35479
35480 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
35481 load foreign architecture modules correctly anyway. Keep
35482 support for loading host architecture modules, whether we
35483 compile them or not.
35484
737feb35 354852008-07-17 Pavel Roskin <proski@gnu.org>
35486
3f4ce737 35487 * configure.ac: Use -m32 or -m64 regardless of whether we had to
35488 change target_cpu. The compiler default can mismatch target_cpu
35489 in any case.
35490
4ad2d049 35491 * disk/efi/efidisk.c: Fix format warnings on x86_64.
35492 * kern/efi/efi.c: Likewise.
35493
f6130a12 35494 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
35495 target compiler is functional.
35496 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
35497 are set up.
35498
58393a2d 35499 * configure.ac: Default to efi platform for x86_64-apple. Allow
35500 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
35501 adjustments from the rest, only do them if target is not
35502 explicitly given. Merge other adjustments with the final sanity
35503 check. Remove an extraneous check for supported CPU. Be
35504 specific which CPU and which platform is not supported.
35505
737feb35 35506 * configure.ac: Default to pc platform for x86_64.
35507
546f966a 355082008-07-17 Robert Millan <rmh@aybabtu.com>
35509
35510 Partial LinuxBIOS -> Coreboot rename.
35511
35512 * conf/i386-linuxbios.rmk: Renamed to ...
35513 * conf/i386-coreboot.rmk: ... this.
35514 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
35515 * configure.ac: Accept "coreboot" as input platform (but maintain
35516 compatibility with "linuxbios").
35517 * include/grub/i386/linuxbios: Renamed to ...
35518 * include/grub/i386/coreboot: ... this.
35519
20011694 355202008-07-17 Bean <bean123ch@gmail.com>
35521
35522 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 35523 (appleldr_mod_SOURCE): New variable.
20011694 35524 (appleldr_mod_CFLAGS): Likewise.
35525 (appleldr_mod_LDFLAGS): Likewise.
35526 (pci_mod_SOURCES): Likewise.
35527 (pci_mod_CFLAGS): Likewise.
35528 (pci_mod_LDFLAGS): Likewise.
35529 (lspci_mod_SOURCES): Likewise.
35530 (lspci_mod_CFLAGS): Likewise.
35531 (lspci_mod_LDFLAGS): Likewise.
35532
35533 * conf/x86_64-efi.rmk: New file.
35534
35535 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
35536 macro.
35537 (grub_efidisk_write): Likewise.
35538
35539 * include/efi/api.h (efi_call_0): New macro.
35540 (efi_call_1): Likewise.
35541 (efi_call_2): Likewise.
35542 (efi_call_3): Likewise.
35543 (efi_call_4): Likewise.
35544 (efi_call_5): Likewise.
35545 (efi_call_6): Likewise.
35546
35547 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
35548 grub_rescue_cmd_chainloader.
35549
35550 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
35551 (grub_pe32_optional_header): Change some fields based on i386 or
35552 x86_64 platform.
35553 (GRUB_PE32_PE32_MAGIC): Likewise.
35554
35555 * include/grub/efi/uga_draw.h: New file.
35556
35557 * include/grub/elf.h (STN_ABS): New constant.
35558 (R_X86_64_NONE): Relocation constant for x86_64.
35559 (R_X86_64_64): Likewise.
35560 (R_X86_64_PC32): Likewise.
35561 (R_X86_64_GOT32): Likewise.
35562 (R_X86_64_PLT32): Likewise.
35563 (R_X86_64_COPY): Likewise.
35564 (R_X86_64_GLOB_DAT): Likewise.
35565 (R_X86_64_JUMP_SLOT): Likewise.
35566 (R_X86_64_RELATIVE): Likewise.
35567 (R_X86_64_GOTPCREL): Likewise.
35568 (R_X86_64_32): Likewise.
35569 (R_X86_64_32S): Likewise.
35570 (R_X86_64_16): Likewise.
35571 (R_X86_64_PC16): Likewise.
35572 (R_X86_64_8): Likewise.
35573 (R_X86_64_PC8): Likewise.
35574
35575 * include/grub/i386/efi/pci.h: New file.
35576
35577 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
35578 Change it value based on platform.
35579 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
35580 (GRUB_E820_RAM): Likewise.
35581 (GRUB_E820_RESERVED): Likewise.
35582 (GRUB_E820_ACPI): Likewise.
35583 (GRUB_E820_NVS): Likewise.
35584 (GRUB_E820_EXEC_CODE): Likewise.
35585 (GRUB_E820_MAX_ENTRY): Likewise.
35586 (grub_e820_mmap): New structure.
35587 (linux_kernel_header): Change the efi field according to different
35588 kernel version, also field from linux_kernel_header.
35589
35590 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
35591
35592 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
35593 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
35594 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
35595 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
35596 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
35597 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
35598 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
35599 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
35600 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
35601 (GRUB_PCI_ADDR_IO_MASK): Likewise.
35602
35603 * include/grub/x86_64/efi/kernel.h: New file.
35604
35605 * include/grub/x86_64/efi/loader.h: Likewise.
35606
35607 * include/grub/x86_64/efi/machine.h: Likewise.
35608
35609 * include/grub/x86_64/efi/pci.h: Likewise.
35610
35611 * include/grub/x86_64/efi/time.h: Likewise.
35612
35613 * include/grub/x86_64/linux.h: Likewise.
35614
35615 * include/grub/x86_64/setjmp.h: Likewise.
35616
35617 * include/grub/x86_64/time.h: Likewise.
35618
35619 * include/grub/x86_64/types.h: Likewise.
35620
35621 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
35622 GRUB_TARGET_SIZEOF_VOID_P.
35623
35624 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
35625 (grub_efi_locate_handle): Likewise.
35626 (grub_efi_open_protocol): Likewise.
35627 (grub_efi_set_text_mode): Likewise.
35628 (grub_efi_stall): Likewise.
35629 (grub_exit): Likewise.
35630 (grub_reboot): Likewise.
35631 (grub_halt): Likewise.
35632 (grub_efi_exit_boot_services): Likewise.
35633 (grub_get_rtc): Likewise.
35634
35635 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
35636 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
35637 (grub_efi_allocate_pages): Wrap efi calls.
35638 (grub_efi_free_pages): Wrap efi calls.
35639 (grub_efi_get_memory_map): Wrap efi calls.
35640
35641 * kern/x86_64/dl.c: New file.
35642
35643 * kern/x86_64/efi/callwrap.S: Likewise.
35644
35645 * kern/x86_64/efi/startup.S: Likewise.
35646
35647 * loader/efi/appleloader.c: Likewise.
35648
35649 * loader/efi/chainloader.c (cmdline): New variable.
35650 (grub_chainloader_unload): Wrap efi calls.
35651 (grub_chainloader_boot): Likewise.
35652 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
35653 command line.
35654
35655 * loader/efi/chainloader_normal.c (chainloader_command):
35656 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
35657 command line.
35658
35659 * loader/i386/efi/linux.c (allocate_pages): Change allocation
35660 method.
35661 (grub_e820_add_region): New function.
35662 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
35663 booting.
35664 (grub_find_video_card): New function.
35665 (grub_linux_setup_video): New function.
35666 (grub_rescue_cmd_linux): Probe for video information.
35667
35668 * normal/x86_64/setjmp.S: New file.
35669
35670 * term/efi/console.c (map_char): New function.
35671 (grub_console_putchar): Map unicode char.
35672 (grub_console_checkkey): Wrap efi calls.
35673 (grub_console_getkey): Likewise.
35674 (grub_console_getwh): Likewise.
35675 (grub_console_gotoxy): Likewise.
35676 (grub_console_cls): Likewise.
35677 (grub_console_setcolorstate): Likewise.
35678 (grub_console_setcursor): Likewise.
35679
35680 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
35681
59652a20 356822008-07-16 Pavel Roskin <proski@gnu.org>
35683
ef294055 35684 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
35685 format strings.
35686
59652a20 35687 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
35688 pointer, not an integer. This fixes a warning and prevents
35689 precision loss on 64-bit systems.
35690 (relocate_addresses): Remove unneeded cast.
35691
afc3b5d7 356922008-07-15 Pavel Roskin <proski@gnu.org>
35693
506b2b3e 35694 * kern/i386/ieee1275/init.c: Include grub/cache.h.
35695
62ead89c 35696 * term/ieee1275/ofconsole.c: Disable code unused on i386.
35697
c4cd51d7 35698 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
35699 Fix comparison between signed and unsigned.
35700
0d3d8f28 35701 * include/grub/i386/ieee1275/console.h: Declare
35702 grub_console_init() and grub_console_fini().
35703
8804b286 35704 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
35705 It's empty and unused.
35706
ee01cf35 35707 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
35708 beginning to avoid warnings with some compilers.
35709
afc3b5d7 35710 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
35711 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
35712
e4e8eaa5 357132008-07-14 Pavel Roskin <proski@gnu.org>
35714
407aceb4 35715 * kern/env.c (grub_register_variable_hook): Don't copy empty
35716 string, it leaks memory. Pass "" to grub_env_set(), it should
35717 handle constant strings.
35718
e4e8eaa5 35719 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
35720 * commands/cmp.c (grub_cmd_cmp): Likewise.
35721 * kern/dl.c (grub_dl_flush_cache): Likewise.
35722 (grub_dl_load_core): Likewise.
35723 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
35724 (grub_elf64_load_phdrs): Likewise.
35725
d4e2dad3 357262008-07-13 Pavel Roskin <proski@gnu.org>
35727
35728 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
35729 between signed and unsigned.
35730 (LzmaEnc_Finish): Fix warning about an unused parameter.
35731
aa24b516 357322008-07-13 Bean <bean123ch@gmail.com>
35733
35734 * Makefile.in (enable_lzo): New rule.
35735
35736 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
35737
35738 * configure.ac (ENABLE_LZO): New option --enable-lzo.
35739
35740 * boot/i386/pc/lnxboot.S: #include <config.h>.
35741
35742 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 35743 its value according to the compression algorithm used, lzo or lzma.
aa24b516 35744
35745 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
35746 compression algorithm according to configure macro.
35747
35748 * kern/i386/pc/startup.S (codestart): Likewise.
35749
35750 * kern/i386/pc/lzma_decode.S: New file.
35751
35752 * include/grub/lib/LzFind.h: Likewise.
35753
35754 * include/grub/lib/LzHash.h: Likewise.
35755
35756 * include/grub/lib/LzmaDec.h: Likewise.
35757
35758 * include/grub/lib/LzmaEnc.h: Likewise.
35759
35760 * include/grub/lib/LzmaTypes.h: Likewise.
35761
35762 * lib/LzFind.c: Likewise.
35763
35764 * lib/LzmaDec.c: Likewise.
35765
35766 * lib/LzmaEnc.c: Likewise.
35767
4ae821ac 357682008-07-13 Bean <bean123ch@gmail.com>
35769
35770 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
35771 (grub_ext4_extent_header): New structure.
35772 (grub_ext4_extent): Likewise.
35773 (grub_ext4_extent_idx): Likewise.
35774 (grub_ext4_find_leaf): New function.
35775 (grub_ext2_read_block): Handle extents.
35776
9a745147 357772008-07-12 Robert Millan <rmh@aybabtu.com>
35778
35779 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
35780
d49a4cf6 357812008-07-11 Robert Millan <rmh@aybabtu.com>
35782
35783 * util/grub.d/40_custom.in: New file. Example on how to add custom
35784 entries to /etc/grub.d.
35785 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
35786 40_custom (implicitly, by merging all the grub.d rules).
35787
947414b4 357882008-07-11 Pavel Roskin <proski@gnu.org>
35789
0059cf6f 35790 * commands/read.c (grub_getline): Fix invalid memory access.
35791 Don't add newline to the variable value.
35792
947414b4 35793 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
35794 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
35795 (serial_hw_get_port): Check validity of the port number.
35796 (grub_cmd_serial): Check return value of serial_hw_get_port().
35797
62a02d00 357982008-07-07 Pavel Roskin <proski@gnu.org>
35799
35800 * boot/i386/pc/diskboot.S (notification_string): Replace
35801 "Loading kernel" with just "loading". This is shorter, less
35802 confusing and saves a few bytes for possible future changes.
35803
3e5581b0 358042008-07-05 Pavel Roskin <proski@gnu.org>
35805
ea387a48 35806 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
35807 size for ATAPI devices, they are undefined. Output sector
35808 number in decimal form.
35809
3e5581b0 35810 * disk/ata.c: Use named constants for status bits.
35811
fdecb8fd 358122008-07-04 Pavel Roskin <proski@gnu.org>
35813
bcd35b90 35814 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
35815 grub_addr_t before casting it to the void pointer to fix a
35816 warning. Non-addressable regions are discarded earlier.
35817 (grub_arch_modules_addr): Cast _end to grub_addr_t.
35818 * kern/i386/linuxbios/table.c: Include grub/misc.h.
35819 (check_signature): Don't shadow table_header.
35820 (grub_linuxbios_table_iterate): Cast numeric constants to
35821 grub_linuxbios_table_header_t.
35822 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
35823 grub_stop().
35824
af58ab3d 35825 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
35826 prevent warnings.
35827
1759aa57 35828 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
35829 pointer, which can cause warnings. Support 64-bit addresses.
35830
fdecb8fd 35831 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
35832 of sizeof(long). This fixes PowerPC image generation on x86_64.
35833
8516d2a8 358342008-07-04 Robert Millan <rmh@aybabtu.com>
35835
35836 This fixes a performance issue when pc & gpt partmap iterators
35837 didn't abort iteration even after our hook found what it was
fe987087 35838 looking for (often causing expensive probes of non-existent drives).
8516d2a8 35839
35840 Some callers relied on previous buggy behaviour, since they would
34c44600 35841 raise an error when their own hooks caused early abortion of its
8516d2a8 35842 iteration.
35843
35844 * kern/device.c (grub_device_open): Improve error message.
35845 * disk/lvm.c (grub_lvm_open): Likewise.
35846 * disk/raid.c (grub_raid_open): Likewise.
35847
35848 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
35849 when hook requests it, independently of grub_errno.
35850 (pc_partition_map_probe): Do not fail when find_func() caused
35851 early abortion of pc_partition_map_iterate().
35852
35853 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
35854 when hook requests it, independently of grub_errno.
35855 (gpt_partition_map_probe): Do not fail when find_func() caused
35856 early abortion of gpt_partition_map_iterate().
35857
35858 * kern/partition.c (grub_partition_iterate): Abort parent iteration
35859 when hook requests it, independently of grub_errno. Do not fail when
35860 part_map_iterate_hook() caused early abortion of p->iterate().
35861
35862 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
35863 when grub_partition_iterate() returned with non-zero.
35864
277d0de9 358652008-07-03 Pavel Roskin <proski@gnu.org>
35866
35867 * disk/ata.c (grub_ata_pio_write): Check status before writing,
35868 like we do in grub_ata_pio_read().
35869 (grub_ata_readwrite): Always write individual sectors. Fix the
35870 sector count for the remainder.
35871 (grub_ata_write): Enable writing to ATA devices. Correctly
35872 report error for ATAPI devices.
35873
d4c9b428 358742008-07-02 Pavel Roskin <proski@gnu.org>
35875
e43fc690 35876 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
35877 warning.
35878
f707af42 35879 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
35880 for every read sector, we already increment it for the whole
35881 batch. This fixes reading more than 256 sectors at once.
35882
11e16b15 35883 * util/grub-editenv.c (cmd_info): Cast argument to long
35884 explicitly. ptrdiff_t reduces to int on i386.
35885
cbabfdd4 35886 * util/grub-editenv.c (main): Be specific which parameter is
35887 missing.
35888
b8fbce0a 35889 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
35890 (memdisk): Make memdisk_orig_addr a pointer.
35891
c9c8e606 35892 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
35893 for file offsets, use grub_off_t instead. Fix printf format
35894 warnings.
35895
ca62e598 35896 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
35897 there. Real unexpected warnings should not drown in the noise
35898 about known problems.
35899
ce8d1766 35900 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
35901 grub_disk_addr_t for memory addresses.
35902
00c7a56a 35903 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
35904 explicitly to fix a warning.
35905
08d3ef09 35906 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
35907
cb71ba20 35908 * Makefile.in (MODULE_LDFLAGS): New variable.
35909 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
35910 the linker accepts --build-id=none.
35911 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
35912 MODULE_LDFLAGS.
35913 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
35914
d4c9b428 35915 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
35916 those in Linux XFS code. Provide a way to access 64-bit parent
35917 inode.
35918 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
35919 the end of struct grub_xfs_dir_header.
35920
d4156eee 359212008-07-02 Bean <bean123ch@gmail.com>
35922
35923 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
35924 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
35925 and GRUB_IEEE1275_FLAG_NO_ANSI.
35926
35927 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
35928 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
35929 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
35930
35931 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
35932 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
35933
35934 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
35935 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
35936
35937 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
35938 esc sequence on non ANSI terminal.
35939 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
35940
35941 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
35942 beginning of file.
35943
2270f77b 359442008-07-02 Bean <bean123ch@gmail.com>
35945
35946 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
35947 (grub_editenv_SOURCES): New variable.
35948 (pkglib_MODULES): Add loadenv.mod.
35949 (loadenv_mod_SOURCES): New variable.
35950 (loadenv_mod_CFLAGS): Likewise.
35951 (loadenv_mod_LDFLAGS): Likewise.
35952
35953 * include/grub/envblk.h: New file.
35954
35955 * util/envblk.c: New file.
35956
35957 * util/grub-editenv.c: New file.
35958
35959 * commands/loadenv.c: New file.
35960
0e9e51ec 359612008-07-01 Pavel Roskin <proski@gnu.org>
35962
d89b7634 35963 * include/multiboot2.h (struct multiboot_tag_module): Use char,
35964 not unsigned char. This fixes warnings and is consistent with
35965 other tags.
35966
bf1835b1 35967 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
35968
8222a04b 35969 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
35970
6a42d99d 35971 * term/tparm.c (analyze): Always set *popcount.
35972
10b159d1 35973 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
35974 cast to fix a warning.
35975
b8789f6c 35976 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
35977 cast to suppress a warning.
35978
29d7e38a 35979 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
35980 grub_fshelp_read_file() expects.
35981
f341f669 35982 * fs/fat.c: Fix UUID calculation on big-endian systems. We
35983 write uuid as a 32-bit value in CPU byte order, so declare and
35984 use it as such.
35985
0e9e51ec 35986 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
35987 long if the format specifier expects it.
35988 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
35989 * partmap/pc.c (pc_partition_map_iterate): Likewise.
35990 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
35991 long to fix a warning.
35992 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
35993 grub_dprintf() arguments to fix warnings.
35994
3aefa857 359952008-06-30 Pavel Roskin <proski@gnu.org>
35996
56c7668b 35997 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
35998 install_bsd_part immediately before core.img is embedded or
35999 modified on disk. This fixes core.img verification if core.img
36000 cannot be embedded.
36001
3aefa857 36002 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
36003 core_path to calculate the blocklist.
36004 Patch from Javier Martín <lordhabbit@gmail.com>
36005
5444088d 360062008-06-29 Robert Millan <rmh@aybabtu.com>
36007
36008 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
36009 block to disk block.
36010 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
36011 Patch from Niels Böhm <bitbucket@arcor.de>
36012
674835c8 360132008-06-29 Robert Millan <rmh@aybabtu.com>
36014
36015 * util/update-grub_lib.in (font_path): Search for fonts in
36016 /boot/grub first, which is more likely to be readable (we aren't
36017 deciding where fonts live, just looking for them).
36018
f527dbc8 360192008-06-26 Pavel Roskin <proski@gnu.org>
36020
6c2d8df6 36021 * util/biosdisk.c (read_device_map): Don't leave dead map
36022 entries for devices failing stat() check.
36023
f527dbc8 36024 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
36025 core_path_dev for the core.img path on the target device.
36026
aebe3d13 360272008-06-26 Robert Millan <rmh@aybabtu.com>
36028
36029 * disk/fs_uuid.c: New file.
36030 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
36031 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
36032 (fs_uuid_mod_LDFLAGS): New variables.
36033 * include/grub/disk.h (grub_disk_dev_id): Add
36034 `GRUB_DISK_DEVICE_UUID_ID'.
36035 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
36036 implement iterate().
36037
37aaf354 360382008-06-26 Robert Millan <rmh@aybabtu.com>
36039
36040 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
36041 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
36042 Linux image includes no initrd.
36043
25ff262a 360442008-06-21 Javier Martín <lordhabbit@gmail.com>
36045
36046 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
36047 call to resolve the core image location that effectively appended the
36048 name twice.
36049
76a2bd44 360502008-06-21 Robert Millan <rmh@aybabtu.com>
36051
36052 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
36053 call from here ...
36054
36055 * util/grub.d/10_hurd.in: ... to here ...
36056 * util/grub.d/10_linux.in: ... and here.
36057
650e1c79 360582008-06-19 Robert Millan <rmh@aybabtu.com>
36059
fe987087 36060 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 36061 after it has been set by grub_machine_set_prefix().
36062
6ce63911 360632008-06-19 Robert Millan <rmh@aybabtu.com>
36064
36065 * commands/search.c (search_label, search_fs_uuid, search_file): Print
36066 search result when not saving to variable, not the other way around.
36067 When saving to variable, abort iteration as soon as a match is found.
36068
73940cec 360692008-06-19 Robert Millan <rmh@aybabtu.com>
36070
36071 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
36072 check for partition that provides /boot/grub. Its logic is flawed,
36073 as it prevents prepare_grub_to_access_device() from being called
36074 multiple times.
36075
3c62a39d 360762008-06-19 Robert Millan <rmh@aybabtu.com>
36077
36078 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
36079 "insmod" command directly when abstraction modules are needed,
fe987087 36080 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 36081 since it had already been processed).
36082
47395a42 360832008-06-19 Pavel Roskin <proski@gnu.org>
36084
36085 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
36086 changed. This is needed in case GRUB_LIBDIR changes.
36087 * conf/i386-ieee1275.rmk: Likewise.
36088 * conf/i386-linuxbios.rmk: Likewise.
36089 * conf/i386-pc.rmk: Likewise.
36090 * conf/powerpc-ieee1275.rmk: Likewise.
36091
a145ac2d 360922008-06-18 Pavel Roskin <proski@gnu.org>
36093
36094 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
36095 kernel_elf_symlist.c to symlist.c for consistency with other
36096 architectures. Update all users.
36097 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
36098
7847c51e 360992008-06-18 Robert Millan <rmh@aybabtu.com>
36100
36101 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
36102 it in prefix.
36103
36104 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
36105 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
36106 a RAID device, run setup() for all members independently on whether
36107 LVM abstraction is being used.
36108 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
36109 If grub-mkimage has set `*install_dos_part == -2', don't override this
36110 value.
36111 Perform *install_dos_part adjustments independently on whether
36112 we're embedding or not.
36113 Clarify error message when image is too big for embedding.
36114 Remove duplicate *install_dos_part stanza.
36115
b23e5644 361162008-06-17 Robert Millan <rmh@aybabtu.com>
36117
36118 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
36119 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
36120 variables.
36121 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
36122 values in grub_ofconsole_normal_color and
36123 grub_ofconsole_highlight_color (they're not directly related to
36124 background and foreground).
36125 (grub_ofconsole_setcolorstate): Extract background and foreground
36126 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
36127
0aac2f79 361282008-06-17 Robert Millan <rmh@aybabtu.com>
36129
36130 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
36131 /boot/grub for the check in last commit, not /boot (they could be
36132 different partitions).
36133
3cca7ef3 361342008-06-16 Robert Millan <rmh@aybabtu.com>
36135
36136 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
36137 asked to setup access for the same partition that provides /boot,
36138 don't bother using UUIDs since our root already has the value we
36139 want.
36140
347396d8 361412008-06-16 Robert Millan <rmh@aybabtu.com>
36142
36143 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
36144 I2O devices.
36145 Patch from Sven Mueller <sven@debian.org>.
36146
991477f8 361472008-06-16 Robert Millan <rmh@aybabtu.com>
36148
36149 * util/update-grub.in: Check for $EUID instead of $UID.
36150 Reported by Vincent Zweije.
36151
d31a32a1 361522008-06-16 Bean <bean123ch@gmail.com>
36153
fe987087 36154 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 36155 (grub_ext2_read_block): Likewise.
36156 (grub_ext2_read_inode): Likewise.
36157 (grub_ext2_mount): Likewise.
36158 (grub_ext2_close): Likewise.
36159 (grub_ext3_get_journal): Removed.
36160
fe987087 36161 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 36162 (grub_reiserfs_read_symlink): Likewise.
36163 (grub_reiserfs_mount): Likewise.
36164 (grub_reiserfs_open): Likewise.
36165 (grub_reiserfs_read): Likewise.
36166 (grub_reiserfs_close): Likewise.
36167 (grub_reiserfs_get_journal): Removed.
36168
36169 * fs/fshelp.c (grub_fshelp_read): Removed.
36170 (grub_fshelp_map_block): Likewise.
36171
36172 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
36173 (grub_fshelp_journal): Likewise.
36174 (grub_fshelp_read): Likewise.
36175 (grub_fshelp_map_block): Likewise.
36176
3540a760 361772008-06-16 Pavel Roskin <proski@gnu.org>
36178
36179 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
36180 floating point anymore.
36181 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
36182
95614c84 361832008-06-15 Pavel Roskin <proski@gnu.org>
36184
36185 * commands/ls.c (grub_ls_list_files): Use integer calculations
36186 for human readable format, avoid floating point use.
36187 * kern/misc.c (grub_ftoa): Remove.
36188 (grub_vsprintf): Remove floating point support.
36189
50465dd6 361902008-06-15 Robert Millan <rmh@aybabtu.com>
36191
fe6b695a 36192 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 36193 devices.
36194 Reported by Max Vozeler.
36195
a9207284 361962008-06-15 Robert Millan <rmh@aybabtu.com>
36197
36198 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
36199 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
36200 skipped later.
36201 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
36202 the beginning of the prefix.
36203
36204 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
36205 It is assumed that if we have a memdisk, grub-mkimage has set
36206 grub_prefix to include the "(memdisk)" drive in it.
36207
a7cbd45a 362082008-06-15 Robert Millan <rmh@aybabtu.com>
36209
36210 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
36211 Initialize keyboard controller after registering the terminal, so that
36212 grub_printf() can be called from grub_keyboard_controller_init().
36213
21cf716a 362142008-06-15 Robert Millan <rmh@aybabtu.com>
36215
36216 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
36217 extent-btree which is written as big endian on disk.
36218 Reported by Alain Greppin <al@chilibi.org>.
36219
23a64d8e 362202008-06-14 Robert Millan <rmh@aybabtu.com>
36221
36222 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
36223 * util/i386/pc/grub-install.in (modules): Likewise.
36224
d687651c 362252008-06-13 Pavel Roskin <proski@gnu.org>
36226
36227 * commands/ls.c (grub_ls_list_files): Fix format warnings.
36228
dfe9ddd4 362292008-06-13 Bean <bean123ch@gmail.com>
36230
36231 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
36232
36233 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
36234
36235 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
36236 to indicate sparse block.
36237
16ae7781 362382008-06-12 Pavel Roskin <proski@gnu.org>
36239
e6d1a308 36240 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
36241 number, grub_fshelp_read() does it for us.
36242
16ae7781 36243 * fs/fshelp.c (grub_fshelp_read): New function. Implement
36244 linear disk read with journal translation.
36245 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
36246 * include/grub/fshelp.h: Declare grub_fshelp_read().
36247
40fd3a2b 362482008-06-09 Pavel Roskin <proski@gnu.org>
36249
36250 * fs/minix.c (grub_minix_mount): Handle error reading
36251 superblock.
36252
f5679726 362532008-06-08 Robert Millan <rmh@aybabtu.com>
36254
36255 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
36256 don't append the RAID prefix afterwards.
36257 Reported by Clint Adams.
36258
ce525529 362592008-06-08 Robert Millan <rmh@aybabtu.com>
36260
36261 Based on description from Pavel:
36262 * kern/disk.c (grub_disk_check_range): Rename to ...
36263 (grub_disk_adjust_range): ... this. Add a comment explaining the
36264 tasks performed by this function.
36265
ad4936a0 362662008-06-08 Robert Millan <rmh@aybabtu.com>
36267
36268 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
36269 `num_serial' (for consistency with other variables).
36270 (struct grub_ntfs_data): Add `uuid' member.
36271 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
36272 (grub_ntfs_uuid): New function.
36273 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
36274
dc20b0f9 362752008-06-07 Pavel Roskin <proski@gnu.org>
36276
36277 * util/biosdisk.c (open_device): Revert last change to the
36278 function, it broke installation. The sector needs to be
36279 different dependent on which device is opened.
36280
c5e3cfba 362812008-06-06 Robert Millan <rmh@aybabtu.com>
36282
36283 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
36284 rest of GRUB, and breakage doesn't happen if its value were modified.
36285
36286 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
36287 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
36288 a constant (same value).
36289 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
36290 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
36291
26a1f8c4 362922008-06-06 Robert Millan <rmh@aybabtu.com>
36293
36294 * util/biosdisk.c (open_device): Do not modify sector offset when
36295 accessing a partition. kern/disk.c already handles this for us.
36296
25d6b327 362972008-06-06 Robert Millan <rmh@aybabtu.com>
36298
36299 * util/grub-emu.c (grub_machine_init): Move code in this function from
36300 here ...
36301 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
36302 segfault in case grub_printf() is called).
36303
36304 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
36305 grub_probe. Update all users not to explicitly add it again.
36306 (grub_device): New variable; contains corresponding device for grubdir.
36307 (fs_module, partmap_module, devabstraction_module): Pass
36308 `--device ${grub_device}' to grub_probe to avoid traversing /dev
36309 every time.
36310
9ece62fb 363112008-06-05 Robert Millan <rmh@aybabtu.com>
36312
36313 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
36314 is found, print it (same layout as with labels).
36315
1ad36d37 363162008-06-04 Robert Millan <rmh@aybabtu.com>
36317
36318 * util/biosdisk.c (get_drive): Rename to ...
36319 (find_grub_drive): ... this. Update all users.
36320
36321 (get_os_disk): Rename to ...
36322 (convert_system_partition_to_system_disk): ... this. Update all users.
36323
36324 (find_drive): Rename to ...
36325 (find_system_device): ... this. Update all users.
36326
e6a30859 363272008-06-04 Robert Millan <rmh@aybabtu.com>
36328
36329 * util/biosdisk.c (get_os_disk): Handle IDA devices.
36330 * util/grub-mkdevicemap.c (get_mmc_disk_name)
36331 (make_device_map): Likewise.
36332
00c108a4 363332008-06-01 Robert Millan <rmh@aybabtu.com>
36334
36335 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
36336 before dereferencing it.
36337
36338 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
36339 union with fat12/fat16-specific ones. Add some new fields, including
36340 `num_serial' for both versions.
36341 (struct grub_fat_data): Add `uuid' member.
36342 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
36343 names. Initialize `data->uuid' using `num_serial'.
36344 (grub_fat_uuid): New function.
36345 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
36346
36347 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
36348 (grub_reiserfs_uuid): New function.
36349 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
36350 member.
36351
36352 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
36353 (grub_xfs_uuid): New function.
36354 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
36355
1385c5bb 363562008-06-01 Robert Millan <rmh@aybabtu.com>
36357
36358 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
36359 code that is backward compatible with pre-uuid search command.
36360
c682dfd7 363612008-05-31 Robert Millan <rmh@aybabtu.com>
36362
36363 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
36364 floppies after everything else, to ensure floppy drive isn't accessed
36365 unnecessarily (patch from Bean).
36366
b7db5d47 363672008-05-31 Robert Millan <rmh@aybabtu.com>
36368
36369 * commands/search.c (search_label, search_fs_uuid, search_file): Do
36370 not print device names when we were asked to set a variable.
36371
6e037aa9 363722008-05-31 Robert Millan <rmh@aybabtu.com>
36373
36374 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
36375 using "cursor-on" and "cursor-off" commands (understood at least by
36376 the Open Firmware flavour on OLPC).
36377
41305bc8 363782008-05-31 Michael Gorven <michael@gorven.za.net>
36379
36380 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
36381 on and off sequences.
36382
69ba137e 363832008-05-31 Robert Millan <rmh@aybabtu.com>
36384
36385 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
36386 * util/update-grub.in: Likewise.
36387
520ae21b 363882008-05-30 Pavel Roskin <proski@gnu.org>
36389
36390 * util/biosdisk.c (linux_find_partition): Simplify logic and
36391 make the code more universal. Keep special processing for
36392 devfs, but use a simple rule for all other devices. If the
36393 device ends with a number, append 'p' and the partition number.
36394 Otherwise, append only the partition number.
36395
5786569b 363962008-05-30 Robert Millan <rmh@aybabtu.com>
36397
36398 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
36399 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
36400 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
36401 the `root' parameter to Linux.
36402
51500452 364032008-05-30 Robert Millan <rmh@aybabtu.com>
36404
36405 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
36406 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
36407 --fs_uuid with --fs-uuid.
36408 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
36409 all filesystems support them).
36410
811d3878 364112008-05-30 Robert Millan <rmh@aybabtu.com>
36412
36413 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 36414 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 36415
cab63c95 364162008-05-30 Robert Millan <rmh@aybabtu.com>
36417
36418 * util/grub.d/00_header.in: Remove obsolete comment referencing
36419 convert_system_path_to_grub_path().
36420 * util/update-grub.in: Likewise.
36421 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
36422 (convert_system_path_to_grub_path): Add a warning message explaining
36423 that this function is deprecated. Rely on is_path_readable_by_grub()
36424 for the readability checks.
36425 (font_path): Use is_path_readable_by_grub() for the readability
36426 check rather than convert_system_path_to_grub_path().
36427
972e2f7a 364282008-05-30 Robert Millan <rmh@aybabtu.com>
36429
36430 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
36431 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
36432 converting it first.
36433 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
36434 grub.cfg for access to font file, and afterwards call it again to set
36435 the root device.
36436
62191274 364372008-05-30 Robert Millan <rmh@aybabtu.com>
36438
36439 * commands/search.c (options): Add --fs_uuid option.
36440 (search_fs_uuid): New function.
36441 (grub_cmd_search): Fix --set argument passing.
36442 Use search_fs_uuid() when requested via --fs_uuid.
36443 (grub_search_init): Update help message.
36444 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
36445 and redeclare it as an array of 16-bit words.
36446 (grub_ext2_uuid): New function.
36447 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
36448 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
36449 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
36450 (GRUB_DEVICE_BOOT_UUID): New variables.
36451 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
36452 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
36453 whenever possible.
36454 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
36455 just assume `root' variable has the right value.
36456 * util/grub.d/10_linux.in: Likewise.
36457 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
36458 via PRINT_FS_UUID.
36459 (main): Recognise `-t fs_uuid' argument.
36460
01b73ec8 364612008-05-30 Robert Millan <rmh@aybabtu.com>
36462
36463 * util/biosdisk.c (map): Redefine structure to hold information
36464 about GRUB drive name.
fe6b695a 36465 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 36466 drive names.
36467 (call_hook): Remove.
36468 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
36469 member. Assume drive has partitions.
36470 (grub_util_biosdisk_open): Access device names via `.device' struct
36471 member.
36472 (open_device): Likewise.
36473 (find_drive): Likewise.
36474 (read_device_map): Adjust map[] usage to match the new struct
36475 definition. Don't check for duplicates (still possible, but not cheap
36476 anymore).
36477 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
36478 (make_device_name): Remove assumption of BIOS-like drive names.
36479
22f16596 364802008-05-30 Pavel Roskin <proski@gnu.org>
36481
36482 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
36483 compiling execute.c doesn't need grub_script.tab.h anymore.
36484 (normal/command.c_DEPENDENCIES): Likewise.
36485 (normal/function.c_DEPENDENCIES): Likewise.
36486 * conf/i386-ieee1275.rmk: Likewise.
36487 * conf/i386-linuxbios.rmk: Likewise.
36488 * conf/i386-pc.rmk: Likewise.
36489 * conf/powerpc-ieee1275.rmk: Likewise.
36490 * conf/sparc64-ieee1275.rmk: Likewise.
36491
528ad8f2 364922008-05-29 Pavel Roskin <proski@gnu.org>
36493
d1dff95d 36494 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
36495 when scanning metadata for volume group name.
36496
528ad8f2 36497 * include/grub/script.h: Don't include grub_script.tab.h. It's
36498 a generated file, which may only be included from the files with
36499 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
36500 use union YYSTYPE, as the later allows forward declaration.
36501 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
36502
47248e08 365032008-05-29 Robert Millan <rmh@aybabtu.com>
36504
36505 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
36506 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
36507 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
36508 (grub_console_checkkey): Add grub_dprintf() call to report unknown
36509 scan codes.
36510
ee632529 365112008-05-29 Robert Millan <rmh@aybabtu.com>
36512
36513 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
36514 control key combinations.
36515
eee96e08 365162008-05-29 Robert Millan <rmh@aybabtu.com>
36517
36518 * util/powerpc/ieee1275/grub-install.in: Move from here ...
36519 * util/ieee1275/grub-install.in: ... to here.
36520 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
36521 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
36522 (grub_install_SOURCES): Likewise.
36523
da9a6a94 365242008-05-29 Robert Millan <rmh@aybabtu.com>
36525
36526 * fs/affs.c: Update copyright year.
36527 * fs/ext2.c: Likewise.
36528 * fs/fshelp.c: Likewise.
36529 * fs/hfsplus.c: Likewise.
36530 * fs/ntfs.c: Likewise.
36531 * fs/xfs.c: Likewise.
36532 * include/grub/fshelp.h: Likewise.
36533 * util/grub-mkdevicemap.c: Likewise.
36534
12e65f3a 365352008-05-28 Robert Millan <rmh@aybabtu.com>
36536
36537 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
36538 might need to be fatfs to support some firmware implementations
36539 (e.g. OFW or EFI).
36540
23023641 365412008-05-28 Robert Millan <rmh@aybabtu.com>
36542
36543 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
36544 devices.
36545 * util/grub-mkdevicemap.c (get_mmc_disk_name)
36546 (make_device_map): Likewise.
36547
887d2619 365482008-05-20 Bean <bean123ch@gmail.com>
36549
36550 * fs/fshelp.c (grub_fshelp_map_block): New function.
36551 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
36552 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
36553
36554 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
36555 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
36556 (grub_fshelp_journal): New structure.
36557 (grub_fshelp_map_block): New function prototype.
36558 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
36559 (grub_fshelp_map_block): Likewise.
36560
36561 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
36562 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
36563 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
36564 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
36565 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
36566 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
36567 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
36568 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
36569 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
36570 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
36571 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
36572 (grub_ext2_sblock): New members for journal support.
36573 (grub_ext3_journal_header): New structure.
36574 (grub_ext3_journal_revoke_header): Likewise.
36575 (grub_ext3_journal_block_tag): Likewise.
36576 (grub_ext3_journal_sblock): Likewise.
36577 (grub_fshelp_node): New members logfile and journal.
36578 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
36579 grub_fshelp_map_block to get real block number.
36580 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
36581 number.
36582 (grub_ext2_read_inode): Likewise.
36583 (grub_ext3_get_journal): New function.
36584 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
36585 (grub_ext2_close): Release memory used by journal.
36586
36587 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
36588 (REISERFS_MAGIC_DESC_BLOCK): New macro.
36589 (grub_reiserfs_transaction_header): Renamed to
36590 grub_reiserfs_description_block, replace field data with real_blocks.
36591 (grub_reiserfs_commit_block): New structure.
36592 (grub_reiserfs_data): New member journal.
36593 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
36594 number.
36595 (grub_reiserfs_read_symlink): Likewise.
36596 (grub_reiserfs_iterate_dir): Likewise.
36597 (grub_reiserfs_open): Likewise.
36598 (grub_reiserfs_read): Likewise.
36599 (grub_reiserfs_get_journal): New function.
36600 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
36601 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
36602 using grub_reiserfs_get_journal.
36603 (grub_reiserfs_close): Release memory used by journal.
36604
36605 * fs/affs.c (grub_affs_read_block): Change block type to
36606 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
36607
36608 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
36609
36610 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
36611
36612 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
36613
36614 * fs/udf.c (grub_udf_read_block): Change block type to
36615 grub_disk_addr_t. Use type cast to avoid warning.
36616
36617 * fs/xfs.c (grub_xfs_read_block): Likewise.
36618
b7c6bed5 366192008-05-16 Christian Franke <franke@computer.org>
36620
36621 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
36622 to ensure that break with ESC will always work.
36623 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
36624 Remove ESC from keyboard queue.
36625
eedf167f 366262008-05-16 Christian Franke <franke@computer.org>
36627
36628 * util/biosdisk.c: [__CYGWIN__] Add includes.
36629 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
36630 (get_os_disk): Move variable declarations to OS specific
36631 parts to avoid warning.
36632 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
36633 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
36634 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
36635 Cygwin.
36636 * util/getroot.c: [__CYGWIN__] Add includes.
36637 (strip_extra_slashes): Fix "/" case.
36638 [__CYGWIN__] (get_win32_path): New function.
36639 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
36640 [__CYGWIN__] (find_root_device): Disable.
36641 [__CYGWIN__] (get_bootsec_serial): New function.
36642 [__CYGWIN__] (find_cygwin_root_device): Likewise.
36643 [__linux__] (grub_guess_root_device): Add early returns to simplify
36644 structure.
36645 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
36646 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
36647 check for Linux only.
36648
a079699e 366492008-05-15 Bean <bean123ch@gmail.com>
36650
36651 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
36652 keyboard hang problem in apple's intel mac.
36653
1cf4059a 366542008-05-09 Robert Millan <rmh@aybabtu.com>
36655
36656 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
36657 devices.
36658 * util/grub-mkdevicemap.c (get_virtio_disk_name)
36659 (make_device_map): Likewise.
36660 Reported by Aurelien Jarno <aurel32@debian.org>
36661
ed759390 366622008-05-07 Ian Campbell <ijc@hellion.org.uk>
36663
36664 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
36665 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
36666 (make_device_map): Output entries for xvd type disks.
36667
b56c4eaa 366682008-05-07 Robert Millan <rmh@aybabtu.com>
36669
36670 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
36671 devices.
36672 * util/grub-mkdevicemap.c (get_cciss_disk_name)
36673 (make_device_map): Likewise.
36674 Reported by Roland Dreier <rdreier@cisco.com>
36675
7f8866ed 366762008-05-07 Robert Millan <rmh@aybabtu.com>
36677
36678 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
36679 grub_strstr() call. Correct a few mistakes in failure path handling.
36680
b0346e0f 366812008-05-06 Robert Millan <rmh@aybabtu.com>
36682
36683 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
36684 Do not print a trailing slash (therefore, the root directory is an
36685 empty string).
36686 (convert_system_path_to_grub_path): Do not remove trailing slash
36687 from make_system_path_relative_to_its_root() output.
36688
36689 * util/i386/pc/grub-install.in: Add trailing slash to output from
36690 make_system_path_relative_to_its_root().
36691
6cf12cbd 366922008-05-06 Robert Millan <rmh@aybabtu.com>
36693
36694 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
36695 ensures that output lines aren't intermangled with those sent to
36696 stderr (via grub_util_info()).
36697 * util/grub-probe.c (grub_refresh): Likewise.
36698 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
36699
0fbb3117 367002008-05-05 Christian Franke <franke@computer.org>
36701
36702 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
36703 Add Cygwin device names.
36704 (get_ide_disk_name) [__CYGWIN__]: Likewise.
36705 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
36706 (check_device): Return error instead of success on empty name.
36707 (make_device_map): Move label inside linux specific code to
36708 prevent compiler warning.
36709
8124cdb7 367102008-04-30 Robert Millan <rmh@aybabtu.com>
36711
36712 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
36713 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
36714 first boot option.
36715 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
36716
094c01d0 367172008-04-29 Robert Millan <rmh@aybabtu.com>
36718
36719 * docs/grub.cfg: New file (example GRUB configuration).
36720
f4b1fc02 367212008-04-26 Robert Millan <rmh@aybabtu.com>
36722
329ce2a5 36723 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
36724 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
36725 and `disk/ieee1275/nand.c'.
f4b1fc02 36726
25f16ec1 367272008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 36728
25f16ec1 36729 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
36730 i386-linuxbios.
36731
36732 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
36733 change the buffer size to 4096 for cdrom device.
36734
36735 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
36736 and nand.mod.
36737 (_linux_mod_SOURCES): New variable.
36738 (_linux_mod_CFLAGS): Likewise.
36739 (_linux_mod_LDFLAGS): Likewise.
36740 (linux_mod_SOURCES): Likewise.
36741 (linux_mod_CFLAGS): Likewise.
36742 (linux_mod_LDFLAGS): Likewise.
36743 (nand_mod_SOURCES): Likewise.
36744 (nand_mod_CFLAGS): Likewise.
36745 (nand_mod_LDFLAGS): Likewise.
36746
36747 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
36748 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
36749 type property. (nand device in olpc don't have this property)
36750
36751 * include/grub/disk.h (grub_disk_dev_id): New macro
36752 GRUB_DISK_DEVICE_NAND_ID.
36753
36754 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
36755 function prototype.
36756 (grub_rescue_cmd_initrd): Likewise.
36757
36758 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
36759 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
36760 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 36761
25f16ec1 36762 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
36763 GRUB_MACHINE_IEEE1275 is defined.
36764
36765 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
36766 Use NESTED_FUNC_ATTR attribute on the hook parameter.
36767
36768 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
36769 on nested function heap_init.
36770 (grub_upper_mem): New variable for i386-ieee1275.
36771 (grub_get_extended_memory): New function for i386-ieee1275.
36772 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
36773
36774 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
36775 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
36776 property.
f19dbdb7 36777
25f16ec1 36778 * loader/i386/ieee1275/linux.c: New file.
36779
36780 * loader/i386/ieee1275/linux_normal.c: New file.
36781
36782 * disk/ieee1275/nand.c: New file.
36783
e89d61e9 367842008-04-18 Thomas Schwinge <tschwinge@gnu.org>
36785
36786 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
36787 value.
36788 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
36789
602566f6 367902008-04-18 Robert Millan <rmh@aybabtu.com>
36791
36792 Restructures early code path on ieee1275 to unify grub_main() as
36793 the first C function that is executed in every platform.
36794
36795 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
36796 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
36797 cmain().
36798 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
36799 * kern/ieee1275/cmain.c (cmain): Rename to ...
36800 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
36801 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
36802 at the beginning.
36803
57490c2b 368042008-04-18 Robert Millan <rmh@aybabtu.com>
36805
36806 * util/update-grub.in: Fix syntax error when setting
36807 `GRUB_PRELOAD_MODULES'.
36808 Reported by Stephane Chazelas <stephane@artesyncp.com>
36809
1977517d 368102008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
36811
36812 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
36813 section into account, newer toolchains generate unique build ids
36814 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 36815 we want build ids to be preserved
1977517d 36816 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
36817 far from other sections don't cause the raw binary images grow
36818 size
36819
bfb1f1a2 368202008-04-15 Robert Millan <rmh@aybabtu.com>
36821
36822 * disk/lvm.c: Update copyright year.
36823 * kern/misc.c: Likewise.
36824
01979850 368252008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
36826
36827 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 36828 there is no memory left for physical volume name.
01979850 36829
0a1150e2 368302008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
36831
36832 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
36833 volume name mapping to support bigger than 9 character names properly.
36834
82ead3fe 368352008-04-13 Robert Millan <rmh@aybabtu.com>
36836
36837 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
36838 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
36839
e54a72f5 368402008-04-13 Christian Franke <franke@computer.org>
36841
36842 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
36843 to create a floppy emulation boot CD when non emulation mode
36844 does not work.
36845 Enable Joliet CD filesystem extension.
36846
9fe86034 368472008-04-13 Robert Millan <rmh@aybabtu.com>
36848
36849 * kern/misc.c (grub_strncat): Fix off-by-one error.
36850 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
36851
36852 * kern/env.c (grub_env_context_close): Clear current context, not
36853 previous one.
36854 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
36855
36856 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
36857
7ceeee39 368582008-04-13 Robert Millan <rmh@aybabtu.com>
36859
36860 Improve robustness when handling LVM.
36861
36862 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 36863 (and leave `*p' unmodified).
7ceeee39 36864 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
36865 through it.
36866 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
36867 iterating through it.
36868 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
36869 through it.
fe6b695a 36870 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 36871 when due) on each grub_lvm_getvalue() or grub_strstr() call.
36872 Don't assume `vg->pvs != NULL' when iterating through it.
36873
58cd3d85 368742008-04-13 Robert Millan <rmh@aybabtu.com>
36875
36876 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
36877 * genmk.rb (partmap): New variable.
36878 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
36879 (#{partmap}): New target rule.
36880 * genpartmaplist.sh: New file.
36881 * Makefile.in (pkglib_DATA): Add partmap.lst.
36882 (partmap.lst): New target rule.
36883 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
36884 modules (including all partition maps), instead of preloading them.
36885
78b51059 368862007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
36887
36888 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
36889 `linux-boot-prober' (if installed) to detect other operating
36890 systems which are installed on the computer and add them to
36891 the boot menu.
36892 * conf/common.rmk: Build and install 30_os-prober.
36893
a91627b4 368942008-04-12 Robert Millan <rmh@aybabtu.com>
36895
36896 * kern/powerpc/ieee1275/init.c: Move from here ...
36897 * kern/ieee1275/init.c: ... to here. Update all users.
36898
36899 * kern/powerpc/ieee1275/cmain.c: Move from here ...
36900 * kern/ieee1275/cmain.c: ... to here. Update all users.
36901
36902 * kern/powerpc/ieee1275/openfw.c: Move from here ...
36903 * kern/ieee1275/openfw.c: ... to here. Update all users.
36904
36905 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
36906 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
36907
322562ea 369082008-04-10 Pavel Roskin <proski@gnu.org>
36909
36910 * configure.ac: Always use "_cv_" in cache variables for
36911 compatibility with Autoconf 2.62.
36912
a02a73c5 369132008-04-07 Robert Millan <rmh@aybabtu.com>
36914
36915 Revert grub/machine/init.h addition by Pavel (since it breaks on
36916 i386-ieee1275 and others):
36917 * util/i386/pc/misc.c: Remove grub/machine/init.h.
36918 * util/powerpc/ieee1275/misc.c: Likewise.
36919
25c024b1 369202008-04-07 Robert Millan <rmh@aybabtu.com>
36921
36922 * util/grub-probe.c (probe): Improve error message.
36923
3cbd2f98 369242008-04-07 Robert Millan <rmh@aybabtu.com>
36925
36926 * util/biosdisk.c (read_device_map): Skip devices that don't exist
36927 (this prevents the presence of a bogus entry from ruining the whole
36928 thing).
36929
87a297bf 369302008-04-06 Pavel Roskin <proski@gnu.org>
36931
36747a62 36932 * util/biosdisk.c: Include grub/util/biosdisk.h.
36933 * util/grub-fstest.c (execute_command): Make static.
36934 * util/grub-mkdevicemap.c (check_device): Likewise.
36935 * util/i386/pc/misc.c: Include grub/machine/init.h.
36936 * util/powerpc/ieee1275/misc.c: Likewise.
36937 * util/lvm.c: Include grub/util/lvm.h.
36938 * util/misc.c: Include grub/kernel.h, grub/misc.h and
36939 grub/cache.h.
36940 * util/raid.c: Include grub/util/raid.h.
36941 (grub_util_getdiskname): Make static.
36942
87a297bf 36943 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
36944 grub_hostfs_fini(), as they are called from grub_init_all() and
36945 grub_fini_all() respectively. This fixes an infinite loop in
36946 grub-fstest due to double registration of hostfs.
36947 Reported by Christian Franke <Christian.Franke@t-online.de>
36948
f6ce7629 369492008-04-05 Pavel Roskin <proski@gnu.org>
36950
36951 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
36952 all 8 functions. Otherwise, probe function 0 only.
36953
070e49e4 369542008-04-04 Pavel Roskin <proski@gnu.org>
36955
8b088a4c 36956 * commands/lspci.c (grub_lspci_iter): Print the bus number
36957 correctly.
36958
4f657021 36959 * commands/lspci.c (grub_pci_classes): Fix typos.
36960 (grub_lspci_iter): Don't print func twice. Print vendor ID
36961 before device ID, as it's normally done.
36962
070e49e4 36963 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
36964 Fix signedness warnings.
36965 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
36966 Likewise.
36967 * util/ieee1275/get_disk_name.c: Include config.h so that
36968 _GNU_SOURCE is defined and getline() is declared. Mark an
36969 unused argument as such. Fix a signedness warning.
36970
ba7328dc 369712008-04-02 Pavel Roskin <proski@gnu.org>
36972
26887f22 36973 * genkernsyms.sh.in: Use more robust assignments for CC and
36974 srcdir. Quote srcdir.
36975 * gensymlist.sh.in: Likewise. Assert at the compile time that
36976 the symbol table is not empty.
36977
ba7328dc 36978 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
36979 * fs/cpio.c (grub_cpio_read): Likewise.
36980
0f582c6b 369812008-04-01 Pavel Roskin <proski@gnu.org>
36982
4b6e1995 36983 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
36984 * disk/host.c (grub_host_open): Likewise.
36985 * disk/loopback.c (grub_loopback_open): Likewise.
36986 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
36987 disk->id as in disk/host.c, not a multi-character constant.
36988
828a2768 36989 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
36990 later is obsolete, potentially dangerous and sets a bad example.
36991 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
36992 * util/misc.c (grub_util_get_image_size): Likewise.
36993
2bb4fb47 36994 * disk/loopback.c (options): Improve help for "--partitions".
36995
0f582c6b 36996 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
36997 options to align them with the short options, e.g. "echo -e".
36998
a33224e0 369992008-03-31 Bean <bean123ch@gmail.com>
37000
37001 * video/reader/png.c (grub_png_data): New member is_16bit and
37002 image_data.
37003 (grub_png_decode_image_header): Detect 16 bit png image.
37004 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
37005 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
37006 (grub_video_reader_png): Release memory occupied by image_data.
37007
37008 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
37009 4096 bytes.
37010 (grub_nfs_mount): Skip the test for sector per cluster.
37011
37012 * include/grub/ntfs.h (MAX_SPC): Removed.
37013
86cb4f54 370142008-03-31 Bean <bean123ch@gmail.com>
37015
37016 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
37017 (grub_probe_SOURCES): Add fs/afs.c.
37018 (grub_fstest_SOURCES): Likewise.
37019 (afs_mod_SOURCES): New variable.
37020 (afs_mod_CFLAGS): Likewise.
37021 (afs_mod_LDFLAGS): Likewise.
37022
37023 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
37024 (grub_emu_SOURCES): Likewise.
37025
37026 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37027
37028 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37029
37030 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
37031
37032 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37033
37034 * fs/afs.c: New file.
37035
17c74c21 370362008-03-30 Pavel Roskin <proski@gnu.org>
37037
4cb68e89 37038 * disk/host.c: Include grub/misc.h to fix a warning.
37039 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
37040 warnings about implicit declarations.
37041
8790bb04 37042 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
37043 variable.
37044 * include/grub/i386/loader.h: Change declaration of
37045 grub_linux_boot() to match what grub_loader_set() expects.
37046 * util/getroot.c (grub_guess_root_device): Return const char* to
37047 fix a warning.
37048 * util/grub-probe.c (probe): Fix a warning about uninitialized
37049 abstraction_name variable.
37050 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
37051 second argument as unused to fix a warning.
37052
9a3f3296 37053 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
37054 missing grub_error() call.
37055
0ecef90d 37056 * util/update-grub_lib.in: Define datarootdir, since Autoconf
37057 2.60 and newer uses it to define datadir.
37058
0bf6d401 37059 * commands/sleep.c: Fix warning about implicit declaration.
37060 * disk/memdisk.c: Likewise.
37061 * loader/aout.c: Likewise.
37062 * loader/i386/bsd_normal.c: Likewise.
37063 * util/grub-probe.c: Likewise.
37064
7cdacf97 37065 * commands/i386/cpuid.c (has_longmode): Make static.
37066 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
37067 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
37068
17c74c21 37069 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
37070 GDT. This is more robust, as %ds can change.
37071 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
37072 calling real_to_prot().
37073 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
37074
80a3e68b 370752008-03-28 Pavel Roskin <proski@gnu.org>
37076
37077 * kern/i386/pc/startup.S: Assert that uncompressed functions
37078 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
37079 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
37080 code, as they push parts of the code (error handlers) beyond
37081 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
37082 code as correctness and size.
37083
77bcd272 370842008-03-28 Pavel Roskin <proski@gnu.org>
37085
37086 * kern/i386/pc/startup.S
37087 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
37088 data block address to the real mode, keep offset minimal. This
37089 works around a bug in AWARD BIOS on old Athlon systems, which
37090 makes CD detection hang.
37091
c5dfd43b 370922008-03-26 Pavel Roskin <proski@gnu.org>
37093
37094 * normal/color.c (grub_parse_color_name_pair): Make `name' a
37095 const.
37096 * include/grub/normal.h: Add grub_parse_color_name_pair()
37097 declaration.
37098
bf962df2 370992008-03-24 Bean <bean123ch@gmail.com>
37100
37101 * disk/i386/pc/biosdisk.c (cd_start): Removed.
37102 (cd_count): Removed.
37103 (cd_drive): New variable.
37104 (grub_biosdisk_get_drive): Don't check for (cdN) device.
37105 (grub_biosdisk_call_hook): Likewise.
37106 (grub_biosdisk_iterate): Change cdrom detection method.
37107 (grub_biosdisk_open): Replace cd_start with cd_drive.
37108 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
37109 detect cdrom device.
37110
37111 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
37112 Removed.
37113 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
37114 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
37115 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
37116 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
37117 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
37118 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
37119 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
37120 (grub_biosdisk_cdrp): New structure.
37121 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
37122
37123 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
37124
37125 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
37126 device.
37127
37128 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
37129 New function.
37130
68e7fc7a 371312008-03-20 Robert Millan <rmh@aybabtu.com>
37132
37133 Remove 2 TiB limit in ata.mod.
37134 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
37135 (grub_ata_dumpinfo): Print sector count with 0x%llx.
37136 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
37137 grub_uint64_t instead of grub_uint32_t.
37138
38ad2cf5 371392008-03-05 Bean <bean123ch@gmail.com>
37140
37141 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
37142 (grub_multiboot): Set boot device.
37143
37144 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
37145
2b89344e 371462008-03-02 Bean <bean123ch@gmail.com>
37147
37148 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
37149 symlink_buffer.
37150
87a95d1f 371512008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
37152
37153 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
37154 texinfo.tex.
37155
37156 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
37157 modified.
37158
37159 * docs/fdl.texi: New file.
f19dbdb7 37160
87a95d1f 37161 * docs/mdate-sh: New file. Copied from gnulib.
37162 * docs/texinfo.tex: Likewise.
37163
37164 * config.guess: Updated from gnulib.
37165 * install-sh: Likewise.
37166
7dc15d8e 371672008-02-28 Robert Millan <rmh@aybabtu.com>
37168
37169 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
37170 (aout_mod_SOURCES): New variable.
37171 (aout_mod_CFLAGS): Likewise.
37172 (aout_mod_LDFLAGS): Likewise.
37173
37174 * conf/i386-ieee1275.rmk: Likewise.
37175
b00ab696 371762008-02-28 Robert Millan <rmh@aybabtu.com>
37177
37178 * util/update-grub.in: Reorganise terminal validity check. Accept
37179 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
37180 Based on suggestion by Franklin PIAT.
37181
79ca2d78 371822008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
37183
37184 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
37185 function.
37186 * util/getroot.c (grub_util_check_block_device): New function that
37187 returns the given argument if it is a block device and returns NULL else.
37188 * util/grub-probe.c (argument_is_device): New variable.
37189 (probe): Promote device_name from a variable to an argument. Receive
37190 device_name from grub_util_check_block_device() if path is NULL and from
37191 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 37192 (options): Introduce new parameter '-d, --device'.
79ca2d78 37193 (main): Add description of the new parameter to the help screen.
37194 Rename path variable to argument. Set argument_is_device if the '-d'
37195 option is given. Pass argument to probe() depending on
37196 argument_is_device.
37197
0d16e571 371982008-02-24 Bean <bean123ch@gmail.com>
37199
37200 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
37201 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
37202 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
37203 (GRUB_ISO9660_VOLDESC_PART): Likewise.
37204 (GRUB_ISO9660_VOLDESC_END): Likewise.
37205 (grub_iso9660_primary_voldesc): New member escape.
37206 (grub_iso9660_data): New member joliet.
37207 (grub_iso9660_convert_string): New function.
37208 (grub_iso9660_mount): Detect joliet extension.
37209 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
37210 (grub_iso9660_iso9660_label): Likewise.
37211
37212 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
37213 (grub_setup_SOURCES): Add fs/udf.c.
37214 (grub_fstest_SOURCES): Likewise.
37215 (udf_mod_SOURCES): New variable.
37216 (udf_mod_CFLAGS): Likewise.
37217 (udf_mod_LDFLAGS): Likewise.
37218
37219 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
37220 (grub_emu_SOURCES): Likewise.
37221
37222 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37223
37224 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37225
37226 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
37227
37228 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37229
37230 * fs/udf.c: New file.
37231
8a594a17 372322008-02-24 Robert Millan <rmh@aybabtu.com>
37233
37234 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
37235 (normal/lexer.c_DEPENDENCIES): New variables.
37236 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
37237 (normal/lexer.c_DEPENDENCIES): Likewise.
37238 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
37239 (normal/lexer.c_DEPENDENCIES): Likewise.
37240 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
37241 (normal/lexer.c_DEPENDENCIES): Likewise.
37242 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
37243 (normal/lexer.c_DEPENDENCIES): Likewise.
37244 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
37245 (normal/lexer.c_DEPENDENCIES): Likewise.
37246
2dc33c03 372472008-02-23 Robert Millan <rmh@aybabtu.com>
37248
37249 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
37250 since they were intended to be in hex. This didn't break previously
37251 because of a bug in gpt_partition_map_iterate() (see below).
37252
37253 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
37254 when checking the validity of GPT header.
37255 Remove `partno', since it always provides the same information as `i'.
37256
f6f4cfb0 372572008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
37258
37259 * include/grub/efi/time.h: Fix a wrong comment.
37260
79ff665f 372612008-02-19 Pavel Roskin <proski@gnu.org>
37262
37263 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
37264 message.
37265
d38e24c2 372662008-02-19 Bean <bean123ch@gmail.com>
37267
37268 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
37269 (aout_mod_SOURCES): New variable.
37270 (aout_mod_CFLAGS): Likewise.
37271 (aout_mod_LDFLAGS): Likewise.
37272 (_bsd_mod_SOURCES): New variable.
37273 (_bsd_mod_CFLAGS): Likewise.
37274 (_bsd_mod_LDFLAGS): Likewise.
37275 (bsd_mod_SOURCES): New variable.
37276 (bsd_mod_CFLAGS): Likewise.
37277 (bsd_mod_LDFLAGS): Likewise.
37278
37279 * include/grub/aout.h: New file.
37280
37281 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
37282
37283 * include/grub/i386/bsd.h: New file.
37284
37285 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
37286 to make it public.
37287
37288 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
37289 function is called, so that it's possible to change it inside the hook.
37290 (grub_elf64_load): Likewise.
37291 (grub_elf_file): Don't close the file if elf header is not found.
37292 (grub_elf_close): Close the file if grub_elf_file fails (The new
37293 grub_elf_file won't close it).
37294 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
37295 (grub_elf64_size): Likewise.
37296
37297 * kern/i386/loader.S (grub_unix_real_boot): New function.
37298
37299 * loader/aout.c: New file.
37300
37301 * loader/i386/bsd.c: New file.
37302
37303 * loader/i386/bsd_normal.c: New file.
37304
37305 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
37306
37307 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 37308 can test other formats.
d38e24c2 37309
b93bdb0f 373102008-02-19 Robert Millan <rmh@aybabtu.com>
37311
37312 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
37313 (grub_gpt_partition_type_empty): Redefine with macro from
37314 `<grub/gpt_partition.h>'.
37315 (gpt_partition_map_iterate): Adjust partition type comparison.
37316
37317 Export `entry' as partmap-specific `part.data' struct.
37318 (grub_gpt_header, grub_gpt_partentry): Move from here ...
37319
37320 * include/grub/gpt_partition.h (grub_gpt_header)
37321 (grub_gpt_partentry): ... to here (new file).
37322
37323 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
37324
37325 (grub_gpt_partition_type_bios_boot): New const variable, defined
37326 with macro from `<grub/gpt_partition.h>'.
37327
37328 (setup): Replace `first_start' with `embed_region', which keeps
37329 track of the embed region (and is partmap-agnostic).
37330
37331 Replace find_first_partition_start() with find_usable_region(),
37332 which finds a usable region for embedding using partmap-specific
37333 knowledge (supports PC/MSDOS and GPT).
37334
37335 Fix all assumptions that the embed region start at sector 1, using
37336 `embed_region.start' from now on. Similarly, use `embed_region.end'
37337 rather than `first_start' to calculate available size.
37338
37339 In grub_util_info() message, replace "into after the MBR" with an
37340 indication of the specific sector our embed region starts at.
37341
66cb40f6 373422008-02-19 Robert Millan <rmh@aybabtu.com>
37343
37344 * DISTLIST: Replace `commands/ieee1275/halt.c' and
37345 `commands/ieee1275/reboot.c' with `commands/halt.c' and
37346 `commands/reboot.c'.
37347 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
37348 (halt_mod_SOURCES): Likewise.
37349 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
37350 (halt_mod_SOURCES): Likewise.
37351
b7202015 373522008-02-17 Christian Franke <franke@computer.org>
37353
37354 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
37355
32b0fc49 373562008-02-17 Robert Millan <rmh@aybabtu.com>
37357
37358 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
37359 set `first_start' to 0 for non-PC/MSDOS partition maps.
37360
aca63502 373612008-02-16 Robert Millan <rmh@aybabtu.com>
37362
37363 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
37364 do not assume partition map is PC/MSDOS before performing checks that
37365 are specific to that layout.
37366
0de8be86 373672008-02-13 Robert Millan <rmh@aybabtu.com>
37368
37369 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
37370 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
37371 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
37372
c3db8364 373732008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
37374
37375 * configure.ac: Only a cosmetic change on the handling of
37376 -fno-stack-protector.
37377
f714229e 373782008-02-12 Alexandre Boeglin <alex@boeglin.org>
37379
c3db8364 37380 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
37381 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
37382 reboot.c.
f714229e 37383 (grub_install_SOURCES): Add halt.mod and reboot.mod.
37384 (halt_mod_SOURCES): New variable.
37385 (halt_mod_CFLAGS): Likewise.
37386 (halt_mod_LDFLAGS): Likewise.
37387 (reboot_mod_SOURCES): Likewise.
37388 (reboot_mod_CFLAGS): Likewise.
37389 (reboot_mod_LDFLAGS): Likewise.
37390
c3db8364 37391 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
37392 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
37393 reboot.c.
f714229e 37394 (halt_mod_SOURCES): Likewise.
37395 (reboot_mod_SOURCES): Likewise.
37396
c3db8364 37397 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
37398 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 37399 (reboot_mod_SOURCES): Likewise.
37400
37401 * commands/i386/pc/reboot.c: merge this file ...
37402
37403 * commands/ieee1275/reboot.c: ... and this file ...
37404
37405 * commands/reboot.c: ... to this file.
c3db8364 37406 Add some precompiler directive to include the correct header for
37407 each machine.
f714229e 37408
37409 * commands/ieee1275/halt.c: move this file ...
37410
37411 * commands/halt.c: ... to here.
c3db8364 37412 Add some precompiler directive to include the correct header for
37413 each machine.
f714229e 37414
37415 * include/grub/efi/efi.h (grub_reboot): New function declaration.
37416 (grub_halt): Likewise.
37417
37418 * kern/efi/efi.c (grub_reboot): New function.
37419 (grub_halt): Likewise.
37420
c74493e0 374212008-02-12 Robert Millan <rmh@aybabtu.com>
37422
37423 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
37424 /dev (like it is done for /dev/mapper). This doesn't provide support
37425 for EVMS, but at least it is now easy to identify the problem when it
37426 arises.
37427
d0db4b04 374282008-02-11 Robert Millan <rmh@aybabtu.com>
37429
37430 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
37431 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
37432 comparing it with -1, not 0.
37433
bf748642 374342008-02-10 Robert Millan <rmh@aybabtu.com>
37435
37436 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
37437 `disk/lvm.c'.
37438 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37439 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
37440
37441 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
37442 `disk/lvm.c' to the end of the list.
37443 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
37444 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
37445
b5db202a 374462008-02-10 Robert Millan <rmh@aybabtu.com>
37447
37448 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
37449 grub_print_error() instead. This will let user know why we're entering
37450 rescue mode.
37451 Based on suggestions from Sam Morris.
37452
83abee31 374532008-02-10 Alexandre Boeglin <alex@boeglin.org>
37454
37455 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
37456 on remaining N args, instead of "--" arg N times.
37457
78d5a08b 374582008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
37459
37460 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
37461 (fill_with_default_glyph): Changed to use unknown_glyph for fill
37462 pattern for unknown glyphs.
37463
68807e5f 374642008-02-09 Robert Millan <rmh@aybabtu.com>
37465
37466 * configure.ac: Probe for `help2man'.
37467 * Makefile.in (builddir): New variable.
37468 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
37469 or otherwise add a few flags/options to it.
37470 (install-local): For every executable utility or script that is
37471 installed, invoke $(HELP2MAN) to install a manpage based on --help
37472 output.
37473
37474 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
37475 that it doesn't prevent --help from working in build tree.
37476
37477 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
37478 with `bug-grub@gnu.org'.
37479 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
37480 * util/update-grub.in (usage): New function.
37481 Implement proper argument check, with support for --help and --version
37482 (as well as existing -y).
37483
374842008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 37485
37486 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
37487 avoid overwriting previous output.
37488 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
37489
c1962162 374902008-02-09 Robert Millan <rmh@aybabtu.com>
37491
37492 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
37493 drawing the menu.
37494
3dac2e3f 374952008-02-09 Robert Millan <rmh@aybabtu.com>
37496
37497 * commands/sleep.c: New file.
37498 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
37499 (sleep_mod_SOURCES): New variable.
37500 (sleep_mod_CFLAGS): Likewise.
37501 (sleep_mod_LDFLAGS): Likewise.
37502
7a634e08 375032008-02-09 Robert Millan <rmh@aybabtu.com>
37504
37505 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
37506 situations in which we can deduce the RAID size and the superblock
37507 doesn't match it.
37508
b92f0c18 375092008-02-09 Robert Millan <rmh@aybabtu.com>
37510
37511 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
37512 and return a grub_diskmemberlist_t composed of LVM physical volumes.
37513 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
37514
37515 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
37516 and return a grub_diskmemberlist_t composed of physical array members.
37517 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
37518
37519 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
37520 prototype.
37521 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
37522 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
37523 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
37524
37525 * util/grub-probe.c (probe): Move partmap probing code from here ...
37526 (probe_partmap): ... to here.
37527 (probe): Use probe_partmap() once for the disk we're probing, and
37528 additionally, when such disk contains a memberlist() struct member,
37529 once for each disk that is contained in the structure returned by
37530 memberlist().
37531
91a4bf68 375322008-02-09 Robert Millan <rmh@aybabtu.com>
37533
37534 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
37535 environment variable to 'all' in order to obtain debug output from
37536 non-util/ code.
37537 * util/i386/pc/grub-setup.c (main): Likewise.
37538
a96f9caa 375392008-02-08 Robert Millan <rmh@aybabtu.com>
37540
37541 * disk/raid.c (grub_raid_scan_device): Check for
37542 `array->device[sb.this_disk.number]' rather than for
37543 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 37544 guaranteed to be accessible.
a96f9caa 37545
b37a9222 375462008-02-08 Robert Millan <rmh@aybabtu.com>
37547
37548 * disk/raid.c: Update copyright.
37549 * fs/cpio.c: Likewise.
37550 * include/grub/raid.h: Likewise.
37551 * loader/i386/pc/multiboot.c: Likewise.
37552 * util/hostfs.c: Likewise.
37553
5626aee1 375542008-02-08 Robert Millan <rmh@aybabtu.com>
37555
37556 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
37557 to a grub_disk_t array.
37558 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
37559 `device[x]'.
37560 (grub_raid_scan_device): Replace `device[x].name' accesses with
37561 `device[x]->name'. Simplify initialization of `array->device[x]'.
37562
554f0187 375632008-02-08 Robert Millan <rmh@aybabtu.com>
37564
37565 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
37566 grub_dprintf() calls.
37567 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
37568 error message.
37569
1ec8425d 375702008-02-07 Christian Franke <franke@computer.org>
37571
37572 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
37573 instead of fseek and ftell to support large files.
37574 (grub_hostfs_read): Likewise.
37575
f2156fda 375762008-02-07 Robert Millan <rmh@aybabtu.com>
37577
37578 Patch from Jeroen Dekkers.
37579 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 37580 failure, since successfully reading all array members might not be
f2156fda 37581 required.
37582
9216e0e7 375832008-02-06 Robert Millan <rmh@aybabtu.com>
37584
37585 * util/grub-probe.c (probe): Simplify partmap probing (with the
37586 assumption that the first word up to the underscore equals to
37587 the module name).
37588
b0dfd29a 375892008-02-06 Christian Franke <franke@computer.org>
37590
37591 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
37592 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
37593 last block of a cpio or tar stream.
37594 Check for "TRAILER!!!" instead of any empty data
37595 block to detect last block of a cpio stream.
37596 (grub_cpio_dir): Fix constness of variable np.
37597 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
37598 cpio or tar trailer is detected. This fixes a crash
37599 on open of a non existing file.
37600
c32865bf 376012008-02-05 Bean <bean123ch@gmail.com>
37602
37603 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
37604 address of entry.
37605 (grub_multiboot_load_elf64): Likewise.
37606 (grub_multiboot): Initialize mbi structure.
37607
37608 * util/grub-fstest.c: Don't include unused header file script.h.
37609
fe6b695a 37610 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 37611 of file.
37612 (grub_fstest_SOURCES): Likewise.
37613
409480b7 376142008-02-05 Robert Millan <rmh@aybabtu.com>
37615
37616 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
37617 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
37618 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
37619 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
37620
37621 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
37622 (translation_table): Replace hardcoded values with macros
37623 provided by `<grub/term.h>'.
37624
37625 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
37626 (keyboard_map): Correct/add a few values, with macros provided
37627 by `<grub/term.h>'.
37628 (keyboard_map_shift): Zero values that don't differ from their
37629 `keyboard_map' equivalents.
37630 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
37631 Discard the second scan code that is always sent by Caps lock.
37632 Only use `keyboard_map_shift' when it provides a non-zero value,
37633 otherwise fallback to `keyboard_map'.
37634
99fadbaa 376352008-02-04 Bean <bean123ch@gmail.com>
37636
37637 * Makefile.in (enable_grub_fstest): New variable.
37638
37639 * conf/common.rmk (grub_fstest_init.lst): New rule.
37640 (grub_fstest_init.h): Likewise.
37641 (grub_fstest_init.c): Likewise.
37642 (util/grub-fstest.c_DEPENDENCIES): New variable.
37643 (grub_fstest_SOURCES): Likewise.
37644
37645 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
37646
37647 * util/grub-fstest.c: New file.
37648
bf567c50 376492008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
37650
37651 Make grub-setup handle a separate root device.
f19dbdb7 37652
bf567c50 37653 * util/i386/pc/grub-setup.c (setup): Always open the root device,
37654 so that the root device can be compared with the destination
37655 device.
37656 When embedding the core image, if the root and destination devices
37657 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
37658 0xFF.
37659 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 37660
9be6b98b 376612008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
37662
37663 Add support for having a grub directory in a different drive. This
37664 is still only the data handling part.
f19dbdb7 37665
9be6b98b 37666 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
37667 (codestart): Save %dh in GRUB_ROOT_DRIVE.
37668 (grub_root_drive): New variable.
37669
37670 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
37671 instead of GRUB_BOOT_DRIVE to construct a device name. Set
37672 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
37673 as it was.
37674
37675 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
37676
37677 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
37678 macro.
37679 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
37680
37681 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
37682 is bogus, because PXE booting does not specify any drive
37683 correctly.
37684
37685 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
37686 am not sure if this is really correct.
37687
37688 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
37689 is always identical to the boot drive when booting from a CD.
37690
37691 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
37692 longer.
37693 (root_drive): New variable.
37694 (real_start): Unconditionally set %dh to ROOT_DRIVE.
37695 (setup_sectors): Push %dx right after popping it, because %dh will
37696 be modified later.
37697 (copy_buffer): Restore %dx.
37698
e0ca0677 376992008-02-03 Robert Millan <rmh@aybabtu.com>
37700
37701 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
37702 use `cdboot.img' for cdrom images.
37703
3b3f6629 377042008-02-03 Robert Millan <rmh@aybabtu.com>
37705
37706 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
37707 only setup gfxterm when `font' command has succeeded.
37708
d42b3672 377092008-02-03 Robert Millan <rmh@aybabtu.com>
37710
37711 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
37712 (grub_rescue_cmd_multiboot_loader)
37713 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
37714
fa370ea6 377152008-02-03 Pavel Roskin <proski@gnu.org>
37716
e0c5dacb 37717 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 37718 %edx and %esi from stack only after grub_gate_a20() is called.
37719 grub_gate_a20() clobbers %edx.
37720
f2a76e1d 377212008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
37722
37723 * configure.ac (AC_INIT): Bumped to 1.96.
37724
37725 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
37726 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
37727 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
37728 video/readers/png.c.
37729
90fd32d1 377302008-02-03 Bean <bean123ch@gmail.com>
9be665dd 37731
37732 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
37733 (cdboot_img_SOURCES): New variable.
37734 (cdboot_img_ASFLAGS): New variable.
37735 (cdboot_img_LDFLAGS): New variable.
37736
37737 * boot/i386/pc/cdboot.S: New file.
37738
37739 * disk/i386/pc/biosdisk.c (cd_start): New variable.
37740 (cd_count): Likewise.
37741 (grub_biosdisk_get_drive): Add support for cd device.
37742 (grub_biosdisk_call_hook): Likewise.
37743 (grub_biosdisk_iterate): Likewise.
37744 (grub_biosdisk_open): Likewise.
37745 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
37746 (grub_biosdisk_rw): Support reading from cd device.
37747 (GRUB_MOD_INIT): Iterate cd devices.
37748
37749 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
37750 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
37751 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
37752
37753 * kern/i386/pc/init.c (make_install_device): Check for cd device.
37754
4020aa53 377552008-02-02 Robert Millan <rmh@aybabtu.com>
37756
37757 * commands/read.c: New file.
37758 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
37759 (read_mod_SOURCES): New variable.
37760 (read_mod_CFLAGS): Likewise.
37761 (read_mod_LDFLAGS): Likewise.
37762
e03a1132 377632008-02-02 Robert Millan <rmh@aybabtu.com>
37764
37765 * normal/main.c (grub_normal_execute): Check for `menu->size' when
37766 determining whether menu has to be displayed.
37767
58c69220 377682008-02-02 Marco Gerards <marco@gnu.org>
37769
37770 * bus/pci.c: New file.
37771
37772 * include/grub/pci.h: Likewise.
37773
37774 * include/grub/i386/pc/pci.h: Likewise.
37775
37776 * commands/lspci.c: Likewise.
37777
37778 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
37779 `lspci.mod'.
37780 (pci_mod_SOURCES): New variable.
37781 (pci_mod_CFLAGS): Likewise.
37782 (pci_mod_LDFLAGS): Likewise.
37783 (lspci_mod_SOURCES): Likewise.
37784 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 37785 (lspci_mod_LDFLAGS): Likewise.
58c69220 37786
c004e1b4 377872008-02-02 Bean <bean123ch@gmail.com>
37788
37789 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
37790 (grub_ufs_get_file_block): Fix indirect block calculation problem.
37791
37792 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
37793 (grub_xfs_btree_node): New structure.
37794 (grub_xfs_btree_root): New structure.
37795 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
37796 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
37797 (GRUB_XFS_EXTENT_BLOCK): Likewise.
37798 (GRUB_XFS_EXTENT_SIZE): Likewise.
37799 (grub_xfs_read_block): Support btree format type.
37800 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
37801 Use directory block as basic unit.
37802
37803 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
37804
37805 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
37806 __attribute__ ((__regparm__ (1))).
37807
f95562bf 378082008-02-01 Robert Millan <rmh@aybabtu.com>
37809
37810 Correct a mistake in previous commit.
37811
37812 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
37813 top.
37814 (normal/command.c_DEPENDENCIES): New variable.
37815
7d31f41f 378162008-02-01 Robert Millan <rmh@aybabtu.com>
37817
37818 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
37819 top.
37820 (normal/command.c_DEPENDENCIES): New variable.
37821 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
37822 * conf/i386-ieee1275.rmk: Likewise.
37823 * conf/i386-linuxbios.rmk: Likewise.
37824 * conf/i386-pc.rmk: Likewise.
37825 * conf/sparc64-ieee1275.rmk: Likewise.
37826 * conf/powerpc-ieee1275.rmk: Likewise.
37827 (grub_emu_SOURCES): Add `fs/fshelp.c'.
37828
37829 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
37830
60b6be74 378312008-02-01 Robert Millan <rmh@aybabtu.com>
37832
37833 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
37834 call at beginning of function.
37835
078522ab 378362008-01-31 Pavel Roskin <proski@gnu.org>
37837
37838 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 37839 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
37840 (grub_mkrescue_SOURCES): Likewise.
078522ab 37841 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
37842
ccaa8a5f 378432008-01-30 Robert Millan <rmh@aybabtu.com>
37844
37845 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
37846 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
37847 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
37848 (grub_probe_SOURCES): ... to here.
37849
37850 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
37851 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
37852 * conf/i386-ieee1275.rmk: Likewise.
37853 * conf/i386-linuxbios.rmk: Likewise.
37854 * conf/powerpc-ieee1275.rmk: Likewise.
37855
ae5a9cd7 378562008-01-30 Tristan Gingold <gingold@free.fr>
37857
37858 * kern/rescue.c: Silently accept empty lines.
37859
70bc2ef2 378602008-01-29 Bean <bean123ch@gmail.com>
37861
37862 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
37863 (real_code_2): Code cleanup and change comment style.
37864 (move_memory): Avoid using 32-bit address mode.
37865
6a4d50ea 378662008-01-29 Bean <bean123ch@gmail.com>
37867
37868 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
37869 (png_mod_SOURCES): New variable.
37870 (png_mod_CFLAGS): Likewise.
37871 (png_mod_LDFLAGS): Likewise.
37872
37873 * video/readers/png.c: New file.
37874
11cc30ac 378752008-01-28 Robert Millan <rmh@aybabtu.com>
37876
37877 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
37878 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
37879 `ifndef GRUB_MOD_GAP' hack.
37880 * util/elf/grub-mkimage.c (add_segments): Likewise.
37881
3abc589f 378822008-01-27 Robert Millan <rmh@aybabtu.com>
37883
37884 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
37885 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 37886 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 37887
e1907778 378882008-01-27 Robert Millan <rmh@aybabtu.com>
37889
37890 Get grub-emu to build again (including parallel builds).
37891
37892 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
37893 Split into ...
37894 (util/grub-emu.c_DEPENDENCIES): ... this, ...
37895 (normal/execute.c_DEPENDENCIES): ... this, ...
37896 (grub-emu_DEPENDENCIES): ... and this.
37897
37898 * conf/i386-efi.rmk: Likewise.
37899 * conf/i386-linuxbios.rmk: Likewise.
37900 * conf/i386-ieee1275.rmk: Likewise.
37901 * conf/powerpc-ieee1275.rmk: Likewise.
37902 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
37903
2216b101 379042008-01-27 Robert Millan <rmh@aybabtu.com>
37905
37906 * NEWS: Add a few items.
37907
f75172d9 379082008-01-27 Robert Millan <rmh@aybabtu.com>
37909
37910 Fix parallel builds with grub-emu. Based on earlier commit for
37911 grub-probe and grub-setup.
37912
37913 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37914 (util/grub-emu.c_DEPENDENCIES): ... this.
37915 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37916 (util/grub-emu.c_DEPENDENCIES): ... this.
37917 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37918 (util/grub-emu.c_DEPENDENCIES): ... this.
37919 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37920 (util/grub-emu.c_DEPENDENCIES): ... this.
37921 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37922 (util/grub-emu.c_DEPENDENCIES): ... this.
37923
3f51de77 379242008-01-27 Pavel Roskin <proski@gnu.org>
37925
37926 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
37927 to create a gap between _end and the modules added to the image
37928 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
37929 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
37930 * util/elf/grub-mkimage.c (add_segments): Likewise.
37931
2033f53e 379322008-01-26 Pavel Roskin <proski@gnu.org>
37933
37934 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
37935 just return an error.
37936
22da1f6f 379372008-01-26 Bean <bean123ch@gmail.com>
37938
37939 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
37940 (grub_reiserfs_get_item): Save offset of the next item.
37941 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
37942
2a9525e6 379432008-01-25 Robert Millan <rmh@aybabtu.com>
37944
37945 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
37946 make all filesystem sources appear together (possibly fixing omissions
37947 while at it).
37948 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37949 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37950 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
37951 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37952
37953 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
37954 add `kern/file.c'.
37955 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
37956 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
37957 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
37958 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
37959
37960 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
37961 (probe): Add a sanity check to make sure of our ability to read
37962 requested files when probing for filesystem type.
37963
37964 * genmk.rb: Update copyright year (2007).
37965
37966 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
37967 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
37968 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
37969 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
37970 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
37971 : Remove function prototypes.
37972
b95f71b5 379732008-01-25 Robert Millan <rmh@aybabtu.com>
37974
37975 Revert my previous commits (based on wrong assumption of how grub_errno
37976 works).
37977
fe6b695a 37978 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 37979 * kern/file.c (grub_file_open): Likewise.
37980
d08bbb49 379812008-01-24 Pavel Roskin <proski@gnu.org>
37982
37983 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
37984 that hang if GRUB tries to setup colors.
37985 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
37986 colors for firmwares that don't support it.
37987 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
37988 Recognize Open Hack'Ware, set flags to work around its
37989 limitations.
37990
605e36ed 379912008-01-24 Robert Millan <rmh@aybabtu.com>
37992
37993 * kern/file.c (grub_file_open): Do not account previous failures of
37994 unrelated functions when grub_errno is checked for.
37995 Reported by Oleg Strikov.
37996
bac332a1 379972008-01-24 Bean <bean123ch@gmail.com>
37998
37999 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
38000 (grub_ufs_sblock): New member volume name.
38001 (grub_ufs_find_file): Fix string copy bug.
38002 (grub_ufs_label): Implement this function properly.
38003
38004 * fs/hfs.c (grub_hfs_cnid_type): New enum.
38005 (grub_hfs_iterate_records): Use the correct file number for extents
38006 and catalog file. Fix problem in next index calculation.
38007 (grub_hfs_find_node): Replace recursive function call with loop.
38008 (grub_hfs_iterate_dir): Replace recursive function call with loop.
38009
15c80c09 380102008-01-23 Robert Millan <rmh@aybabtu.com>
38011
38012 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
38013 `<grub/symbol.h>' and `<grub/multiboot.h>'.
38014 (grub_multiboot2_real_boot): New function prototype.
38015
38016 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
38017 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
38018
38019 * kern/i386/ieee1275/init.c (grub_os_area_addr)
38020 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
38021
305338fd 380222008-01-23 Robert Millan <rmh@aybabtu.com>
38023
38024 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
38025 #ifdef'ed out grub_printf().
38026
3ea52685 380272008-01-23 Robert Millan <rmh@aybabtu.com>
38028
38029 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
38030 grub_dprintf calls, since they make "debug=all" mode unusable.
38031 (grub_console_checkkey): Likewise.
38032
5882ae4b 380332008-01-23 Robert Millan <rmh@aybabtu.com>
38034
38035 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
38036 `term/i386/pc/at_keyboard.c'.
38037 (pkglib_MODULES): Add `serial.mod'.
38038 (serial_mod_SOURCES): New variable.
38039 (serial_mod_CFLAGS): Likewise.
38040 (serial_mod_LDFLAGS): Likewise.
38041
38042 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
38043 `<grub/powerpc/ieee1275/console.h>'.
38044 (grub_keyboard_controller_init): New function prototype.
38045 (grub_console_checkkey): Likewise.
38046 (grub_console_getkey): Likewise.
38047
38048 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
38049 keyboard on i386.
38050
38051 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
38052 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
38053
06ab5303 380542008-01-23 Robert Millan <rmh@aybabtu.com>
38055
38056 * kern/i386/pc/init.c (make_install_device): When memdisk image is
38057 present, "(memdisk)/boot/grub" becomes the default prefix.
38058
38059 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
38060 a memdisk tarball with all the modules. Add --overlay=DIR option that
38061 allows users to overlay additional files into the image.
38062
dbb475a4 380632008-01-23 Robert Millan <rmh@aybabtu.com>
38064
38065 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
38066 and `machine/memory.h'.
38067 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
38068 (_multiboot_mod_SOURCES): New variable.
38069 (_multiboot_mod_CFLAGS): Likewise.
38070 (_multiboot_mod_LDFLAGS): Likewise.
38071 (multiboot_mod_SOURCES): Likewise.
38072 (multiboot_mod_CFLAGS): Likewise.
38073 (multiboot_mod_LDFLAGS): Likewise.
38074
38075 * include/grub/i386/ieee1275/loader.h: New file.
38076
38077 * include/grub/i386/ieee1275/machine.h: Likewise.
38078
38079 * include/grub/i386/ieee1275/memory.h: Likewise.
38080
38081 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
38082 variable declaration.
38083 (grub_os_area_size): Likewise.
38084
38085 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
38086 (grub_lower_mem, grub_upper_mem): New variables.
38087 (grub_stop_floppy): New function (just to make
38088 grub_multiboot2_real_boot() happy).
38089
38090 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
38091 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
38092 (grub_stop): New function.
38093 Include `"../realmode.S"' and `"../loader.S"'.
38094
38095 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
38096 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
38097
38098 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
38099 rely on grub_multiboot2_real_boot() for final boot.
38100
25638629 381012008-01-22 Robert Millan <rmh@aybabtu.com>
38102
38103 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
38104 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
38105 device that doesn't look like an SD card.
38106 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
38107 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
38108 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
38109 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
38110 found.
38111
9dad816d 381122008-01-22 Robert Millan <rmh@aybabtu.com>
38113
38114 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
38115 avoid claiming over our own code.
38116
34842f2d 381172008-01-22 Bean <bean123ch@gmail.com>
38118
38119 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
38120 (jpeg_mod_SOURCES): New variable.
38121 (jpeg_mod_CFLAGS): Likewise.
38122 (jpeg_mod_LDFLAGS): Likewise.
38123
38124 * video/readers/jpeg.c : New file.
38125
44023a28 381262008-01-22 Bean <bean123ch@gmail.com>
38127
38128 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
38129 there are no more items.
38130
bc2d8ac6 381312008-01-21 Robert Millan <rmh@aybabtu.com>
38132
38133 * kern/mm.c (grub_mm_init_region): Improve debug message.
38134
261bd4bc 381352008-01-21 Robert Millan <rmh@aybabtu.com>
38136
38137 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
38138 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
38139 address.
38140 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
38141 a C macro.
38142 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
38143 Indicates start of upper memory.
38144 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
38145 (generate_image): Abort when image size is big enough to corrupt
38146 upper memory.
38147
38148 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
38149 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
38150 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
38151 instead of hardcoding 0xA0000.
38152 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
38153 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
38154 instead of hardcoding 0xA0000.
38155
f970b55e 381562008-01-21 Robert Millan <rmh@aybabtu.com>
38157
38158 * disk/memdisk.c (memdisk_size): New variable.
38159 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
38160 `memdisk_size'.
38161 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
38162 image to dynamic memory.
38163 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
38164 `memdisk_size'. Free memdisk block.
38165
1a8b0526 381662008-01-21 Robert Millan <rmh@aybabtu.com>
38167
38168 Fix detection of very small filesystems (like tar).
38169
38170 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
38171 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
38172 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
38173 a problem with this disk).
38174
6e9b4aab 381752008-01-21 Robert Millan <rmh@aybabtu.com>
38176
38177 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
38178 on grub_biosdisk_rw_standard() error.
38179
0d8837b2 381802008-01-21 Robert Millan <rmh@aybabtu.com>
38181
38182 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
38183 recent changes.
38184 * kern/elf.c: Likewise.
38185 * kern/ieee1275/ieee1275.c: Likewise.
38186 * kern/powerpc/ieee1275/openfw.c: Likewise.
38187 * term/ieee1275/ofconsole.c: Likewise.
38188
ffd36e34 381892008-01-21 Robert Millan <rmh@aybabtu.com>
38190
38191 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
38192
3f0093d0 38193 * include/grub/kernel.h (grub_arch_memdisk_addr)
38194 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 38195
3f0093d0 38196 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
38197 (grub_arch_memdisk_size): ... to here.
ffd36e34 38198
6c391b21 381992008-01-21 Robert Millan <rmh@aybabtu.com>
38200
38201 Mostly based on bugfix from Bean.
38202
38203 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
38204 attribute with hook() parameter.
38205 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
38206 declaration.
38207 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
38208 attribute with hook() parameter.
38209 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
38210 declaration.
38211
55a581dc 382122008-01-21 Robert Millan <rmh@aybabtu.com>
38213
38214 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
38215 (pkglib_MODULES): Add `memdisk.mod'.
38216 (memdisk_mod_SOURCES): New variable.
38217 (memdisk_mod_CFLAGS): Likewise.
38218 (memdisk_mod_LDFLAGS): Likewise.
38219
38220 * disk/memdisk.c: New file.
38221
38222 * include/grub/disk.h (grub_disk_dev_id): Add
38223 `GRUB_DISK_DEVICE_MEMDISK_ID'.
38224
38225 * include/grub/i386/pc/kernel.h
38226 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
38227 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
38228 (grub_kernel_image_size): New variable declaration.
38229 (grub_total_module_size): Likewise.
38230 (grub_memdisk_image_size): Likewise.
38231
38232 * include/grub/i386/pc/memory.h
38233 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
38234
38235 * include/grub/kernel.h: Include `<grub/symbol.h>'.
38236 (grub_arch_memdisk_addr): New variable declaration.
38237 (grub_arch_memdisk_size): Likewise.
38238
38239 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
38240 (grub_arch_memdisk_size): Likewise.
38241
38242 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
38243 (codestart): Replace hardcoded `0x100000' with
38244 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
38245
38246 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
38247 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
38248 not NULL, append the contents of the file it refers to, at the end of
38249 the compressed kernel image. Initialize `grub_memdisk_image_size'
38250 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
38251 (options): Add "memdisk"|'m' option.
38252 (main): Parse --memdisk|-m option, and pass user-provided path as
38253 parameter to generate_image().
38254
3d7f54c9 382552008-01-20 Robert Millan <rmh@aybabtu.com>
38256
38257 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
38258 grub_dprintf() calls from here ...
38259 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
38260
0bf74728 382612008-01-20 Robert Millan <rmh@aybabtu.com>
38262
38263 Fix detection of "real mode" when /options/real-mode? doesn't exist.
38264
38265 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
38266 declaration.
38267 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
38268 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
38269 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 38270 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 38271 property).
38272 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
38273 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
38274
33bf70a7 382752008-01-19 Robert Millan <rmh@aybabtu.com>
38276
fe6b695a 38277 Get rid of confusing function (superseded by
33bf70a7 38278 `grub_ieee1275_get_integer_property')
38279 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
38280 prototype.
38281 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
38282 function.
38283 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
38284 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 38285 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 38286
e2da7d26 382872008-01-19 Robert Millan <rmh@aybabtu.com>
38288
38289 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
38290 command after "shut-down", since implementations differ on which
38291 the command for halt is.
38292
59f1fd8d 382932008-01-19 Robert Millan <rmh@aybabtu.com>
38294
38295 * include/grub/i386/linuxbios/console.h: Add header protection.
38296 (grub_keyboard_controller_init): New function prototype.
38297 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
38298 (KEYBOARD_COMMAND_READ): Likewise.
38299 (KEYBOARD_COMMAND_WRITE): Likewise.
38300 (KEYBOARD_SCANCODE_SET1): Likewise.
38301 (grub_keyboard_controller_write): New function.
38302 (grub_keyboard_controller_read): Likewise.
38303 (grub_keyboard_controller_init): Likewise.
38304
38305 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
38306 (grub_console_init): On coreboot/LinuxBIOS, call
38307 grub_keyboard_controller_init().
38308
5f5a7c15 383092008-01-19 Robert Millan <rmh@aybabtu.com>
38310
38311 PowerPC changes provided by Pavel Roskin.
38312
38313 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
38314 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
38315 don't rely on cmain() doing it.
38316 * kern/i386/ieee1275/startup.S (_start): Store %eax in
38317 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
38318
1210e168 383192008-01-16 Robert Millan <rmh@aybabtu.com>
38320
38321 * include/grub/i386/linuxbios/memory.h
38322 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
38323 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
38324 receive `table_header' as argument. Instead, probe for it in the
38325 known memory ranges where it can be present.
38326 (grub_available_iterate): Do not pass a fixed `table_header' address
38327 to grub_linuxbios_table_iterate().
38328
3d04eab8 383292008-01-15 Robert Millan <rmh@aybabtu.com>
38330
38331 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
38332 * conf/i386-ieee1275.rmk: New file.
38333 * include/grub/i386/ieee1275/console.h: Likewise.
38334 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
38335 * include/grub/i386/ieee1275/kernel.h: Likewise.
38336 * include/grub/i386/ieee1275/time.h: Likewise.
38337 * kern/i386/ieee1275/init.c: Likewise.
38338 * kern/i386/ieee1275/startup.S: Likewise.
38339
d1bc1b73 383402008-01-15 Robert Millan <rmh@aybabtu.com>
38341
38342 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
38343 when pointers are 32-bit (but still do set it to one when they are
38344 64-bit).
38345
66a65807 383462008-01-15 Robert Millan <rmh@aybabtu.com>
38347
38348 * include/grub/ieee1275/ieee1275.h
38349 (grub_ieee1275_get_integer_property): New function prototype.
38350
38351 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
38352 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 38353 grub_ieee1275_get_property() to handle endianness.
66a65807 38354
38355 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
38356 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 38357 where appropriate.
66a65807 38358 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
38359 (grub_map): Likewise.
38360 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
38361
a83ccafd 383622008-01-15 Bean <bean123ch@gmail.com>
38363
38364 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
38365 (grub_script_execute_cmdline): Reset grub_errno.
38366
38367 * normal/main.c (read_config_file): Reset grub_errno.
38368
38369 * normal/parse.y (script_init): New.
38370 (script): Move function and menuentry here.
38371 (delimiter): New.
38372 (command): Add delimiter at the end of command.
38373 (commands): Adjust to match the new command.
38374 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 38375 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 38376 (if): Use the new commands.
38377
38378 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
38379
df6ecfc6 383802008-01-15 Robert Millan <rmh@aybabtu.com>
38381
38382 * normal/menu.c (run_menu): Move timeout message from here ...
38383 (print_timeout): ... to here.
38384 (run_menu): Use print_timeout() once during initial draw to print
38385 the whole message, and again in every clock tick to update only
38386 the number of seconds.
38387
87ae25eb 383882008-01-15 Robert Millan <rmh@aybabtu.com>
38389
38390 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
38391 actual size of `available' from grub_ieee1275_get_property(), and
38392 restrict parsing to that bound.
38393
47bf09a4 383942008-01-15 Christian Franke <franke@computer.org>
38395
38396 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
38397 (argp_program_version): Remove variable.
38398 (argp_program_bug_address): Likewise.
38399 (options): Convert from struct argp_option to struct option.
38400 (struct arguments): Remove.
38401 (parse_opt): Remove.
38402 (usage): New function.
38403 (main): Replace struct args members by simple variables.
38404 Replace argp_parse() by getopt_long().
38405 Add switch to evaluate options.
38406 Add missing "(...)" around root_dev in prefix string.
38407
c86f1469 384082008-01-14 Robert Millan <rmh@aybabtu.com>
38409
38410 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
38411 for grub_ieee1275_exit(), in order to improve portability.
38412
e622c559 384132008-01-14 Robert Millan <rmh@aybabtu.com>
38414
38415 * util/grub.d/10_linux.in (prefix): Define.
38416 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
38417
44cb1ec8 384182008-01-13 Pavel Roskin <proski@gnu.org>
38419
38420 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
38421 grub_errno if no errors have been detected.
38422
1eb8c802 384232008-01-12 Robert Millan <rmh@aybabtu.com>
38424
38425 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
38426 (grub_util_get_dev_abstraction): New function prototype.
38427
38428 * util/getroot.c: Include `<grub/util/getroot.h>'
38429 (grub_util_get_grub_dev): Move detection of abstraction type to ...
38430 (grub_util_get_dev_abstraction): ... here (new function).
38431
38432 * util/grub-probe.c: Convert PRINT_* to an enum. Add
38433 `PRINT_ABSTRACTION'.
38434 (probe): Probe for abstraction type when requested.
38435 (main): Understand `--target=abstraction'.
38436
38437 * util/i386/efi/grub-install.in: Add abstraction module to core
38438 image when it is found to be necessary.
38439 * util/i386/pc/grub-install.in: Likewise.
38440 * util/powerpc/ieee1275/grub-install.in: Likewise.
38441
38442 * util/update-grub_lib.in (font_path): Return system path without
38443 converting to GRUB path.
38444 * util/update-grub.in: Convert system path returned by font_path()
38445 to a GRUB path. Use `grub-probe -t abstraction' to determine what
38446 abstraction module is needed for loading fonts (if any). Export
38447 that as `GRUB_PRELOAD_MODULES'.
38448 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
38449 insmod commands).
38450
52bd3de9 384512008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
38452
38453 Remove some unused code from reiserfs.
f19dbdb7 38454
52bd3de9 38455 * fs/reiserfs.c (struct grub_reiserfs_key)
38456 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
38457 (struct grub_reiserfs_node_body): Removed.
38458 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
38459 Likewise.
38460 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
38461 Likewise.
38462 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
38463 Likewise.
38464 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
38465 Likewise.
38466 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
38467 Likewise.
38468 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
38469 Likewise.
38470 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
38471 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
38472 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
38473
2f80039d 384742008-01-10 Robert Millan <rmh@aybabtu.com>
38475
38476 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
38477 Determines if a file is garbage left by packaging systems, etc.
38478 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
38479 for processing /etc/grub.d scripts.
38480 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
38481 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
38482 as a condition for processing Linux images.
38483
87888032 384842008-01-10 Pavel Roskin <proski@gnu.org>
38485
38486 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
38487 to compile reiserfs.c on PowerPC.
38488
7e54fced 384892008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 38490
38491 * kern/device.c (grub_device_iterate): Do not abort device iteration
38492 when one of the devices cannot be opened.
38493 * kern/disk.c (grub_disk_open): Do not account previous failures of
38494 unrelated functions when grub_errno is checked for.
38495
5aa541e6 384962008-01-08 Robert Millan <rmh@aybabtu.com>
38497
38498 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
38499 `! grub_linux_is_bzimage', change order of address comparison to make
38500 it more intuitive, and improve "too big zImage" error message.
38501
7076340d 385022008-01-08 Robert Millan <rmh@aybabtu.com>
38503
38504 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
38505 `$(update-grub_DATA)'.
38506 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
38507 targets.
38508
9ca70333 385092008-01-07 Robert Millan <rmh@aybabtu.com>
38510
38511 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
38512 which instruction is modified by grub-setup during installation
38513 (since it wasn't obvious by only looking at this file).
38514
38ccf575 385152008-01-07 Robert Millan <rmh@aybabtu.com>
38516
38517 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
38518 listing actual TODO items.
38519
f5db4291 385202008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
38521
868967cf 38522 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
38523 correctly.
38524 (grub_reiserfs_get_key_offset): Likewise.
38525 (grub_reiserfs_set_key_offset): Likewise.
38526 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 38527 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 38528
38529 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
38530 better to remove the bitfield version completely.
f19dbdb7 38531
868967cf 385322008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 38533
f5db4291 38534 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
38535 allocated from the heap, due to the fshelp implementation.
38536 (grub_reiserfs_dir): Free NODE, due to the same reason.
38537
492e6d9d 385382008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
38539
38540 Mostly from Vincent Pelletier:
f19dbdb7 38541
492e6d9d 38542 * fs/reiserfs.c: New file.
f19dbdb7 38543
492e6d9d 38544 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
38545 (reiserfs_mod_SOURCES): New variable.
38546 (reiserfs_mod_CFLAGS): Likewise.
38547 (reiserfs_mod_LDFLAGS): Likewise.
38548
38549 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
38550 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
38551 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
38552 normal/color.c.
38553
9ce3e7c1 385542008-01-06 Robert Millan <rmh@aybabtu.com>
38555
38556 * normal/color.c: Remove `<grub/env.h>'.
38557
f3b58148 385582008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
38559
38560 * include/grub/normal.h: Include <grub/env.h>.
38561
7ac3bcfa 385622008-01-05 Robert Millan <rmh@aybabtu.com>
38563
38564 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
38565 usage example with `(hd0,1)'.
fb358190 38566 Reported by Samuel Thibault.
7ac3bcfa 38567
c8ee99d7 385682008-01-05 Robert Millan <rmh@aybabtu.com>
38569
38570 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
38571 (grub_linux_boot_zimage): Rename to ...
38572 (grub_linux_boot): ... this.
38573 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
38574 (grub_linux_boot_zimage): Conditionalize zImage copy.
38575
38576 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
38577 (grub_linux_boot_bzimage): Remove prototype.
38578 (grub_linux_boot_zimage): Rename to ...
38579 (grub_linux_boot): ... this.
38580
38581 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
38582 (grub_linux_boot): Remove function.
38583
0ece25b1 385842008-01-05 Robert Millan <rmh@aybabtu.com>
38585
38586 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
38587 (grub_env_write_color_highlight): Likewise.
38588 (grub_wait_after_message): Likewise.
38589
38590 * normal/color.c: New file.
38591
38592 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
38593 (normal_mod_DEPENDENCIES): Likewise.
38594
38595 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
38596 (normal_mod_DEPENDENCIES): Likewise.
38597
38598 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
38599 (normal_mod_DEPENDENCIES): Likewise.
38600
38601 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
38602 (normal_mod_DEPENDENCIES): Likewise.
38603
38604 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
38605 for waiting after a message is printed.
38606 * normal/main.c (read_config_file): Likewise.
38607 (grub_normal_init): Register grub_env_write_color_normal() and
38608 grub_env_write_color_highlight() hooks. Mark `color_normal' and
38609 `color_highlight' variables as global.
38610
38611 * normal/menu.c (grub_wait_after_message): New function.
38612 (grub_color_menu_normal): New variable. Replaces ...
38613 (GRUB_COLOR_MENU_NORMAL): ... this macro.
38614 (grub_color_menu_highlight): New variable. Replaces ...
38615 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
38616 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
38617 `GRUB_TERM_COLOR_STANDARD'.
38618 (print_message): Use `grub_setcolorstate' to reload colors. Rename
38619 `normal_code' and `highlight_code' to `old_color_normal' and
38620 `old_color_highlight', respectively.
38621 (grub_menu_init_page): Update colors when drawing the menu, based on
38622 `menu_color_normal' and `menu_color_highlight' variables.
38623 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
38624 a message is printed.
38625
182dd4e5 386262008-01-05 Robert Millan <rmh@aybabtu.com>
38627
38628 * kern/env.c (grub_env_context_open): Propagate hooks for global
38629 variables to new context.
38630
38631 * kern/main.c (grub_set_root_dev): Export `root' variable.
38632
ddf8f6ad 386332008-01-05 Robert Millan <rmh@aybabtu.com>
38634
38635 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 38636 discs unconditionally, since udev and others have options to provide
ddf8f6ad 38637 them.
38638
d8b43d9b 386392008-01-05 Robert Millan <rmh@aybabtu.com>
38640
38641 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
38642
2bff2de3 386432008-01-04 Christian Franke <franke@computer.org>
38644
38645 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
38646 of eisa_mmap.
38647
97eab917 386482008-01-03 Pavel Roskin <proski@gnu.org>
38649
38650 * kern/i386/linuxbios/init.c: Put "void" to all function
38651 declarations with no arguments.
38652 * kern/powerpc/ieee1275/init.c: Likewise.
38653 * term/i386/pc/at_keyboard.c: Likewise.
38654 * term/i386/pc/vga_text.c: Likewise.
38655 * util/grub-mkdevicemap.c: Likewise.
38656
b9416d00 386572008-01-02 Robert Millan <rmh@aybabtu.com>
38658
38659 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
38660 message when loaded image is out of bounds.
38661 (grub_multiboot_load_elf64): Likewise.
38662
92695df9 386632008-01-02 Pavel Roskin <proski@gnu.org>
38664
38665 * util/grub.d/10_linux.in: Try version without ".old" when
38666 looking for initrd. It's better to use initrd from the newer
38667 kernel of the same version than no initrd at all.
38668
d98d9cad 386692008-01-01 Robert Millan <rmh@aybabtu.com>
38670
38671 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
38672
dbfdce36 386732008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
38674
f19dbdb7 38675 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 38676 grub_video_get_active_render_target.
38677 (grub_video_adapter): Added unmap_color and get_active_render_target.
38678
f19dbdb7 38679 * video/video.c: Added grub_video_unmap_color and
dbfdce36 38680 grub_video_get_active_render_target.
38681 (grub_video_get_info): Changed method to accept NULL pointer as an
38682 argument to allow detection of active video adapter.
38683
38684 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
38685 grub_video_vbe_unmap_color_int.
38686 Added grub_video_vbe_unmap_color and
38687 grub_video_vbe_get_active_render_target.
38688 (grub_video_vbe_adapter): Added unmap_color and
38689 get_active_render_target.
38690
f19dbdb7 38691 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 38692 with grub_video_vbe_unmap_color_int.
38693
38694 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
38695 (DEFAULT_NORMAL_COLOR): Likewise.
38696 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
38697 (DEFAULT_FG_COLOR): Removed.
38698 (DEFAULT_BG_COLOR): Likewise.
38699 (DEFAULT_CURSOR_COLOR): Changed value.
38700 (grub_virtual_screen): Added standard_color_setting,
38701 normal_color_setting, highlight_color_setting and term_color.
38702 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
38703 (bitmap_width): Added.
38704 (bitmap_height): Likewise.
38705 (bitmap): Likewise.
38706 (set_term_color): Likewise.
38707 (grub_virtual_screen_setup): Changed to use new terminal coloring
38708 settings.
38709 (grub_gfxterm_init): Added init for bitmap.
38710 (grub_gfxterm_fini): Added destroy for bitmap.
38711 (redraw_screen_rect): Updated to use background bitmap and new
38712 terminal coloring.
38713 (scroll_up): Added optimization for case when there is no bitmap.
38714 (grub_gfxterm_cls): Fixed to use correct background color.
38715 (grub_virtual_screen_setcolorstate): Changed to use new terminal
38716 coloring.
38717 (grub_virtual_screen_setcolor): Likewise.
38718 (grub_virtual_screen_getcolor): Added.
38719 (grub_gfxterm_background_image_cmd): Likewise.
38720 (grub_video_term): Added setcolor and getcolor.
38721 (MOD_INIT): Added registration of background_image command.
38722 (MOD_TERM): Added unregistration for background_image command.
38723
c3c20931 387242007-12-30 Pavel Roskin <proski@gnu.org>
38725
38726 * loader/multiboot_loader.c: Fix multiboot command
38727 unregistration. Fix all typos in the word "multiboot".
38728
df266716 387292007-12-29 Pavel Roskin <proski@gnu.org>
94239199 38730
38731 * util/grub.d/10_linux.in: Refactor search for initrd. Add
38732 support for initrd names used in Fedora.
38733
fc6e896c 387342007-12-26 Bean <bean123ch@gmail.com>
38735
38736 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
38737 (cpio_mod_SOURCES): New variable.
38738 (cpio_mod_CFLAGS): Likewise.
38739 (cpio_mod_LDFLAGS): Likewise.
38740
38741 * fs/cpio.c: New file.
38742
38743 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
38744
38745 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38746
38747 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
38748
38749 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38750
533110ad 387512007-12-25 Robert Millan <rmh@aybabtu.com>
38752
38753 * include/grub/term.h (struct grub_term): Add `getcolor' function.
38754 (grub_getcolor): New function.
38755
38756 * kern/term.c (grub_getcolor): New function.
38757 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
38758 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
38759 (print_entry): Set normal and highlight colors to
38760 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
38761 respectively, before printing and restore them to old
38762 values afterwards.
38763 (grub_menu_init_page): Likewise. Fill an additional colored space
38764 that would otherwise be left blank.
38765
38766 * term/efi/console.c (grub_console_getcolor): New function.
38767 (struct grub_console_term.getcolor): New variable.
38768 * term/i386/pc/console.c (grub_console_getcolor): New function.
38769 (struct grub_console_term.getcolor): New variable.
38770 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
38771 (struct grub_console_term.getcolor): New variable.
38772
38773 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
38774 (struct grub_console_term.setcolor): Remove variable.
38775 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
38776 (struct grub_console_term.setcolor): Remove variable.
38777 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
38778 (struct grub_console_term.setcolor): Remove variable.
38779 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
38780 (struct grub_console_term.setcolor): Remove variable.
38781
4931827f 387822007-12-25 Robert Millan <rmh@aybabtu.com>
38783
38784 * configure.ac: Search for possible unifont.hex locations, and
38785 define UNIFONT_HEX if found.
38786
38787 * Makefile.in (UNIFONT_HEX): Define variable.
38788 (DATA): Rename to ...
38789 (PKGLIB): ... this. Update all users.
38790 (PKGDATA): New variable.
38791 (pkgdata_IMAGES): Rename to ...
38792 (pkglib_IMAGES): ... this. Update all users.
38793 (pkgdata_MODULES): Rename to ...
38794 (pkglib_MODULES): ... this. Update all users.
38795 (pkgdata_PROGRAMS): Rename to ...
38796 (pkglib_PROGRAMS): ... this. Update all users.
38797 (pkgdata_DATA): Rename to ...
38798 (pkglib_DATA): ... this. Update all users.
38799 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
38800 (unicode.pff, ascii.pff): New rules.
38801 (all-local): Add `$(PKGDATA)' dependency.
38802 (install-local): Process `$(PKGDATA)'.
38803
38804 * util/update-grub_lib.in (font_path): Search for *.pff files in
38805 a few more locations, including `${pkgdata}'.
38806
57e57e31 388072007-12-23 Robert Millan <rmh@aybabtu.com>
38808
38809 Patch from Bean <bean123ch@gmail.com>:
38810 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
38811 `size'.
38812
4bc72aa9 388132007-12-21 Bean <bean123ch@gmail.com>
38814
38815 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
38816 (ntfscomp_mod_SOURCES): New variable.
38817 (ntfscomp_mod_CFLAGS): Likewise.
38818 (ntfscomp_mod_LDFLAGS): Likewise.
38819
38820 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
38821 (grub_probe_SOURCES): Likewise.
38822 (grub_emu_SOURCES): Likewise.
38823
38824 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
38825 (grub_emu_SOURCES): Likewise.
38826
38827 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
38828 (grub_emu_SOURCES): Likewise.
38829
38830 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
38831 (grub_emu_SOURCES): Likewise.
38832
38833 * fs/ntfs.c (grub_ntfscomp_func): New variable.
38834 (read_run_list): Renamed to grub_ntfs_read_run_list.
38835 (decomp_nextvcn): Moved to ntfscomp.c.
38836 (decomp_getch): Likewise.
38837 (decomp_get16): Likewise.
38838 (decomp_block): Likewise.
38839 (read_block): Likewise.
38840 (read_data): Partially moved to ntfscomp.c.
38841 (fixup): Change unsigned to grub_uint16_t.
38842 (read_mft): Change unsigned long to grub_uint32_t.
38843 (read_attr): Likewise.
38844 (read_data): Likewise.
38845 (read_run_data): Likewise.
38846 (read_run_list): Likewise.
38847 (read_mft): Likewise.
38848
38849 * fs/ntfscomp.c: New file.
38850
38851 * include/grub/ntfs.h: New file.
38852
af680a87 388532007-12-16 Robert Millan <rmh@aybabtu.com>
38854
38855 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
38856 IDE disk check, since Linux is known to support 20 IDE disks.
38857 Reported by Colin Watson.
38858
84be7599 388592007-12-15 Bean <bean123ch@gmail.com>
38860
38861 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
38862 (lnxboot_img_SOURCES): New variable.
38863 (lnxboot_img_ASFLAGS): Likewise.
38864 (lnxboot_img_LDFLAGS): Likewise.
38865
38866 * boot/i386/pc/lnxboot.S: New file.
38867
6af9db01 388682007-11-24 Pavel Roskin <proski@gnu.org>
38869
38870 * configure.ac: Test if '--build-id=none' is supported by the
38871 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
38872 objcopy to generate incorrect binary files (binutils
38873 2.17.50.0.18-1 as shipped by Fedora 8).
38874 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
38875 linking, so that build ID doesn't break the test.
38876
7361cfe6 388772007-11-24 Pavel Roskin <proski@gnu.org>
38878
38879 * include/grub/i386/time.h: use "void" in the argument list
38880 of grub_cpu_idle().
38881 * include/grub/powerpc/time.h: Likewise.
38882 * include/grub/sparc64/time.h: Likewise.
38883
1593e10c 388842007-11-18 Christian Franke <franke@computer.org>
38885
38886 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
38887 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
38888 This fixes the problem that function keys did not work in grub-emu.
38889
3b8db1a8 388902007-11-18 Christian Franke <franke@computer.org>
38891
38892 * disk/host.c (grub_host_open): Remove attribute unused from
38893 name parameter. Add check for "host". This fixes the problem
38894 that grub-emu does not find partitions.
38895
2e29408d 388962007-11-18 Christian Franke <franke@computer.org>
38897
38898 * util/hostfs.c (is_dir): New function.
38899 (grub_hostfs_dir): Handle missing dirent.d_type case.
38900 (grub_hostfs_read): Add missing fseek().
38901 (grub_hostfs_label): Clear label pointer. This fixes a crash
38902 of grub-emu on "ls (host)".
38903
398cd047 389042007-11-18 Christian Franke <franke@computer.org>
38905
38906 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
38907 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
38908 to 64 bit boundary by default.
38909
c405c391 389102007-11-18 Bean <bean123ch@gmail.com>
38911
38912 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
38913 (hexdump_mod_SOURCES): New variable.
38914 (hexdump_mod_CFLAGS): Likewise.
38915 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 38916
c405c391 38917 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38918
38919 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38920
38921 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38922
38923 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38924
38925 * include/grub/hexdump.h: New file.
38926
38927 * commands/hexdump.c: New file.
38928
5cced7fd 389292007-11-10 Robert Millan <rmh@aybabtu.com>
38930
38931 * commands/i386/pc/play.c (beep_off): Switch order of arguments
38932 in grub_outb() calls.
38933 (beep_on): Likewise.
38934
8b714eb0 389352007-11-10 Christian Franke <franke@computer.org>
38936
38937 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
38938 (grub_menu_run): Likewise.
38939
ce0f1839 389402007-11-10 Robert Millan <rmh@aybabtu.com>
38941
38942 * include/grub/i386/efi/machine.h: New file.
38943 * include/grub/i386/linuxbios/machine.h: Likewise.
38944 * include/grub/i386/pc/machine.h: Likewise.
38945 * include/grub/powerpc/ieee1275/machine.h: Likewise.
38946 * include/grub/sparc64/ieee1275/machine.h: Likewise.
38947
38948 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
38949 (serial_hw_io_addr): New variable.
38950 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
38951 instead of `(unsigned short *) 0x400'.
38952
270c237d 389532007-11-10 Bean <bean123ch@gmail.com>
38954
38955 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
38956
a87783bf 389572007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
38958
38959 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
38960 (vga_mod_SOURCES): Added.
38961 (vga_mod_CFLAGS): Likewise.
38962 (vga_mod_LDFLAGS): Likewise.
38963
38964 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
38965 grub_outb() calls.
38966 (set_map_mask): Likewise.
38967 (set_read_map): Likewise.
38968 (set_read_address): Likewise.
38969 (vga_font): Removed variable.
38970 (get_vga_glyph): Removed function.
38971 (invalidate_char): Likewise.
38972 (write_char): Changed to use grub_font_get_glyph() for font
38973 information.
38974 (grub_vga_putchar): Likewise.
38975 (grub_vga_getcharwidth): Likewise.
38976
6433b448 389772007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
38978
38979 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
38980 flags.
38981 (pxeboot_img_LDFLAGS): Likewise.
38982 (diskboot_img_LDFLAGS): Likewise.
38983 (kernel_img_LDFLAGS): Likewise.
38984
49178511 389852007-11-06 Robert Millan <rmh@aybabtu.com>
38986
38987 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
38988 in grub_outb() calls.
38989 (serial_hw_init): Likewise.
38990
53b052de 389912007-11-05 Robert Millan <rmh@aybabtu.com>
38992
38993 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
38994 spaces. Skip non-regular files.
38995
5ab33bba 389962007-11-05 Robert Millan <rmh@aybabtu.com>
38997
38998 * kern/disk.c (grub_disk_firmware_fini)
38999 (grub_disk_firmware_is_tainted): New variables.
39000
39001 * include/grub/disk.h (grub_disk_firmware_fini)
39002 (grub_disk_firmware_is_tainted): Likewise.
39003
39004 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
39005 (grub_disk_biosdisk_fini): ... to here.
39006 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
39007 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
39008 is set. Register grub_disk_biosdisk_fini() in
39009 `grub_disk_firmware_fini'.
39010
39011 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
39012 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
39013 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
39014 to finish existing firmware disk interface.
39015
39016 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
39017 (ata_mod_SOURCES): New variable.
39018 (ata_mod_CFLAGS): Likewise.
39019 (ata_mod_LDFLAGS): Likewise.
39020
0149ab7c 390212007-11-05 Robert Millan <rmh@aybabtu.com>
39022
39023 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
39024 (grub_ata_wait): Reimplement using grub_millisleep().
39025
39026 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
39027 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
39028
be7ac41e 390292007-11-03 Marco Gerards <marco@gnu.org>
39030
39031 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
39032 (CRTC_ADDR_PORT): New macro.
39033 (CRTC_DATA_PORT): Likewise.
39034 (CRTC_CURSOR): Likewise.
39035 (CRTC_CURSOR_ADDR_HIGH): Likewise.
39036 (CRTC_CURSOR_ADDR_LOW): Likewise.
39037 (update_cursor): New function.
39038 (grub_console_real_putchar): Call `update_cursor'.
39039 (grub_console_gotoxy): Likewise.
39040 (grub_console_cls): Set the default color when clearing the
39041 screen.
39042 (grub_console_setcursor): Implemented.
39043
bb06ab2e 390442007-11-03 Marco Gerards <marco@gnu.org>
39045
39046 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
39047 become activate.
39048 (grub_ata_pio_write): Likewise.
39049
39050 (grub_atapi_identify): Wait after issuing an ATA command.
39051 (grub_atapi_packet): Likewise.
39052 (grub_ata_identify): Likewise.
39053 (grub_ata_readwrite): Likewise.
39054
cf8f780b 390552007-11-03 Marco Gerards <marco@gnu.org>
39056
39057 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
39058 (grub_ata_pio_write): Likewise.
39059 (grub_ata_readwrite): Use `grub_error', instead of
39060 returning `grub_errno'.
39061
ed649e54 390622007-11-03 Marco Gerards <marco@gnu.org>
39063
39064 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
39065 grub_ata_pio_write once for every single sector, instead of for
39066 multiple sectors.
39067
ca25d8f0 390682007-10-31 Robert Millan <rmh@aybabtu.com>
39069
39070 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
39071
39072 * conf/i386-linuxbios.rmk: New file.
39073
39074 * kern/i386/pc/hardware.c: Likewise.
39075 * term/i386/pc/at_keyboard.c: Likewise.
39076 * term/i386/pc/vga_text.c: Likewise.
39077
39078 * include/grub/i386/linuxbios/boot.h: Likewise.
39079 * include/grub/i386/linuxbios/console.h: Likewise.
39080 * include/grub/i386/linuxbios/init.h: Likewise.
39081 * include/grub/i386/linuxbios/kernel.h: Likewise.
39082 * include/grub/i386/linuxbios/loader.h: Likewise.
39083 * include/grub/i386/linuxbios/memory.h: Likewise.
39084 * include/grub/i386/linuxbios/serial.h: Likewise.
39085 * include/grub/i386/linuxbios/time.h: Likewise.
39086
39087 * kern/i386/linuxbios/init.c: Likewise.
39088 * kern/i386/linuxbios/startup.S: Likewise.
39089 * kern/i386/linuxbios/table.c: Likewise.
39090
e911ecc1 390912007-10-31 Marco Gerards <marco@gnu.org>
39092
39093 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
39094 (ata_mod_SOURCES): New variable.
39095 (ata_mod_CFLAGS): Likewise.
39096 (ata_mod_LDFLAGS): Likewise.
39097
39098 * disk/ata.c: New file.
39099
39100 * include/grub/disk.h (grub_disk_dev_id): Add
39101 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 39102
7f66d0e0 391032007-10-31 Robert Millan <rmh@aybabtu.com>
39104
39105 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
39106 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
39107
39108 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
39109 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
39110
39111 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
39112 `<grub/types.h>'.
39113
39114 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
39115
5cd7dd46 391162007-10-27 Robert Millan <rmh@aybabtu.com>
39117
3236ca65 39118 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 39119
2ebfc90f 391202007-10-22 Robert Millan <rmh@aybabtu.com>
39121
39122 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
39123 `"../realmode.S"'.
39124 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
39125
73fcb0f3 391262007-10-22 Robert Millan <rmh@aybabtu.com>
39127
39128 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
39129 (pkgdata_MODULES): Add `biosdisk.mod'.
39130 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
39131 variables.
39132
39133 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
39134 (grub_biosdisk_init): Replace with ...
39135 (GRUB_MOD_INIT(biosdisk)): ... this.
39136 (grub_biosdisk_fini): Replace with ...
39137 (GRUB_MOD_FINI(biosdisk)): ... this.
39138
39139 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
39140 (grub_machine_init): Remove call to grub_biosdisk_init().
39141 (grub_machine_fini): Remove call to grub_machine_fini().
39142
39143 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
39144
3381d274 391452007-10-22 Robert Millan <rmh@aybabtu.com>
39146
39147 * include/grub/time.h: New file.
39148 * include/grub/i386/time.h: Likewise.
39149 * include/grub/powerpc/time.h: Likewise.
39150 * include/grub/sparc64/time.h: Likewise.
39151
39152 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
39153 instances to ...
39154 (KERNEL_MACHINE_TIME_HEADER): ... this.
39155 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
39156 instances to ...
39157 (KERNEL_MACHINE_TIME_HEADER): ... this.
39158 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
39159 instances to ...
39160 (KERNEL_MACHINE_TIME_HEADER): ... this.
39161
39162 * kern/i386/efi/init.c: Include `<grub/time.h>'.
39163 (grub_millisleep): New function.
39164 * kern/i386/pc/init.c: Include `<grub/time.h>'.
39165 (grub_millisleep): New function.
39166 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
39167 Remove `grub/machine/time.h' include.
39168 (grub_millisleep): New function.
39169 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
39170 Remove `grub/machine/time.h' include.
39171 (grub_millisleep): New function.
39172
39173 * include/grub/misc.h (grub_div_roundup): New function.
39174
39175 * kern/misc.c: Include `<grub/time.h>'.
39176 (grub_millisleep_generic): New function.
39177
39178 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
39179 Add `time.h'.
39180 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
39181 Add `time.h'.
39182 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
39183 `machine/time.h'. Add `time.h'.
39184 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
39185
a39a0312 391862007-10-21 Robert Millan <rmh@aybabtu.com>
39187
39188 * include/grub/misc.h (grub_max): New function.
39189
2aad70e2 391902007-10-21 Robert Millan <rmh@aybabtu.com>
39191
39192 * util/misc.c (grub_util_info): Call fflush() before returning.
39193
54b71c4b 391942007-10-20 Robert Millan <rmh@aybabtu.com>
39195
39196 * genmk.rb (Image): Copy `extra_flags' from here ...
39197 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
39198
39199 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
39200 to `argc' and `args' arguments.
39201
a979f513 392022007-10-17 Robert Millan <rmh@aybabtu.com>
39203
39204 * kern/i386/loader.S: New file.
39205
39206 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
39207 * kern/i386/loader.S (grub_linux_prot_size)... to here.
39208 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
39209 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
39210 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
39211 * kern/i386/loader.S (grub_linux_real_addr)... to here.
39212 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
39213 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
39214 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
39215 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
39216 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
39217 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
39218 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
39219 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
39220
39221 * kern/i386/realmode.S: New file.
39222
39223 * kern/i386/pc/startup.S (protstack): Moved from here ...
39224 * kern/i386/realmode.S (protstack)... to here.
39225 * kern/i386/pc/startup.S (gdt): Moved from here ...
39226 * kern/i386/realmode.S (gdt)... to here.
39227 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
39228 * kern/i386/realmode.S (prot_to_real)... to here.
39229
39230 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
39231 `kern/i386/realmode.S'.
39232
825fc8fd 392332007-10-17 Robert Millan <rmh@aybabtu.com>
39234
39235 * include/grub/i386/loader.h: New file.
39236
39237 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
39238 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
39239 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
39240 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
39241 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
39242 * include/grub/i386/loader.h (grub_linux_prot_size)
39243 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
39244 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
39245 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
39246 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
39247
39248 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
39249
e179b2f4 392502007-10-15 Robert Millan <rmh@aybabtu.com>
39251
39252 * normal/misc.c (grub_normal_print_device_info): Do not probe for
39253 filesystem when dev->disk is unset.
39254 Do probe for filesystem even when dev->disk->has_partitions is set.
39255 In case a filesystem is found, always report it.
39256 In case it isn't, if dev->disk->has_partitions is set, report that
39257 a partition table was found instead of reporting that no filesystem
39258 could be identified.
39259
5db82af6 392602007-10-12 Robert Millan <rmh@aybabtu.com>
39261
39262 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
39263 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
39264
68f6ac74 39265 * include/grub/types.h (grub_host_to_target16): New macro.
39266 (grub_host_to_target32): Likewise.
39267 (grub_host_to_target64): Likewise.
39268 (grub_target_to_host16): Likewise.
39269 (grub_target_to_host32): Likewise.
39270 (grub_target_to_host64): Likewise.
5db82af6 39271
39272 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
39273 Renamed from to ...
39274 (GRUB_MOD_ALIGN): ...this. Update all users.
39275
68f6ac74 39276 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
39277 grub_host_to_target32.
39278 Replace grub_be_to_cpu32 with grub_target_to_host32.
39279 (load_modules): Likewise.
39280 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
39281 Replace grub_be_to_cpu32 with grub_target_to_host32.
39282 Replace grub_cpu_to_be16 with grub_host_to_target16.
39283 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 39284
3cf497cc 392852007-10-12 Robert Millan <rmh@aybabtu.com>
39286
39287 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
39288 * util/elf/grub-mkimage.c: ... here.
39289
39290 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
39291 `util/powerpc/ieee1275/grub-mkimage.c'.
39292
c8cc3692 392932007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 39294
c8cc3692 39295 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
39296 and make it easier to figure out.
39297 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
39298 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
39299 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
39300 leave us with less than HEAP_MIN_SIZE total heap.
39301 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 39302
5c58b791 393032007-10-03 Robert Millan <rmh@aybabtu.com>
39304
39305 * include/grub/i386/io.h: New file.
39306 * commands/i386/pc/play.c (inb): Removed.
39307 (outb): Removed.
39308 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
39309 with grub_outb().
afcd2ef8 39310 * term/i386/pc/serial.c (inb): Removed.
39311 (outb): Removed.
39312 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
39313 with grub_outb().
39314 * term/i386/pc/vga.c (inb): Removed.
39315 (outb): Removed.
39316 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
39317 with grub_outb().
5c58b791 39318
1a477ed6 393192007-10-02 Robert Millan <rmh@aybabtu.com>
39320
39321 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
39322 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39323 Reported by Marcin Kurek.
39324
6b5d80fa 393252007-09-07 Robert Millan <rmh@aybabtu.com>
39326
39327 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
39328 SmartFirmware version updates (as released by Sven Luther), and avoid
39329 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
39330 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
39331 known broken.
39332
5618afbf 393332007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
39334
39335 From Hitoshi Ozeki:
39336 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
39337 when merging two regions.
39338
6139dcd9 393392007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
39340
508e39ee 39341 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
39342 * normal/completion.c (grub_normal_do_completion): Likewise.
39343 Reported by Hitoshi Ozeki.
39344
393452007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 39346
6139dcd9 39347 Do not use devices at boot in chainloading.
f19dbdb7 39348
6139dcd9 39349 * loader/i386/pc/chainloader.c (boot_drive): New variable.
39350 (boot_part_addr): Likewise.
39351 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
39352 with BOOT_DRIVE and BOOT_PART_ADDR.
39353 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
39354 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
39355
38da6516 393562007-08-29 Robert Millan <rmh@aybabtu.com>
39357
39358 Patch from Simon Peter <dn.tlp@gmx.net>:
39359 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
39360 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
39361 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
39362 util/i386/pc/grub-setup.c_DEPENDENCIES.
39363 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
39364 util/grub-probe.c_DEPENDENCIES.
39365 * conf/powerpc-ieee1275.rmk: Likewise.
39366
29d0928c 393672007-08-28 Robert Millan <rmh@aybabtu.com>
39368
39369 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
39370 to tell grub-mkdevicemap how to name devices.
39371 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
39372 feature).
39373
39374 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
39375 util/i386/get_disk_name.c.
39376 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
39377 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
39378 util/ieee1275/get_disk_name.c.
39379
39380 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
39381
39382 * DISTLIST: Add util/i386/get_disk_name.c and
39383 util/ieee1275/get_disk_name.c.
39384
39385 * util/grub-mkdevicemap.c: Replace device naming logic with
39386 grub_util_get_disk_name() calls.
39387
5a0d3cca 393882007-08-20 Robert Millan <rmh@aybabtu.com>
39389
39390 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
39391 (so that it works for both plural and singular quantities).
39392
8b72db2f 393932007-08-05 Robert Millan <rmh@aybabtu.com>
39394
39395 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
39396 so that [xz] isn't taken into account when determining order.
39397
352466bf 393982007-08-02 Marco Gerards <marco@gnu.org>
39399
39400 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
39401 `include/multiboot2.h', `include/grub/elfload.h',
39402 `include/multiboot.h', `include/grub/multiboot.h',
39403 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
39404 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
39405 `kern/elf.c', `loader/multiboot_loader.c',
39406 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
39407 `loader/i386/pc/multiboot2.c',
39408 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
39409 `util/i386/pc/grub-mkrescue.in'. Remove
39410 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
39411 `include/grub/i386/pc/util/biosdisk.h' and
39412 `include/grub/powerpc/ieee1275/multiboot.h'.
39413
8f096014 394142007-08-02 Bean <bean123ch@gmail.com>
39415
39416 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
39417 (ntfs_mod_SOURCES): New variable.
39418 (ntfs_mod_CFLAGS): Likewise.
39419 (ntfs_mod_LDFLAGS): Likewise.
39420
39421 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
39422 (grub_probe_SOURCES): Likewise.
39423 (grub_emu_SOURCES): Likewise.
39424
39425 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
39426 (grub_emu_SOURCES): Likewise.
39427
39428 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
39429 (grub_emu_SOURCES): Likewise.
f19dbdb7 39430
8f096014 39431 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
39432
39433 * fs/ntfs.c: New file.
39434
9959f7db 394352007-08-02 Bean <bean123ch@gmail.com>
39436
39437 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
39438
39439 * file.h (grub_file): Likewise.
39440
39441 * fshelp.h (grub_fshelp_read_file): Likewise.
39442
39443 * util/i386/pc/grub-setup.c (setup): Likewise.
39444 (save_first_sector): Likewise.
39445 (save_blocklists): Likewise.
f19dbdb7 39446
9959f7db 39447 * fs/affs.c (grub_affs_read_file): Likewise.
39448
39449 * fs/ext2.c (grub_ext2_read_file): Likewise.
39450
39451 * fs/fat.c (grub_fat_read_data): Likewise.
39452
39453 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
39454
39455 * fs/hfs.c (grub_hfs_read_file): Likewise.
39456
39457 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
39458
39459 * fs/jfs.c (grub_jfs_read_file): Likewise.
39460
39461 * fs/minix.c (grub_minix_read_file): Likewise.
39462
39463 * fs/sfs.c (grub_sfs_read_file): Likewise.
39464
39465 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 39466
9959f7db 39467 * fs/xfs.c (grub_xfs_read_file): Likewise.
39468
39469 * command/blocklist.c (read_blocklist): Likewise.
39470 (print_blocklist): Likewise.
39471
0a203f83 394722007-08-02 Marco Gerards <marco@gnu.org>
39473
39474 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
39475 `util/hostfs.c'.
39476
39477 * disk/host.c: New file.
39478
39479 * util/hostfs.c: Likewise.
39480
39481 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
39482 return `GRUB_ERR_BAD_FS'.
39483 * fs/sfs.c (grub_sfs_mount): Likewise.
39484 * fs/xfs.c (grub_xfs_mount): Likewise.
39485
39486 * include/grub/disk.h (enum grub_disk_dev_id): Add
39487 `GRUB_DISK_DEVICE_HOST_ID'.
39488
39489 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
39490
e5dfe777 394912007-07-24 Jerone Young <jerone@gmail.com>
39492
f19dbdb7 39493 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 39494 modules for compilation.
39495 * conf/powerpc-ieee1275.rmk: Likewise.
39496
39497 * include/multiboot.h: Move multiboot definitions to one file. Rename
39498 many definitions to not get grub specific.
39499 * include/multiboot2.h: Create header with multiboot 2 definitions.
39500 * include/grub/multiboot.h: Header for grub specific function
39501 prototypes and definitions.
39502 * include/grub/multiboot2.h: Likewise.
39503 * include/grub/multiboot_loader.h: Likewise.
39504 * include/grub/i386/pc/multiboot.h: Removed.
39505 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
39506
39507 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
39508 and 2 to allow for one multiboot and module commands.
39509 * loader/multiboot2.c: Add multiboot2 functionality.
39510 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
39511 and definition names.
39512 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
39513 2 functions.
39514 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
39515 ieee1275 specific multiboot2 code.
39516
39517 * kern/i386/pc/startup.S: Change headers and definition names for
39518 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
39519
daf0f0ba 395202007-07-22 Robert Millan <rmh@aybabtu.com>
39521
39522 * geninitheader.sh: Process file specified in first parameter rather
39523 than hardcoding grub_modules_init.lst.
fe6b695a 39524 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 39525 than hardcoding grub_modules_init.h.
39526
39527 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
39528 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
39529 grub_probe_init.[ch] and grub_setup_init.[ch].
39530
39531 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
39532 grub_modules_init.h with grub_emu_init.h.
39533 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
39534 grub_probe_init.[ch] files.
39535 * conf/i386-efi.rmk: Likewise.
39536 * conf/i386-pc.rmk: Likewise.
39537 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
39538 grub_setup_init.[ch] files.
39539
39540 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
39541 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
39542 to initialize modules rather than a list of hardcoded functions.
39543 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
39544 grub_init_all() to initialize modules rather than a list of hardcoded
39545 functions.
39546
54cdc1cc 395472007-07-22 Robert Millan <rmh@aybabtu.com>
39548
39549 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
39550 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
39551
ad0686cc 395522007-07-22 Robert Millan <rmh@aybabtu.com>
39553
39554 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
39555 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
39556 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
39557 flag when running on SmartFirmware.
39558 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
39559 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
39560 was set.
39561
39562 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
39563 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
39564 rather than decreasing it.
39565
39566 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
39567 there's not enough space to do it, fail in the same way as when it
39568 can't be done because there are no partitions.
39569
39570 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
39571 when nvsetenv failed.
39572
969c02ec 395732007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
39574
39575 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
39576 because this rule is automatically generated.
39577 (grub-mkrescue): Removed for the same reason as above.
39578
5a79f472 395792007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
39580
39581 Migrate to GNU General Public License Version 3.
f19dbdb7 39582
5a79f472 39583 * COPYING: Replaced with the plain text version of GPLv3.
39584
39585 * config.guess: Updated from gnulib.
39586 * config.sub: Likewise.
39587
39588 * geninit.sh: Output a GPLv3 copyright notice.
39589 * geninitheader.sh: Likewise.
39590 * genmodsrc.sh: Likewise.
39591 * gensymlist.sh.in: Likewise.
39592
39593 * boot/i386/pc/boot.S: Upgraded to GPLv3.
39594 * boot/i386/pc/diskboot.S: Likewise.
39595 * boot/i386/pc/pxeboot.S: Likewise.
39596 * commands/blocklist.c: Likewise.
39597 * commands/boot.c: Likewise.
39598 * commands/cat.c: Likewise.
39599 * commands/cmp.c: Likewise.
39600 * commands/configfile.c: Likewise.
39601 * commands/echo.c: Likewise.
39602 * commands/help.c: Likewise.
39603 * commands/ls.c: Likewise.
39604 * commands/search.c: Likewise.
39605 * commands/terminal.c: Likewise.
39606 * commands/test.c: Likewise.
39607 * commands/videotest.c: Likewise.
39608 * commands/i386/cpuid.c: Likewise.
39609 * commands/i386/pc/halt.c: Likewise.
39610 * commands/i386/pc/play.c: Likewise.
39611 * commands/i386/pc/reboot.c: Likewise.
39612 * commands/i386/pc/vbeinfo.c: Likewise.
39613 * commands/i386/pc/vbetest.c: Likewise.
39614 * commands/ieee1275/halt.c: Likewise.
39615 * commands/ieee1275/reboot.c: Likewise.
39616 * commands/ieee1275/suspend.c: Likewise.
39617 * disk/loopback.c: Likewise.
39618 * disk/lvm.c: Likewise.
39619 * disk/raid.c: Likewise.
39620 * disk/efi/efidisk.c: Likewise.
39621 * disk/i386/pc/biosdisk.c: Likewise.
39622 * disk/ieee1275/ofdisk.c: Likewise.
39623 * font/manager.c: Likewise.
39624 * fs/affs.c: Likewise.
39625 * fs/ext2.c: Likewise.
39626 * fs/fat.c: Likewise.
39627 * fs/fshelp.c: Likewise.
39628 * fs/hfs.c: Likewise.
39629 * fs/hfsplus.c: Likewise.
39630 * fs/iso9660.c: Likewise.
39631 * fs/jfs.c: Likewise.
39632 * fs/minix.c: Likewise.
39633 * fs/sfs.c: Likewise.
39634 * fs/ufs.c: Likewise.
39635 * fs/xfs.c: Likewise.
39636 * hello/hello.c: Likewise.
39637 * include/grub/acorn_filecore.h: Likewise.
39638 * include/grub/arg.h: Likewise.
39639 * include/grub/bitmap.h: Likewise.
39640 * include/grub/boot.h: Likewise.
39641 * include/grub/cache.h: Likewise.
39642 * include/grub/device.h: Likewise.
39643 * include/grub/disk.h: Likewise.
39644 * include/grub/dl.h: Likewise.
39645 * include/grub/elfload.h: Likewise.
39646 * include/grub/env.h: Likewise.
39647 * include/grub/err.h: Likewise.
39648 * include/grub/file.h: Likewise.
39649 * include/grub/font.h: Likewise.
39650 * include/grub/fs.h: Likewise.
39651 * include/grub/fshelp.h: Likewise.
39652 * include/grub/gzio.h: Likewise.
39653 * include/grub/hfs.h: Likewise.
39654 * include/grub/kernel.h: Likewise.
39655 * include/grub/loader.h: Likewise.
39656 * include/grub/lvm.h: Likewise.
39657 * include/grub/misc.h: Likewise.
39658 * include/grub/mm.h: Likewise.
39659 * include/grub/net.h: Likewise.
39660 * include/grub/normal.h: Likewise.
39661 * include/grub/parser.h: Likewise.
39662 * include/grub/partition.h: Likewise.
39663 * include/grub/pc_partition.h: Likewise.
39664 * include/grub/raid.h: Likewise.
39665 * include/grub/rescue.h: Likewise.
39666 * include/grub/script.h: Likewise.
39667 * include/grub/setjmp.h: Likewise.
39668 * include/grub/symbol.h: Likewise.
39669 * include/grub/term.h: Likewise.
39670 * include/grub/terminfo.h: Likewise.
39671 * include/grub/tparm.h: Likewise.
39672 * include/grub/types.h: Likewise.
39673 * include/grub/video.h: Likewise.
39674 * include/grub/efi/api.h: Likewise.
39675 * include/grub/efi/chainloader.h: Likewise.
39676 * include/grub/efi/console.h: Likewise.
39677 * include/grub/efi/console_control.h: Likewise.
39678 * include/grub/efi/disk.h: Likewise.
39679 * include/grub/efi/efi.h: Likewise.
39680 * include/grub/efi/pe32.h: Likewise.
39681 * include/grub/efi/time.h: Likewise.
39682 * include/grub/i386/linux.h: Likewise.
39683 * include/grub/i386/setjmp.h: Likewise.
39684 * include/grub/i386/types.h: Likewise.
39685 * include/grub/i386/efi/kernel.h: Likewise.
39686 * include/grub/i386/efi/loader.h: Likewise.
39687 * include/grub/i386/efi/time.h: Likewise.
39688 * include/grub/i386/pc/biosdisk.h: Likewise.
39689 * include/grub/i386/pc/boot.h: Likewise.
39690 * include/grub/i386/pc/chainloader.h: Likewise.
39691 * include/grub/i386/pc/console.h: Likewise.
39692 * include/grub/i386/pc/init.h: Likewise.
39693 * include/grub/i386/pc/kernel.h: Likewise.
39694 * include/grub/i386/pc/loader.h: Likewise.
39695 * include/grub/i386/pc/memory.h: Likewise.
39696 * include/grub/i386/pc/multiboot.h: Likewise.
39697 * include/grub/i386/pc/serial.h: Likewise.
39698 * include/grub/i386/pc/time.h: Likewise.
39699 * include/grub/i386/pc/vbe.h: Likewise.
39700 * include/grub/i386/pc/vbeblit.h: Likewise.
39701 * include/grub/i386/pc/vbefill.h: Likewise.
39702 * include/grub/i386/pc/vbeutil.h: Likewise.
39703 * include/grub/i386/pc/vga.h: Likewise.
39704 * include/grub/ieee1275/ieee1275.h: Likewise.
39705 * include/grub/ieee1275/ofdisk.h: Likewise.
39706 * include/grub/powerpc/libgcc.h: Likewise.
39707 * include/grub/powerpc/setjmp.h: Likewise.
39708 * include/grub/powerpc/types.h: Likewise.
39709 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
39710 * include/grub/powerpc/ieee1275/console.h: Likewise.
39711 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
39712 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
39713 * include/grub/powerpc/ieee1275/loader.h: Likewise.
39714 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
39715 * include/grub/powerpc/ieee1275/time.h: Likewise.
39716 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
39717 * include/grub/sparc64/libgcc.h: Likewise.
39718 * include/grub/sparc64/setjmp.h: Likewise.
39719 * include/grub/sparc64/types.h: Likewise.
39720 * include/grub/sparc64/ieee1275/console.h: Likewise.
39721 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
39722 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
39723 * include/grub/sparc64/ieee1275/time.h: Likewise.
39724 * include/grub/util/biosdisk.h: Likewise.
39725 * include/grub/util/getroot.h: Likewise.
39726 * include/grub/util/lvm.h: Likewise.
39727 * include/grub/util/misc.h: Likewise.
39728 * include/grub/util/raid.h: Likewise.
39729 * include/grub/util/resolve.h: Likewise.
39730 * io/gzio.c: Likewise.
39731 * kern/device.c: Likewise.
39732 * kern/disk.c: Likewise.
39733 * kern/dl.c: Likewise.
39734 * kern/elf.c: Likewise.
39735 * kern/env.c: Likewise.
39736 * kern/err.c: Likewise.
39737 * kern/file.c: Likewise.
39738 * kern/fs.c: Likewise.
39739 * kern/loader.c: Likewise.
39740 * kern/main.c: Likewise.
39741 * kern/misc.c: Likewise.
39742 * kern/mm.c: Likewise.
39743 * kern/parser.c: Likewise.
39744 * kern/partition.c: Likewise.
39745 * kern/rescue.c: Likewise.
39746 * kern/term.c: Likewise.
39747 * kern/efi/efi.c: Likewise.
39748 * kern/efi/init.c: Likewise.
39749 * kern/efi/mm.c: Likewise.
39750 * kern/i386/dl.c: Likewise.
39751 * kern/i386/efi/init.c: Likewise.
39752 * kern/i386/efi/startup.S: Likewise.
39753 * kern/i386/pc/init.c: Likewise.
39754 * kern/i386/pc/lzo1x.S: Likewise.
39755 * kern/i386/pc/startup.S: Likewise.
39756 * kern/ieee1275/ieee1275.c: Likewise.
39757 * kern/powerpc/cache.S: Likewise.
39758 * kern/powerpc/dl.c: Likewise.
39759 * kern/powerpc/ieee1275/cmain.c: Likewise.
39760 * kern/powerpc/ieee1275/crt0.S: Likewise.
39761 * kern/powerpc/ieee1275/init.c: Likewise.
39762 * kern/powerpc/ieee1275/openfw.c: Likewise.
39763 * kern/sparc64/cache.S: Likewise.
39764 * kern/sparc64/dl.c: Likewise.
39765 * kern/sparc64/ieee1275/init.c: Likewise.
39766 * kern/sparc64/ieee1275/openfw.c: Likewise.
39767 * loader/efi/chainloader.c: Likewise.
39768 * loader/efi/chainloader_normal.c: Likewise.
39769 * loader/i386/efi/linux.c: Likewise.
39770 * loader/i386/efi/linux_normal.c: Likewise.
39771 * loader/i386/pc/chainloader.c: Likewise.
39772 * loader/i386/pc/chainloader_normal.c: Likewise.
39773 * loader/i386/pc/linux.c: Likewise.
39774 * loader/i386/pc/linux_normal.c: Likewise.
39775 * loader/i386/pc/multiboot.c: Likewise.
39776 * loader/i386/pc/multiboot_normal.c: Likewise.
39777 * loader/powerpc/ieee1275/linux.c: Likewise.
39778 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
39779 * normal/arg.c: Likewise.
39780 * normal/cmdline.c: Likewise.
39781 * normal/command.c: Likewise.
39782 * normal/completion.c: Likewise.
39783 * normal/execute.c: Likewise.
39784 * normal/function.c: Likewise.
39785 * normal/lexer.c: Likewise.
39786 * normal/main.c: Likewise.
39787 * normal/menu.c: Likewise.
39788 * normal/menu_entry.c: Likewise.
39789 * normal/misc.c: Likewise.
39790 * normal/parser.y: Likewise.
39791 * normal/script.c: Likewise.
39792 * normal/i386/setjmp.S: Likewise.
39793 * normal/powerpc/setjmp.S: Likewise.
39794 * normal/sparc64/setjmp.S: Likewise.
39795 * partmap/acorn.c: Likewise.
39796 * partmap/amiga.c: Likewise.
39797 * partmap/apple.c: Likewise.
39798 * partmap/gpt.c: Likewise.
39799 * partmap/pc.c: Likewise.
39800 * partmap/sun.c: Likewise.
39801 * term/gfxterm.c: Likewise.
39802 * term/terminfo.c: Likewise.
39803 * term/efi/console.c: Likewise.
39804 * term/i386/pc/console.c: Likewise.
39805 * term/i386/pc/serial.c: Likewise.
39806 * term/i386/pc/vesafb.c: Likewise.
39807 * term/i386/pc/vga.c: Likewise.
39808 * term/ieee1275/ofconsole.c: Likewise.
39809 * util/biosdisk.c: Likewise.
39810 * util/console.c: Likewise.
39811 * util/genmoddep.c: Likewise.
39812 * util/getroot.c: Likewise.
39813 * util/grub-emu.c: Likewise.
39814 * util/grub-mkdevicemap.c: Likewise.
39815 * util/grub-probe.c: Likewise.
39816 * util/lvm.c: Likewise.
39817 * util/misc.c: Likewise.
39818 * util/raid.c: Likewise.
39819 * util/resolve.c: Likewise.
39820 * util/update-grub.in: Likewise.
39821 * util/update-grub_lib.in: Likewise.
39822 * util/grub.d/00_header.in: Likewise.
39823 * util/grub.d/10_hurd.in: Likewise.
39824 * util/grub.d/10_linux.in: Likewise.
39825 * util/i386/efi/grub-install.in: Likewise.
39826 * util/i386/efi/grub-mkimage.c: Likewise.
39827 * util/i386/pc/grub-install.in: Likewise.
39828 * util/i386/pc/grub-mkimage.c: Likewise.
39829 * util/i386/pc/grub-mkrescue.in: Likewise.
39830 * util/i386/pc/grub-setup.c: Likewise.
39831 * util/i386/pc/misc.c: Likewise.
39832 * util/powerpc/ieee1275/grub-install.in: Likewise.
39833 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
39834 * util/powerpc/ieee1275/misc.c: Likewise.
39835 * video/bitmap.c: Likewise.
39836 * video/video.c: Likewise.
39837 * video/i386/pc/vbe.c: Likewise.
39838 * video/i386/pc/vbeblit.c: Likewise.
39839 * video/i386/pc/vbefill.c: Likewise.
39840 * video/i386/pc/vbeutil.c: Likewise.
39841 * video/readers/tga.c: Likewise.
39842
3572d015 398432007-07-02 Robert Millan <rmh@aybabtu.com>
39844
39845 * conf/i386-efi.rmk: Replace obsolete reference to
39846 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
39847 with util/getroot.c.
39848 * conf/powerpc-ieee1275.rmk: Likewise.
39849 * conf/sparc64-ieee1275.rmk: Likewise.
39850
39851 * util/grub-emu.c (main): Fix unchecked pointer handling.
39852
2c2a681b 398532007-07-02 Robert Millan <rmh@aybabtu.com>
39854
39855 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
39856 invocation to fail, in order to support partition-less media.
39857
39858 * util/i386/pc/grub-install.in: Likewise.
39859
39860 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
39861 which fs or partmap modules are needed (akin to its sister scripts).
39862
39863 Also use grub-probe to get rid of unportable /proc/mounts check.
39864
39865 Print the same informational message that the other scripts do, before
fe6b695a 39866 exiting.
2c2a681b 39867
6193defe 398682007-06-23 Robert Millan <rmh@aybabtu.com>
39869
fe6b695a 39870 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 39871 a font file can be found and, if so, echo the GRUB path to it.
39872
39873 * util/update-grub.in: Handle multiple terminals depending on user
39874 input, platform availability and font file presence. Propagate
39875 variables of our findings to /etc/grub.d/ children.
39876
39877 * util/grub.d/00_header.in: Handle multiple terminals, based on
39878 environment setup by update-grub.
39879
eface1dc 398802007-06-23 Robert Millan <rmh@aybabtu.com>
39881
ba50d28f 39882 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 39883
bf697e28 398842007-06-21 Robert Millan <rmh@aybabtu.com>
39885
39886 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
39887 indicate end of data section in kernel image.
39888 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
39889 GRUB_KERNEL_MACHINE_DATA_END.
39890
39891 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
39892 space for it.
39893 * kern/i386/efi/startup.S: Likewise.
39894
39895 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
39896 during image generation. Implement --prefix option to override this
39897 patch.
39898 * util/i386/efi/grub-mkimage.c: Likewise.
39899
39900 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
39901 code to make path relative to its root into a separate function.
39902
39903 * util/i386/pc/grub-install.in: Use newly provided
39904 make_system_path_relative_to_its_root() to convert ${grubdir}, then
39905 pass the result to grub-install --prefix.
39906
baa574b4 399072007-06-13 Robert Millan <rmh@aybabtu.com>
39908
39909 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
39910 DEFAULT_DEVICE_MAP.
39911 * util/grub-emu.c: Use above definitions from misc.h instead of
39912 defining them.
39913 * util/grub-mkdevicemap.c: Likewise.
39914 * util/i386/pc/grub-setup.c: Likewise.
39915 * util/grub-probe.c: Likewise.
39916 (probe): Abort with grub_util_error() when either
39917 grub_guess_root_device or grub_util_get_grub_dev fails.
39918
0215dcbf 399192007-06-12 Robert Millan <rmh@aybabtu.com>
39920
39921 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
39922 "pager" assignment.
39923 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
39924 "pcdata".
39925 * util/grub-probe.c (probe): Likewise for "drive_name".
39926
8af2ab7b 399272007-06-11 Robert Millan <rmh@aybabtu.com>
39928
39929 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
39930 not just the cdrom one.
39931
59d31694 399322007-06-11 Robert Millan <rmh@aybabtu.com>
39933
39934 * util/i386/pc/grub-mkrescue.in: Add "set -e".
39935 Add --pkglibdir=DIR option to override pkglibdir.
39936 Mention --image-type=TYPE in help output.
39937 Fix --grub-mkimage (it was a no-op).
fe6b695a 39938 Abort gracefully when no parameter is given.
59d31694 39939
7ee367e4 399402007-06-11 Robert Millan <rmh@aybabtu.com>
39941
39942 * util/i386/pc/grub-mkrescue.in: New file.
39943 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
39944 * Makefile.in: Handle bin_SCRIPTS.
39945
29b0ed46 399462007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
39947
39948 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
39949 list of video modes.
39950
c0f90770 399512007-06-06 Robert Millan <rmh@aybabtu.com>
39952
39953 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
39954 file doesn't exist, or if it is in a filesystem grub can't read.
39955
39956 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
39957 not abort if GRUB_DRIVE could not be defined. Rearrange generated
39958 header comment to fit in 80 columns when the variables are resolved.
39959
39960 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
39961 could be identified by update-grub. Remove redundant check for
fe6b695a 39962 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 39963 handles that).
39964
fb36dc26 399652007-06-04 Robert Millan <rmh@aybabtu.com>
39966
39967 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
39968
39969 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
39970
39971 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
39972
0c68c93e 399732007-06-04 Robert Millan <rmh@aybabtu.com>
39974
39975 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
39976
39977 * include/grub/partition.h: Declare grub_apple_partition_map_init and
39978 grub_apple_partition_map_fini.
39979
39980 * util/biosdisk.c
39981 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
39982 to access >2 TiB disks).
39983
39984 Print disk->total_sectors with %llu instead of %lu, since this
39985 variable is always 64-bit (prevents wrong disk size from being displayed
39986 on either >2 TiB disk or big-endian CPU).
39987
39988 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
39989 into a generic case that supports all (sane) partition maps.
39990
39991 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
39992 breaks big-endian.
39993
39994 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
39995 and grub_apple_partition_map_fini() after that.
39996
0f23eb74 399972007-06-01 Robert Millan <rmh@aybabtu.com>
39998
39999 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
40000
40001 * util/grub.d/00_header.in: Only enable gfxterm when
40002 convert_system_path_to_grub_path() succeeds.
40003
42c71976 400042007-05-20 Robert Millan <rmh@aybabtu.com>
40005
40006 * util/update-grub_lib.in: New file.
40007 * DISTLIST: Add update-grub_lib.in.
40008 * conf/common.rmk: Generate update-grub_lib and install it in
40009 $(lib_DATA).
40010 * Makefile.in: Add install routine for $(lib_DATA).
40011
40012 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
40013 function provided by update-grub_lib to support arbitrary paths of
40014 unifont.pff.
40015 * util/update-grub.in: Use convert_system_path_to_grub_path() to
40016 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
40017
5beb2291 400182007-05-19 Robert Millan <rmh@aybabtu.com>
40019
40020 * commands/i386/cpuid.c: New module.
40021 * DISTLIST: Add it.
40022 * conf/i386-efi.rmk: Enable cpuid.mod.
40023 * conf/i386-pc.rmk: Likewise.
40024
7262eca1 400252007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
40026
40027 * kern/disk.c (grub_disk_read): Check return value of
40028 grub_realloc().
40029
260ba823 400302007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
40031
40032 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
40033 arrays.
40034 * disk/raid.c (grub_raid_open): Likewise.
40035
1ecb6cf2 400362007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
40037
40038 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
40039 stack instead of on the heap.
40040
40041 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
40042 before doing a read on it.
40043
40044 * configure.ac: Only use -fno-stack-protector for the target
40045 environment.
f19dbdb7 40046
21c8cbb1 400472007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
40048
40049 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
40050 __attribute_ ((unused)) to mode_type argument.
40051
40052 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 40053
21c8cbb1 40054 * kern/misc.c (memcmp): Fix prototype.
40055
40056 * include/grub/partition.h [GRUB_UTIL]
40057 (grub_gpt_partition_map_init): Add prototype.
40058 (grub_gpt_partition_map_fini): Likewise.
40059
40060 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
40061 at the right place.
40062
40063 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
40064 (grub_fat_read_data): Likewise.
40065 (grub_fat_find_dir): Likewise.
40066
40067 * font/manager.c (find_glyph): Make table a const.
40068 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 40069
849d55d3 400702007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
40071
40072 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
40073 code, first search for device in /dev/mapper, then in /dev.
40074 (grub_util_get_grub_dev): New function.
40075 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
40076 prototype.
40077 * util/grub-probe.c (probe): Remove check for RAID, call
40078 grub_util_get_grub_dev() instead of
40079 grub_util_biosdisk_get_grub_dev().
40080 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
40081 grub_util_biosdisk_get_grub_dev().
40082 * util/i386/pc/grub-setup.c (main): Likewise.
40083
8fff7c2f 400842007-05-16 Robert Millan <rmh@aybabtu.com>
40085
40086 * DISTLIST: Update for the latest changes.
40087 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
40088 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
40089 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
40090 grub/util/biosdisk.h.
40091 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
40092 grub/util/biosdisk.h.
40093
48e12b52 400942007-05-16 Robert Millan <rmh@aybabtu.com>
40095
40096 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
40097
46b9d128 400982007-05-16 Robert Millan <rmh@aybabtu.com>
40099
40100 * util/i386/efi/grub-install.in: New.
40101 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
40102 newly added grub-install.
40103 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
40104 include.
40105 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
40106 grub/util/biosdisk.h.
40107 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
40108 grub/util/biosdisk.h.
40109
2d1a40a9 401102007-05-16 Robert Millan <rmh@aybabtu.com>
40111
40112 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
40113 * include/grub/util/biosdisk.h: ... here.
40114 * util/i386/pc/biosdisk.c: Moved to ...
40115 * util/biosdisk.c: ... here.
40116 * util/i386/pc/getroot.c: Moved to ...
40117 * util/getroot.c: ... here.
40118 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
40119 * util/grub-mkdevicemap.c: ... here.
40120 * util/i386/pc/grub-probe.c: Moved to ...
40121 * util/grub-probe.c: ... here.
40122
9e26e3bc 401232007-05-15 Robert Millan <rmh@aybabtu.com>
40124
40125 * util/update-grub.in: Remove duplicated line in grub.cfg header
40126 message.
40127
57f96397 401282007-05-13 Robert Millan <rmh@aybabtu.com>
40129
40130 * util/update-grub.in: Fix a few assumptions about the devices holding
40131 /, /boot and /boot/grub being the same.
40132 * util/grub.d/00_header.in: Likewise.
40133 * util/grub.d/10_hurd.in: Likewise.
40134 * util/grub.d/10_linux.in: Likewise.
40135
40136 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
40137 patterns. Use that to define the `.old' suffix as older than `'.
40138
40139 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
40140
40141 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
40142 the grub.cfg header message.
40143
2e610d62 401442007-05-11 Robert Millan <rmh@aybabtu.com>
40145
40146 * util/update-grub.in: Create device.map if it doesn't already exist,
40147 before attempting to run grub-probe.
40148 Check for grub-probe and grub-mkdevicemap with the same code
40149 grub-install is using.
40150 Remove test mode.
40151
3f6a10ef 401522007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
40153
40154 * Makefile.in: Add the datarootdir autoconf variable.
40155
02e7b75e 401562007-05-09 Robert Millan <rmh@aybabtu.com>
40157
40158 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 40159 fail gracefully if dev->disk->partition == NULL.
02e7b75e 40160
75f396cc 401612007-05-07 Robert Millan <rmh@aybabtu.com>
40162
40163 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
40164 determine partition map module.
40165 * util/i386/pc/grub-install.in: Use this feature to decide which
40166 partition module to load, instead of hardcoding pc and gpt.
40167
da65cb36 401682007-05-07 Robert Millan <rmh@aybabtu.com>
40169
40170 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
40171 source directory differs from build directory.
40172
b57d6a91 401732007-05-05 Robert Millan <rmh@aybabtu.com>
40174
40175 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
40176 initialisation.
40177
509d00f1 401782007-05-05 Robert Millan <rmh@aybabtu.com>
40179
40180 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
40181
c48f23ef 401822007-05-05 Robert Millan <rmh@aybabtu.com>
40183
40184 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
40185 command-line arguments via ${GRUB_CMDLINE_LINUX}.
40186
20b97658 401872007-05-05 Robert Millan <rmh@aybabtu.com>
40188
40189 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
40190 (grub_probe_SOURCES): Likewise.
40191 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
40192 GPT and initialize dos_part and bsd_part accordingly.
40193 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
40194 install_bsd_part.
40195 (main): Activate gpt module for use during partition identification,
40196 and deactivate it afterwards.
40197 * util/i386/pc/grub-install.in: Add gpt module to core.img.
40198 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
40199 partition identification, and deactivate it afterwards.
40200
99123174 402012007-05-05 Robert Millan <rmh@aybabtu.com>
40202
40203 * term/i386/pc/console.c (grub_console_fini): Call
40204 grub_term_set_current() before grub_term_unregister().
40205
ebd97f6e 402062007-05-04 Robert Millan <rmh@aybabtu.com>
40207
40208 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
40209 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
40210 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
40211 and update-grub_DATA.
40212 * conf/common.rmk: Build and install update-grub components.
40213 * conf/common.mk: Regenerate.
40214 * util/update-grub.in: New. Core of update-grub.
40215 * util/grub.d/00_header.in: New. Generates grub.cfg header.
40216 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
40217 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
40218 * util/grub.d/README: New. Document grub.d directory layout.
40219
b06a264d 402202007-05-01 Robert Millan <rmh@aybabtu.com>
40221
40222 * util/grub-emu.c: Move initialization functions
40223 grub_util_biosdisk_init() and grub_init_all() before
40224 grub_util_biosdisk_get_grub_dev(), which relies on them.
40225
41f0050e 402262007-04-19 Robert Millan <rmh@aybabtu.com>
40227
40228 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
40229 it is used later.
40230
04582bb3 402312007-04-18 Jerone Young <jerone@gmail.com>
40232
f19dbdb7 40233 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 40234 stanza.
40235
08db4632 402362007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 40237
08db4632 40238 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
40239 continue on and look for device node with real device name.
40240
801b76be 402412007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 40242
fe6b695a 40243 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 40244 ability.
40245 * Makefile.in: Add autoconf package transformation code.
40246 * util/i386/pc/grub-install.in: Likewise.
40247 * util/powerpc/ieee1275/grub-install.in: Likewise.
40248
6795c4e1 402492007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
40250
40251 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
40252 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
40253 (EXT2_REVISION): Likewise.
40254 (EXT2_INODE_SIZE): Likewise.
40255 (struct grub_ext2_block_group): Added a missing member
40256 "used_dirs".
40257 (grub_ext2_read_inode): Divide by the inode size in a superblock
40258 instead of 128 to obtain INODES_PER_BLOCK.
40259 Use the macro EXT2_INODE_SIZE instead of directly using
40260 SBLOCK->INODE_SIZE.
40261
d70af616 402622007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
40263
40264 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
40265 superblock instead of the structure size to compute an
40266 offset. This fixes the problem that GRUB could not read a
40267 filesystem when inode size is different from 128-byte.
40268
3b801603 402692007-03-05 Marco Gerards <marco@gnu.org>
40270
40271 * normal/main.c (read_config_file): When "menu" is not set, create
40272 an initial context.
40273
4785bfe4 402742007-02-21 Hollis Blanchard <hollis@penguinppc.org>
40275
40276 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
40277 (HEAP_LIMIT): New macro.
40278 (grub_claim_heap): Claim memory up to `heaplimit'.
40279
a0cbb023 402802007-02-21 Hollis Blanchard <hollis@penguinppc.org>
40281
40282 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
40283 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
40284 (_start): Likewise.
40285 (grub_arch_modules_addr): Return address after `_end'.
40286 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
40287 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
40288 (add_segments): Calculate `_end' from phdr size and location.
40289 (ALIGN_UP): Moved to ...
40290 * include/grub/misc.h: here.
40291 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
40292 New macro.
40293 (GRUB_IEEE1275_MODULE_BASE): Removed.
40294
fd7d8eba 402952007-02-20 Hollis Blanchard <hollis@penguinppc.org>
40296
40297 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
40298 loop boundary.
40299
9b09e6fc 403002007-02-20 Hollis Blanchard <hollis@penguinppc.org>
40301
40302 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
40303 All users updated.
40304 (grub_elf64_load_hook_t): Likewise.
40305 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
40306 debug output.
40307
3ce27299 403082007-02-20 Hollis Blanchard <hollis@penguinppc.org>
40309
40310 * kern/mm.c: Update copyright.
40311 (grub_mm_debug): Correct syntax error.
40312 (grub_mm_dump_free): New function.
40313 (grub_debug_free): Call `grub_free'.
40314 * include/grub/mm.h: Update copyright.
40315 (grub_mm_dump_free): Add declaration.
40316
077d5fee 403172007-02-12 Hollis Blanchard <hollis@penguinppc.org>
40318
40319 * include/grub/ieee1275/ieee1275.h: Update copyright.
40320 * kern/powerpc/ieee1275/init.c: Likewise.
40321 * kern/powerpc/ieee1275/openfw.c: Likewise.
40322
40323 * loader/powerpc/ieee1275/linux.c: Likewise.
40324 * include/grub/elfload.h: Likewise.
40325 * kern/elf.c: Likewise.
40326 (grub_elf32_load): Pass `base' and `size' parameters. Update all
40327 callers.
40328 (grub_elf64_load): Likewise.
40329 (grub_elf32_load_segment): Move to a nested function.
40330 (grub_elf64_load_segment): Likewise.
40331
dc946850 403322007-02-12 Hollis Blanchard <hollis@penguinppc.org>
40333
40334 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
40335 prototype.
40336 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
40337 (grub_heap_len): Likewise.
40338 (HEAP_SIZE): New macro.
40339 (grub_claim_heap): New function.
40340 (grub_machine_init): Don't claim heap directly. Call
40341 `grub_claim_heap'.
40342 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
40343 (grub_available_iterate): New function.
40344
baa2a121 403452007-02-03 Thomas Schwinge <tschwinge@gnu.org>
40346
40347 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
40348 * configure.ac: Use it for testing the HOST and TARGET compilers.
40349
4fe9862e 403502006-12-13 Thomas Schwinge <tschwinge@gnu.org>
40351
40352 * Makefile.in (enable_grub_emu): New variable.
40353 * configure.ac (--enable-grub-emu): New option.
40354 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
40355 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
40356 * conf/i386-pc.rmk: Likewise.
40357 * conf/powerpc-ieee1275.rmk: Likewise.
40358 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
40359
a8aa5762 403602006-12-12 Marco Gerards <marco@gnu.org>
40361
40362 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
40363
40364 * kern/env.c (grub_env_unset): Don't free the member `value' when
40365 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
40366 pointer.
40367
40368 * normal/main.c (current_menu): Removed.
40369 (free_menu): Unset the `menu' environment variable.
40370 (grub_normal_menu_addentry): Make use of the environment variable
40371 `menu', instead of using the global `current_menu'. Allocate
40372 memory for the sourcecode of this entry.
40373 (read_config_file): New argument `nested', changed all callers.
40374 Only in the case of a new context, initialize a new menu. Set the
40375 `menu' environment variable.
40376 (grub_normal_execute): Don't set and unset the environment
40377 variable `menu' here anymore. Only free the menu when leaving the
40378 context.
40379
40380 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
40381 leak.
40382
957b3a3e 403832006-12-11 Marco Gerards <marco@gnu.org>
40384
40385 * normal/menu_entry.c (run): Fix off by one bug so the last line
40386 is executed. Move the loader check to outside the loop.
40387
ef875714 403882006-12-08 Hollis Blanchard <hollis@penguinppc.org>
40389
40390 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
40391
4e739985 403922006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
40393
40394 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
40395 the number of sectors. Reported by Andrey Shuvikov
40396 <mr_hyro@yahoo.com>.
f19dbdb7 40397
790707f2 403982006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
40399
40400 * kern/disk.c (grub_disk_read): When there is a read error, always
40401 try to read only the necessary data.
f19dbdb7 40402
790707f2 40403 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
40404 disk/raid.c.
40405 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
40406 prototype.
40407 [GRUB_UTIL] (grub_raid_fini): Likewise.
40408 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 40409 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 40410 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
40411 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
40412 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
40413 and grub_raid_fini().
f19dbdb7 40414
03e58196 404152006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
40416
40417 * include/grub/types.h (__unused): Rename to UNUSED.
40418 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
40419 (grub_elf64_size): Likewise.
f19dbdb7 40420
ae4f23bf 404212006-11-03 Hollis Blanchard <hollis@penguinppc.org>
40422
40423 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
40424 grub_error_push and grub_error_pop in the error-handling path.
40425 (grub_elf32_load_segment): Only call grub_file_read with non-zero
40426 length.
40427
2166cc83 404282006-11-03 Hollis Blanchard <hollis@penguinppc.org>
40429
40430 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
40431 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
40432 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40433 (kernel_elf_SOURCES): Likewise.
40434 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
40435 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
40436 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
40437 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
40438 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
40439 (elf_mod_SOURCES): New variable.
40440 (elf_mod_CFLAGS): Likewise.
40441 (elf_mod_LDFLAGS): Likewise.
40442 * include/grub/types.h (__unused): New macro.
40443 * include/grub/elfload.h: New file.
40444 * kern/elf.c: Likewise.
40445 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
40446 (ELF32_LOADMASK): New macro.
40447 (ELF64_LOADMASK): Likewise.
40448 (vmlinux): Removed.
40449 (grub_linux_load32): New function.
40450 (grub_linux_load64): Likewise.
40451 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
40452 Use grub_elf_t instead of grub_file_t.
40453
a09d5aa5 404542006-11-02 Hollis Blanchard <hollis@penguinppc.org>
40455
40456 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
40457 `catch_result' to struct set_color_args.
40458
d976fc51 404592006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
40460
40461 * normal/menu.c: Include grub/script.h.
40462 * normal/menu_entry.c: Likewise.
40463 * include/grub/normal.h: Do not include grub/script.h.
40464
67507549 404652006-10-27 Hollis Blanchard <hollis@penguinppc.org>
40466
40467 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
40468
69203a99 404692006-10-27 Hollis Blanchard <hollis@penguinppc.org>
40470
40471 * kern/disk.c (grub_disk_open): Print debug messages when opening a
40472 disk.
40473 (grub_disk_close): Print debug messages when closing a disk.
40474 (grub_disk_read): Print debug messages when disk read fails.
40475 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
40476 filesystem type.
40477 * kern/partition.c: Include misc.h.
40478 (grub_partition_iterate): Print debug messages when detecting
40479 partition type.
40480
e2b8278c 404812006-10-27 Hollis Blanchard <hollis@penguinppc.org>
40482
40483 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
40484 is negative.
40485 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
40486
97b2f2ff 404872006-10-26 Hollis Blanchard <hollis@penguinppc.org>
40488
40489 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
40490 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
40491
6555d655 404922006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
40493
40494 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
40495 instead of sizeof(lv). Patch by Michael Guntsche.
40496
4d42b77f 404972006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
40498
40499 * disk/lvm.c: Rename VGS to VG_LIST.
40500 (grub_lvm_iterate): Change VGS->LV to VG-LV.
40501 (grub_lvm_open): Likewise.
40502 Thanks to Michael Guntsche for finding this bug.
40503
5d74d927 405042006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
40505
40506 * configure.ac (AC_INIT): Bumped to 1.95.
40507
a1bb27e4 405082006-10-14 Robert Millan <rmh@aybabtu.com>
40509
40510 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
40511 with "/dev/.static/dev/md".
40512
e0994b8b 405132006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
40514
40515 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
40516 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
40517 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
40518 DRIVE_NAME are always freed.
40519
40520 * util/i386/pc/biosdisk.c (make_device_name): Add one into
40521 DOS_PART, as a DOS partition is counted from one instead of zero
40522 now. Reported by Robert Millan.
40523
ddd5cee9 405242006-10-14 Robert Millan <rmh@aybabtu.com>
40525
40526 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
40527 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
40528 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
40529 string returned by grub_guess_root_device.
40530 * util/i386/pc/grub-setup.c: Likewise.
40531 * util/i386/pc/grub-probefs.c: Likewise.
40532
40533 * util/i386/pc/grub-probefs.c: Rename to ...
40534 * util/i386/pc/grub-probe.c: ... this.
40535 * DISTLIST: Remove grub-probefs, add grub-probe.
40536 * conf/i386-efi.rmk: Likewise.
40537 * conf/i386-pc.rmk: Likewise.
40538 * util/i386/pc/grub-install.in: Likewise.
40539
40540 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
40541 choose which information we want to print.
40542
2b002173 405432006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
40544
40545 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
40546 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
40547 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
40548 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
40549 video/readers/tga.c and video/i386/pc/vbeutil.c.
40550
405512006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
40552
40553 Added support for RAID and LVM.
f19dbdb7 40554
2b002173 40555 * disk/lvm.c: New file.
40556 * disk/raid.c: Likewise.
40557 * include/grub/lvm.h: Likewise.
f19dbdb7 40558 * include/grub/raid.h: Likewise.
2b002173 40559 * include/grub/util/lvm.h: Likewise.
40560 * include/grub/util/raid.h: Likewise.
40561 * util/lvm.c: Likewise.
40562 * util/raid.c: Likewise.
40563
40564 * include/grub/disk.h (grub_disk_dev_id): Add
40565 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
40566 (grub_disk_get_size): New prototype.
40567 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
40568 returns a partition.
40569 (grub_disk_get_size): New function.
f19dbdb7 40570
2b002173 40571 * kern/i386/pc/init.c (make_install_device): Copy the prefix
40572 verbatim if grub_install_dos_part is -2.
40573
40574 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
40575 and LVM devices.
40576
40577 * util/i386/pc/grub-setup.c (setup): New argument
40578 MUST_EMBED. Force embedding of GRUB when the argument is
40579 true. Close FILE before returning.
40580 (main): Add support for RAID and LVM.
f19dbdb7 40581
2b002173 40582 * conf/common.rmk: Add RAID and LVM modules.
40583 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
40584 util/lvm.c.
40585 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
40586
40587 * kern/misc.c (grub_strstr): New function.
40588 * include/grub/misc.h (grub_strstr): New prototype.
40589
050548d0 405902006-10-10 Tristan Gingold <tristan.gingold@bull.net>
40591
40592 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
40593
da849d2d 405942006-10-05 Tristan Gingold <tristan.gingold@bull.net>
40595
40596 * kern/misc.c (grub_strtoull): Guess the base only if not
40597 specified.
40598
97b2f2ff 405992006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 40600
40601 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
40602 PowerMac support.
40603
97b2f2ff 406042006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 40605
40606 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
40607
40608 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
40609 Remove `flags' argument. All callers changed.
40610 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
40611 (IEEE1275_IHANDLE_INVALID): New variable.
40612 (IEEE1275_CELL_INVALID): New variable.
40613 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
40614 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
40615 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
40616 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
40617 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
40618 codes from Open Firmware. All callers updated.
40619 (grub_ieee1275_next_property): Directly return Open Firmware return
40620 code.
40621 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
40622 Standardize error checking from `grub_ieee1275_get_property'.
40623 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
40624 `devalias' to `aliases'. Correct comments. Consolidate error paths.
40625
97b2f2ff 406262006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 40627
40628 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
40629 `instance_to_package_args' to `instance_to_path_args'.
40630
40631 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
40632 `grub_ieee1275_chosen'.
40633
40634 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
40635 `grub_ieee1275_interpret'.
40636
97b2f2ff 406372006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 40638
40639 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
40640
97b2f2ff 406412006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 40642
40643 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
40644 (__cmpdi): Likewise.
40645
40646 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
40647 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
40648 `grub_ssize_t'.
40649
02bb8acc 40650 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 40651
40652 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
40653 to type `grub_ssize_t'.
40654 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
40655
7f9a8531 406562006-09-22 Marco Gerards <marco@gnu.org>
40657
40658 * normal/script.c (grub_script_create_cmdmenu): Skip leading
40659 newlines.
40660
b5ef1102 406612006-09-22 Marco Gerards <marco@gnu.org>
40662
40663 * commands/echo.c: New file.
40664
40665 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
40666
40667 * conf/common.rmk (echo_mod_SOURCES): New variable.
40668 (echo_mod_CFLAGS): Likewise.
40669 (echo_mod_LDFLAGS): Likewise.
40670
2cff3677 406712006-09-22 Marco Gerards <marco@gnu.org>
40672
40673 * normal/main.c (get_line): Malloc memory instead of using
40674 preallocated memory. Removed the arguments `cmdline' and
40675 `max_len'. Updated all callers.
40676
6ba4688b 406772006-09-22 Marco Gerards <marco@gnu.org>
40678
40679 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
40680 (normal_mod_DEPENDENCIES): Likewise.
40681
40682 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
40683 (normal_mod_DEPENDENCIES): Likewise.
40684
40685 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
40686
e02ac02c 406872006-09-22 Johan Rydberg <jrydberg@gnu.org>
40688
40689 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
40690 programs.
40691 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
40692 (normal_mod_DEPENDENCIES): Likewise.
40693 * conf/i386-pc.mk: Regenerate.
40694 * conf/i386-efi.mk: Likewise
40695 * conf/common.mk: Likewise.
40696 * conf/powerpc-ieee1275.mk: Likewise.
40697 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 40698
8d252e44 406992006-09-22 Robert Millan <rmh@aybabtu.com>
40700
40701 Sync with i386 version.
40702 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
40703 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
40704
209bf7ac 407052006-09-21 Robert Millan <rmh@aybabtu.com>
40706
40707 Import from GRUB Legacy (lib/device.c):
40708 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
40709 (init_device_map) [__linux__]: Add support for I2O devices.
40710
6b146090 407112006-09-14 Marco Gerards <marco@gnu.org>
40712
40713 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
40714 `-melf_i386'.
40715
e38600a8 407162006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 40717
40718 * util/i386/pc/grub-install.in: Skip menu.lst when removing
40719 /boot/grub/*.lst.
78fa1790 40720
2952da5d 40721 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 40722
2952da5d 40723 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
40724 before adding it to device.map.
40725
01b82a64 407262006-08-15 Johan Rydberg <jrydberg@gnu.org>
40727
fe6b695a 40728 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 40729 compiles a file; using the -MD option.
40730 * conf/common.mk: Regenerate.
40731 * conf/i386-pc.mk: Likewise.
40732 * conf/i386-efi.mk: Likewise.
40733 * conf/powerpc-ieee1275.mk: Likewise.
40734 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 40735
1064790d 407362006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
40737
40738 Move the prototypes of grub_setjmp and grub_longjmp to
40739 cpu/setjmp.h, so that each architecture may specify different
40740 attributes.
f19dbdb7 40741
1064790d 40742 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
40743 (grub_longjmp): Likewise.
40744 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
40745 (grub_longjmp): Likewise.
40746 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
40747 (grub_longjmp): Likewise.
40748
40749 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
40750 [!GRUB_UTIL] (grub_longjmp): Removed.
40751
29dda3ed 407522006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
40753
40754 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
40755 "color!" method does not return any value.
40756
ad2a06ed 407572006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
40758
40759 * include/grub/bitmap.h: New file.
40760
40761 * include/grub/i386/pc/vbeutil.h: Likewise.
40762
40763 * video/bitmap.c: Likewise.
40764
40765 * video/readers/tga.c: Likewise.
40766
40767 * video/i386/pc/vbeutil.c: Likewise.
40768
40769 * commands/videotest.c: Code cleanup and updated to reflect to new
40770 video API.
40771
40772 * term/gfxterm.c: Likewise.
40773
40774 * video/video.c: Likewise.
40775
40776 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
40777 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
40778 (bitmap_mod_SOURCES): New entry.
40779 (bitmap_mod_CFLAGS): Likewise.
40780 (bitmap_mod_LDFLAGS): Likewise.
40781 (tga_mod_SOURCES): Likewise.
40782 (tga_mod_CFLAGS): Likewise.
40783 (tga_mod_LDFLAGS): Likewise.
40784
40785 * include/grub/video.h (grub_video_blit_operators): New enum type.
40786 (grub_video_render_target): Changed as forward declaration and moved
40787 actual definition to be video driver specific.
40788 (grub_video_adapter.blit_bitmap): Added blitting operator.
40789 (grub_video_adapter.blit_render_target): Likewise.
40790 (grub_video_blit_bitmap): Likewise.
40791 (grub_video_blit_render_target): Likewise.
40792
40793 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
40794 driver specific render target definition.
40795 (grub_video_vbe_map_rgba): Added driver internal helper.
40796 (grub_video_vbe_unmap_color): Updated to use
40797 grub_video_i386_vbeblit_info.
40798 (grub_video_vbe_get_video_ptr): Likewise.
40799
40800 * include/grub/i386/pc/vbeblit.h
40801 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
40802 grub_video_i386_vbeblit_info.
40803 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
40804 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
40805 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
40806 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
40807 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
40808 (grub_video_i386_vbeblit_index_index): Likewise.
40809 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
40810 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
40811 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
40812 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
40813 operator.
40814 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
40815 operator.
40816
40817 * video/i386/pc/vbeblit.c: Updated to reflect changes on
40818 include/grub/i386/pc/vbeblit.h.
40819
40820 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
40821 Updated to use grub_video_i386_vbeblit_info.
40822 (grub_video_i386_vbefill_R8G8B8): Likewise.
40823 (grub_video_i386_vbefill_index): Likewise.
40824 (grub_video_i386_vbefill): Added generic filler.
40825
40826 * video/i386/pc/vbefill.c: Updated to reflect changes on
40827 include/grub/i386/pc/vbefill.h.
40828
40829 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
40830 grub_video_i386_vbeblit_info.
40831 (grub_video_vbe_unmap_color): Likewise.
40832 (grub_video_vbe_blit_glyph): Likewise.
40833 (grub_video_vbe_scroll): Likewise.
40834 (grub_video_vbe_draw_pixel): Removed function.
40835 (grub_video_vbe_get_pixel): Likewise.
40836 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
40837 updated code to use it.
40838 (common_blitter): Added common blitter for render target and bitmap.
40839 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
40840 (grub_video_vbe_blit_render_target): Likewise.
40841
bc8c036d 408422006-07-30 Johan Rydberg <jrydberg@gnu.org>
40843
40844 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
40845 is in text mode if there is no console control protocol instance
40846 available.
40847
684a8eff 408482006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
40849
40850 * include/grub/video.h: Code cleanup.
40851
40852 * include/grub/i386/pc/vbe.h: Likewise.
40853
40854 * video/i386/pc/vbe.c: Likewise.
40855
40856 * video/i386/pc/vbeblit.c: Likewise.
40857
40858 * video/i386/pc/vbefill.c: Likewise.
40859
40860 * video/video.c: Likewise. Also added more comments.
40861
5915059b 408622006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
40863
40864 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
40865 (struct grub_biosdisk_dap): Likewise.
40866
40867 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
40868 linkage settings for all functions.
40869
90ce5d56 408702006-07-12 Marco Gerards <marco@gnu.org>
40871
40872 * configure.ac (--enable-mm-debug): Fix typo.
40873
40874 * genkernsyms.sh.in: Use proper quoting for `CC'.
40875
43e7f879 408762006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
40877
40878 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
40879 (normal_mod_ASFLAGS): Remove "-m32".
40880
4889bdec 408812006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
40882
40883 * util/misc.c: Include config.h.
40884 [!HAVE_MEMALIGN]: Do not include malloc.h.
40885 (grub_memalign): Use posix_memalign, if present. Then, use
40886 memalign, if present. Otherwise, emit an error.
40887
40888 * util/grub-emu.c: Do not include malloc.h.
40889
40890 * include/grub/util/misc.h: Include unistd.h. This is required for
40891 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
40892 D. Eades III <hde@foobar-qux.org>.
40893
40894 * configure.ac (AC_GNU_SOURCE): Added.
40895 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
40896 type.
40897
fd39d4da 408982006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
40899
40900 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
40901 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
40902
b786f3b5 409032006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
40904
40905 * include/grub/types.h (grub_host_addr_t): Rename to
40906 grub_target_addr_t.
40907 (grub_host_off_t): Rename to grub_target_off_t.
40908 (grub_host_size_t): Rename to grub_target_size_t.
40909 (grub_host_ssize_t): Rename to grub_target_ssize_t.
40910 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
40911
40912 * include/grub/kernel.h (struct grub_module_header): Change type
40913 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
40914 (grub_module_info): Likewise.
f19dbdb7 40915
051988bb 409162006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
40917
40918 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
40919 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
40920 Velazquez <jesus.velazquez@gmail.com>.
40921
deae281b 409222006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
40923
40924 Count partitions from 1 instead of 0 in the string representation
40925 of partitions. Still use 0-based internally.
f19dbdb7 40926
deae281b 40927 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
40928 (sun_partition_map_iterate): Use grub_partition_t instead of
40929 struct grub_partition *. Cast DESC->START_CYLINDER to
40930 grub_uint64_t after converting the endian.
40931 (sun_partition_map_probe): Subtract 1 for PARTNUM.
40932 (sun_partition_map_get_name): Add 1 to P->INDEX.
40933
40934 * partmap/pc.c (grub_partition_parse): Subtract 1 for
40935 PCDATA->DOS_PART.
40936 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
40937
40938 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
40939 zero instead of one.
40940 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
40941 (gpt_partition_map_get_name): Add 1 into P->INDEX.
40942
40943 * partmap/apple.c (apple_partition_map_iterate): Change the type
40944 of POS to unsigned.
40945 (apple_partition_map_probe): Subtract 1 for PARTNUM.
40946 (apple_partition_map_get_name): Add 1 into P->INDEX.
40947
40948 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
40949 of POS to unsigned.
40950 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
40951 calculate the offset of a partition.
40952 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
40953 (amiga_partition_map_get_name): Add 1 into P->INDEX.
40954
40955 * partmap/acorn.c (acorn_partition_map_find): Change the type of
40956 SECTOR to grub_disk_addr_t.
40957 (acorn_partition_map_iterate): Likewise.
40958 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
40959 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
40960 top.
40961 (acorn_partition_map_get_name): Add 1 into P->INDEX.
40962
40963 * kern/i386/pc/init.c (make_install_device): Add 1 into
40964 GRUB_INSTALL_DOS_PART.
40965
40966 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
40967 conditional.
40968
524a1e6a 409692006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
40970
40971 Clean up the code to support 64-bit addressing in disks and
40972 files. This change is not enough for filesystems yet.
f19dbdb7 40973
524a1e6a 40974 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
40975 type of "start" to grub_uint64_t.
40976 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
40977 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
40978 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
40979 convert addresses.
40980
40981 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
40982 to grub_disk_addr_t.
40983
40984 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
40985 string.
40986
40987 * partmap/pc.c (pc_partition_map_iterate): Likewise.
40988
40989 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
40990 to char *.
40991
40992 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
40993
40994 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
40995
40996 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
40997
40998 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
40999 to grub_off_t, to detect an error from grub_file_seek.
41000 (grub_multiboot_load_elf32): Likewise.
41001
41002 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
41003 maximum unsigned long value when an overflow is detected.
41004 (grub_strtoull): New function.
41005 (grub_divmod64): Likewise.
41006 (grub_lltoa): use grub_divmod64.
41007
41008 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
41009 grub_disk_addr_t.
41010 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
41011 the pointer to next character. Use grub_strtoull instead of
41012 grub_strtoul.
41013 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
41014 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
41015 respectively.
41016
fe6b695a 41017 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 41018 return value is signed.
41019 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
41020 test if OFFSET is less than zero, as OFFSET is unsigned now.
41021
41022 * kern/disk.c (struct grub_disk_cache): Change the type of
41023 "sector" to grub_disk_addr_t.
41024 (grub_disk_cache_get_index): Change the type of SECTOR to
41025 grub_disk_addr_t. Calculate the hash with SECTOR casted to
41026 unsigned after shifting.
41027 (grub_disk_cache_invalidate): Change the type of SECTOR to
41028 grub_disk_addr_t.
41029 (grub_disk_cache_unlock): Likewise.
41030 (grub_disk_cache_store): Likewise.
41031 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
41032 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
41033 grub_disk_addr_t and grub_uint64_t, respectively.
41034 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
41035 body, as the value of OFFSET is tweaked by
41036 grub_disk_check_range. Change the types of START_SECTOR, LEN and
41037 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
41038 respectively.
41039 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
41040 body, as the value of OFFSET is tweaked by
41041 grub_disk_check_range. Change the types of LEN and N to
41042 grub_size_t.
41043
41044 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
41045 and "saved_offset" to grub_off_t.
41046 (test_header): Cast BUF to char *.
41047 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
41048 to char *.
41049 (grub_gzio_read): Change the types of OFFSET and SIZE to
41050 grub_off_t and grub_size_t, respectively.
41051
41052 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
41053 Removed.
41054 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
41055 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
41056 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
41057 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
41058 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
41059
41060 * include/grub/types.h (grub_off_t): Unconditionally set to
41061 grub_uint64_t.
41062 (grub_disk_addr_t): Changed to grub_uint64_t.
41063
41064 * include/grub/partition.h (struct grub_partition): Change the
41065 types of "start", "len" and "offset" to grub_disk_addr_t,
41066 grub_uint64_t and grub_disk_addr_t, respectively.
41067 (grub_partition_get_start): Return grub_disk_addr_t.
41068 (grub_partition_get_len): Return grub_uint64_t.
41069
41070 * include/grub/misc.h (grub_strtoull): New prototype.
41071 (grub_divmod64): Likewise.
41072
41073 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
41074 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
41075 grub_off_t, respectively.
41076 All callers and references changed.
41077
41078 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
41079 grub_size_t in "read".
41080 All callers and references changed.
41081
41082 * include/grub/file.h (struct grub_file): Change the types of
41083 "offset" and "size" to grub_off_t and grub_off_t,
41084 respectively. Change the type of SECTOR to grub_disk_addr_t in
41085 "read_hook".
41086 (grub_file_read): Change the type of LEN to grub_size_t.
41087 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
41088 grub_off_t.
41089 (grub_file_size): Return grub_off_t.
41090 (grub_file_tell): Likewise.
41091 All callers and references changed.
41092
41093 * include/grub/disk.h (struct grub_disk_dev): Change the types of
41094 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
41095 "write".
41096 (struct grub_disk): Change the type of "total_sectors" to
41097 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 41098 "read_hook".
524a1e6a 41099 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
41100 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
41101 (grub_disk_write): Likewise.
41102 All callers and references changed.
41103
41104 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
41105 char * for grub_strncmp to silence gcc.
41106 (grub_iso9660_mount): Likewise.
41107 (grub_iso9660_mount): Likewise.
41108 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
41109 return statement.
41110 (grub_iso9660_iterate_dir): Likewise.
41111 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
41112
41113 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
41114 LEN to grub_disk_addr_t and grub_size_t, respectively.
41115
41116 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
41117
41118 * fs/jfs.c (grub_jfs_read_file): Likewise.
41119
41120 * fs/minix.c (grub_jfs_read_file): Likewise.
41121
41122 * fs/sfs.c (grub_jfs_read_file): Likewise.
41123
41124 * fs/ufs.c (grub_jfs_read_file): Likewise.
41125
41126 * fs/xfs.c (grub_jfs_read_file): Likewise.
41127
41128 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
41129 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
41130 respectively.
41131
41132 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
41133 BLKNR to -1 instead of returning GRUB_ERRNO.
41134 (grub_ext2_read_file): Change the types of SECTOR and
41135 LEN to grub_disk_addr_t and grub_size_t, respectively.
41136
41137 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
41138 LEN to grub_disk_addr_t and grub_size_t, respectively.
41139
41140 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
41141 grub_file_read.
41142
41143 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
41144 string. Do not cast SECTOR explicitly.
41145
41146 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
41147 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
41148 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
41149 grub_disk_addr_t and grub_size_t, respectively. If the sector is
41150 over 2TB and LBA mode is not supported, raise an error.
41151 (get_safe_sectors): New function.
41152 (grub_biosdisk_read): Use get_safe_sectors.
41153 (grub_biosdisk_write): Likewise.
41154
41155 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
41156 (grub_efidisk_write): Likewise.
41157
41158 * disk/loopback.c (delete_loopback): Cosmetic changes.
41159 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
41160 correctly.
41161 (grub_loopback_open): Likewise.
41162 (grub_loopback_read): Likewise. Also, change the type of POS to
41163 grub_off_t, and fix the usage of grub_memset.
41164
41165 * commands/i386/pc/play.c: Include grub/machine/time.h.
41166
41167 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
41168 print FILE->SIZE.
41169
41170 * commands/configfile.c: Include grub/env.h.
41171
41172 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
41173 GRUB_ERRNO directly instead. Change the type of POS to
41174 grub_off_t. Follow the coding standard.
41175
41176 * commands/blocklist.c: Include grub/partition.h.
41177 (grub_cmd_blocklist): Return an error if the underlying device is
41178 not a disk. Take the starting sector of a partition into account,
41179 if a partition is used.
41180
41181 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
41182 a length field.
41183 (lba_mode): Support 64-bit addresses.
41184 (chs_mode): Likewise.
41185 (copy_buffer): Adapted to the new offsets of a length field and a
41186 segment field.
41187 (blocklist_default_start): Allocate 64-bit space.
41188
41189 * boot/i386/pc/boot.S (force_lba): Removed.
41190 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 41191 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 41192 space.
41193 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
41194 is useless.
41195 (lba_mode): Refactored to support a 64-bit address. More size
41196 optimization.
41197 (setup_sectors): Likewise.
41198
53af98ad 411992006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
41200
41201 * DISTLIST: Added include/grub/i386/linux.h. Removed
41202 include/grub/i386/pc/linux.h
41203
41204 * configure.ac (AC_INIT): Bumped to 1.94.
41205
41206 * config.guess: Updated from gnulib.
41207 * config.sub: Likewise.
41208 * install-sh: Likewise.
41209 * mkinstalldirs: Likewise.
41210
b4c1940a 412112006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
41212
41213 * conf/common.rmk (grub_modules_init.lst): Depended on
41214 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
41215 MODSRCFILES.
41216
41217 * genmk.rb (PModule::rule): Reverted the previous change.
41218
cfca1cfd 412192006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
41220
41221 * conf/common.rmk (grub_modules_init.lst): Depends on
41222 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
41223 that the target does not exist before producing.
41224 (grub_modules_init.h): Remove the target before generating.
41225 (grub_emu_init.c): Likewise.
41226
41227 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
41228
aa6d7826 412292006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
41230
41231 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
41232 for the target-specific tests. Make sure that we also have the
41233 up-to-date target variables for those tests.
41234
26c607b9 412352006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
41236
41237 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
41238 (PModule::rule): Likewise.
41239
0162321a 412402006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
41241
41242 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
41243 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
41244 target-specific flags should be prefixed.
41245 (PModule::rule): Likewise.
41246
6c826348 412472006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
41248
41249 * configure.ac (CMP): Check if cmp is available explicitly.
41250
b977bf01 412512006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
41252
41253 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
41254 (target_cpu): New variable.
41255 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 41256
b977bf01 41257 * util/i386/pc/grub-install.in (host_cpu): Removed.
41258 (target_cpu): New variable.
41259 (pkglibdir): Use target_cpu instead of host_cpu.
41260
41261 * util/genmoddep.c: Removed.
f19dbdb7 41262
b977bf01 41263 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
41264 instead of GRUB_HOST_SIZEOF_VOID_P.
41265 * kern/dl.c: Likewise.
41266
41267 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
41268 ...
41269 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
41270 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
41271 (GRUB_TARGET_SIZEOF_LONG): ... this.
41272 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
41273 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
41274 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
41275 to ...
41276 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
41277 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
41278 (GRUB_TARGET_SIZEOF_LONG): ... this.
41279 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
41280 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
41281 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
41282 to ...
41283 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
41284 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
41285 (GRUB_TARGET_SIZEOF_LONG): ... this.
41286 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
41287 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
41288
41289 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
41290 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
41291 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
41292 instead of GRUB_HOST_SIZEOF_LONG.
41293 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
41294 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
41295 GRUB_CPU_WORDS_BIGENDIAN.
41296 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
41297 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
41298 grub_host_ssize_t.
41299
41300 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
41301 (genmoddep_SOURCES): Likewise.
41302 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
41303 (genmoddep_SOURCES): Likewise.
41304 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
41305 (genmoddep_SOURCES): Likewise.
41306 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
41307 Likewise.
41308 (genmoddep_SOURCES): Likewise.
41309
41310 * genmoddep.awk: New file.
41311
41312 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
41313 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
41314 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
41315 (PModule::rule): Likewise.
41316 (Program::rule): Likewise.
41317 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
41318 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
41319 respectively.
41320
41321 * configure.ac: Rewritten intensively to use host and target
41322 instead of build and host, respectively.
41323
41324 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
41325 (host_cpu): Removed.
41326 (target_cpu): New variable.
41327 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
41328 (BUILD_CC): Removed.
41329 (BUILD_CFLAGS): Likewise.
41330 (BUILD_CPPFLAGS): Likewise.
41331 (TARGET_CC): New variable.
41332 (TARGET_CFLAGS): Likewise.
41333 (TARGET_CPPFLAGS): Likewise.
41334 (TARGET_LDFLAGS): Likewise.
41335 (AWK): Likewise.
41336 (include): Use target_cpu instead of host_cpu.
41337 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 41338
b977bf01 41339 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
41340
f09771a1 413412006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
41342
41343 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
41344 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
41345 field 'false' to 'exec_on_false'.
41346 (grub_script_create_cmdif): Renamed argument names to reflect above
41347 changes.
41348
41349 * normal/execute.c (grub_script_execute_cmdif): Likewise.
41350
41351 * normal/script.c (grub_script_create_cmdif): Likewise.
41352
118f4fb3 413532006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
41354
41355 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
41356 top.
41357 (grub_hfsplus_btree_recptr): Likewise.
41358 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
41359 FILEBLOCK both to pass a block number and store next block
41360 number.
41361 (grub_hfsplus_read_block): Rewritten heavily to support an extent
41362 overflow file correctly. Specify errors appropriately, because
41363 fshelp expects that GRUB_ERRNO is set when fails. Reuse
41364 grub_hfsplus_btree_recptr to get the pointer to a found key.
41365 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
41366 is found.
41367
41368 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
41369 linux.mod.
41370 (_linux_mod_SOURCES): New variable.
41371 (_linux_mod_CFLAGS): Likewise.
41372 (_linux_mod_LDFLAGS): Likewise.
41373 (linux_mod_SOURCES): Likewise.
41374 (linux_mod_CFLAGS): Likewise.
41375 (linux_mod_LDFLAGS): Likewise.
41376
41377 * DISTLIST: Added loader/i386/efi/linux.c,
41378 loader/i386/efi/linux_normal.c and
41379 include/grub/i386/efi/loader.h.
41380
41381 * loader/i386/efi/linux.c: New file.
41382 * loader/i386/efi/linux_normal.c: Likewise.
41383 * include/grub/i386/efi/loader.h: Likewise.
41384
89a7d726 413852006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
41386
41387 * commands/blocklist.c: New file.
41388
41389 * DISTLIST: Added commands/blocklist.c.
41390
41391 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 41392 color for the background, and a darker color for the foreground.
89a7d726 41393 (grub_console_checkkey): Return READ_KEY.
41394 (grub_console_cls): Set the background to
41395 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
41396
41397 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
41398
41399 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
41400 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
41401
41402 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
41403 prototype.
41404
41405 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
41406 BG. The spec is wrong again.
41407
41408 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
41409 prototype.
41410 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
41411
41412 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
41413 commands/blocklist.c.
41414 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 41415
89a7d726 41416 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
41417 (blocklist_mod_SOURCES): New variable.
41418 (blocklist_mod_CFLAGS): Likewise.
41419 (blocklist_mod_LDFLAGS): Likewise.
41420
75c8f258 414212006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
41422
41423 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
41424 duplication.
41425 (lba_mode): Use %eax more intensively to reduce the code size.
41426
da2eb181 414272006-05-20 Marco Gerards <marco@gnu.org>
41428
41429 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
41430
41431 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
41432 for `menuentry'.
41433 (script): Accept leading newlines.
41434 (newlines): New rule to describe 0 or more newlines.
41435 (commands): Accept `command' with trailing newline. Fixed the
41436 order in which arguments were passed to `grub_script_add_cmd'.
41437 Accept commands separated by newlines.
41438 (function): Changed to accept newlines.
41439 (menuentry) Rewritten.
41440
41441 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
41442 front of the list, instead of to the end.
41443
577b4050 414442006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
41445
41446 * util/i386/pc/grub-install.in (bindir): New variable.
41447 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
41448 Shaver <lbgwjl@gmail.com>.
41449
0d6e1189 414502006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
41451
41452 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
41453 grub/machine/linux.h
41454 * loader/i386/pc/linux.c: Likewise.
41455
41456 * include/grub/i386/pc/linux.h: Moved to ...
41457 * include/grub/i386/linux.h: ... here.
41458
41459 * include/grub/i386/linux.h (struct linux_kernel_params): New
41460 struct.
f19dbdb7 41461
31b86e9f 414622006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
41463
41464 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
41465 checking.
41466 (grub_video_vbe_blit_glyph): Likewise.
41467 (grub_video_vbe_blit_bitmap): Likewise.
41468 (grub_video_vbe_blit_render_target): Likewise.
41469
83b984de 414702006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
41471
41472 * configure.ac (--with-platform): Properly quote the square
41473 brackets.
41474
5f0413bd 414752006-05-08 Marco Gerards <marco@gnu.org>
41476
41477 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
41478 this...
41479 (kernel_elf_HEADERS): ...to this. Updated all users.
41480 (grubof_symlist.c): Renamed from this...
41481 (kernel_elf_symlist.c): ...to this. Updated all users.
41482 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
41483 (grubof_SOURCES): Renamed from this...
41484 (kernel_elf_SOURCES): ...to this.
41485 (grubof_HEADERS): Renamed from this...
41486 (kernel_elf_HEADERS): ...to this.
41487 (grubof_CFLAGS): Renamed from this...
41488 (kernel_elf_CFLAGS): ...to this.
41489 (grubof_ASFLAGS): Renamed from this...
41490 (kernel_elf_ASFLAGS): ...to this.
41491 (grubof_LDFLAGS): Renamed from this...
41492 (kernel_elf_LDFLAGS): ...to this.
41493
41494 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
41495 this...
41496 (kernel_elf_HEADERS): ...to this. Updated all users.
41497 (grubof_symlist.c): Renamed from this...
41498 (kernel_elf_symlist.c): ...to this. Updated all users.
41499 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
41500 (grubof_SOURCES): Renamed from this...
41501 (kernel_elf_SOURCES): ...to this.
41502 (grubof_HEADERS): Renamed from this...
41503 (kernel_elf_HEADERS): ...to this.
41504 (grubof_CFLAGS): Renamed from this...
41505 (kernel_elf_CFLAGS): ...to this.
41506 (grubof_ASFLAGS): Renamed from this...
41507 (kernel_elf_ASFLAGS): ...to this.
41508 (grubof_LDFLAGS): Renamed from this...
41509 (kernel_elf_LDFLAGS): ...to this.
41510
41511 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
41512 `kernel.elf' instead of `grubof'.
41513
05568c2e 415142006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
41515
41516 Add --with-platform to configure. Use pkglibdir instead of
41517 pkgdatadir. This is reported by Roger Leigh.
41518
41519 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
41520 (host_vendor): Likewise.
41521 (host_os): Likewise.
41522 (pkgdatadir): Likewise.
41523 (platform): New variable.
41524 (pkglibdir): Likewise.
41525 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 41526
05568c2e 41527 * util/i386/pc/grub-install.in (datadir): Removed.
41528 (host_vendor): Likewise.
41529 (host_os): Likewise.
41530 (pkgdatadir): Likewise.
41531 (platform): New variable.
41532 (pkglibdir): Likewise.
41533 Use PKGLIBDIR instead of PKGDATADIR.
41534
41535 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
41536 instead of GRUB_DATADIR.
41537 (main): Likewise.
41538 * util/i386/pc/grub-mkimage.c (usage): Likewise.
41539 (main): Likewise.
41540 * util/i386/efi/grub-mkimage.c (usage): Likewise.
41541 (main): Likewise.
41542
41543 * configure.ac (--with-platform): New option.
41544 Use PLATFORM instead of HOST_VENDOR to specify a platform.
41545
41546 * Makefile.in: Include a makefile based on PLATFORM instead of
41547 HOST_VENDOR.
41548 (pkgdatadir): Not appended by the machine type.
41549 (pkglibdir): Appended by the machine type.
41550 (host_vendor): Removed.
41551 (platform): New variable.
41552 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
41553 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
41554 (uninstall): Likewise.
41555
4e93851c 415562006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
41557
41558 Use the environment context in the menu. Remove the commands
41559 "default" and "timeout", and use variables instead.
f19dbdb7 41560
4e93851c 41561 * normal/menu.c: Include grub/env.h.
41562 (print_entry): Cast TITLE to silence gcc.
41563 (get_timeout): New function.
41564 (set_timeout): Likewise.
41565 (get_entry_number): Likewise.
41566 (run_menu): Use a default entry, a fallback entry and a timeout
41567 in the environment variables "default", "fallback" and
41568 "timeout". Also, tweak the default entry if it is not within the
41569 current menu entries.
41570 (grub_menu_run): Use a fallback entry in the environment variable
41571 "fallback".
41572
41573 * normal/main.c (read_config_file): Do not initialize
41574 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
41575 NEWMENU->TIMEOUT.
41576 (grub_normal_execute): Use a data slot to store the menu.
41577
41578 * include/grub/normal.h (struct grub_menu): Removed default_entry,
41579 fallback_entry and timeout.
41580 (struct grub_menu_list): Removed.
41581 (grub_menu_list_t): Likewise.
41582 (struct grub_context): Likewise.
41583 (grub_context_t): Likewise.
41584 (grub_context_get): Likewise.
41585 (grub_context_get_current_menu): Likewise.
41586 (grub_context_push_menu): Likewise.
41587 (grub_context_pop_menu): Likewise.
41588 (grub_default_init): Likewise.
41589 (grub_default_fini): Likewise.
41590 (grub_timeout_init): Likewise.
41591 (grub_timeout_fini): Likewise.
41592
41593 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
41594 and timeout.mod.
41595 (normal_mod_SOURCES): Removed normal/context.c.
41596
41597 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
41598 commands/default.c, commands/timeout.c and normal/context.c.
41599 (normal_mod_SOURCES): Removed normal/context.c.
41600
41601 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
41602 commands/timeout.c and normal/context.c.
41603 (normal_mod_SOURCES): Removed normal/context.c.
41604
41605 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
41606 commands/default.c, commands/timeout.c and normal/context.c.
41607 (normal_mod_SOURCES): Removed normal/context.c.
41608
41609 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
41610 timeout.mod.
41611 (default_mod_SOURCES): Removed.
41612 (default_mod_CFLAGS): Likewise.
41613 (default_mod_LDFLAGS): Likewise.
41614 (timeout_mod_SOURCES): Removed.
41615 (timeout_mod_CFLAGS): Likewise.
41616 (timeout_mod_LDFLAGS): Likewise.
41617
41618 * DISTLIST: Removed commands/default.c, commands/timeout.c and
41619 normal/context.c.
41620
41621 * commands/default.c: Removed.
41622 * commands/timeout.c: Likewise.
41623 * normal/context.c: Likewise.
41624
1eb9cc1d 416252006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
41626
41627 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
41628
385bd9c1 416292006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
41630
41631 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
41632 "next" to "prev" for readability.
41633 (struct grub_env_sorted_var): New struct.
41634 (grub_env_context): Renamed to ...
41635 (initial_context): ... this.
41636 (grub_env_var_context): Renamed to ...
41637 (current_context): ... this.
41638 (grub_env_find): Look only at CURRENT_CONTEXT.
41639 (grub_env_context_open): Rewritten to copy exported variables from
41640 previous context.
41641 (grub_env_context_close): Rewritten according to the new
41642 scheme. Also, add an assertion to prevent the initial context from
41643 removed.
41644 (grub_env_insert): Removed the code for the sorted list.
41645 (grub_env_remove): Likewise.
41646 (grub_env_export): Simply mark the variable with
41647 GRUB_ENV_VAR_GLOBAL.
41648 (grub_env_set): A cosmetic change for naming consistency.
41649 (grub_env_get): Likewise.
41650 (grub_env_unset): Likewise.
41651 (grub_env_iterate): Rewritten to sort variables within this
41652 function.
41653 (grub_register_variable_hook): Fixed for naming consistency. Call
41654 grub_env_find again, only if NAME is not found at the first time.
41655 (mangle_data_slot_name): New function.
41656 (grub_env_set_data_slot): Likewise.
41657 (grub_env_get_data_slot): Likewise.
41658 (grub_env_unset_data_slot): Likewise.
41659
41660 * include/grub/env.h (grub_env_var_type): New enum.
41661 (GRUB_ENV_VAR_LOCAL): New constant.
41662 (GRUB_ENV_VAR_GLOBAL): Likewise.
41663 (GRUB_ENV_VAR_DATA): Likewise.
41664 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
41665 "type".
41666 (grub_env_set): Replace VAR with NAME for consistency.
41667 (grub_register_variable_hook): Likewise.
41668 (grub_env_export): Specify the name of the argument.
41669 (grub_env_set_data_slot): New prototype.
41670 (grub_env_get_data_slot): Likewise.
41671 (grub_env_unset_data_slot): Likewise.
41672
7f362539 416732006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
41674
41675 Extend the loader so that GRUB can accept a loader which comes
41676 back to GRUB when a loaded image exits. Also, this change adds
41677 support for a chainloader on EFI.
f19dbdb7 41678
7f362539 41679 * term/efi/console.c: Include grub/misc.h.
41680 (grub_console_checkkey): Display a scan code on the top for
41681 debugging. This will be removed once the EFI port gets stable.
41682 Correct the scan code mapping.
41683
41684 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
41685 allocate memory from larger regions, in order to reduce the number
41686 of allocated regions. Otherwise, the MacOSX loader panics.
41687 (filter_memory_map): Avoid less than 1MB for compatibility with
41688 other loaders.
41689 (add_memory_regions): Allocate from the tail of a region, if
41690 possible, to avoid allocating a region near to 1MB, for the MacOSX
41691 loader.
41692
41693 * kern/efi/init.c (grub_efi_set_prefix): Specify
41694 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
41695
41696 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
41697 argument IMAGE_HANDLE and specify it to get a loaded image.
41698 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
41699 grub_efi_get_loaded_image.
fe6b695a 41700 (grub_efi_get_filename): Divide the length by the size of
7f362539 41701 grub_efi_char16_t.
41702 (grub_efi_get_device_path): New function.
41703 (grub_efi_print_device_path): Print End Device Path nodes. Divide
41704 the length by the size of grub_efi_char16_t for a file path device
41705 path node.
41706
41707 * kern/loader.c (grub_loader_noreturn): New variable.
41708 (grub_loader_set): Accept a new argument NORETURN. Set
41709 GRUB_LOADER_NORETURN to NORETURN.
41710 All callers changed.
41711 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
41712 grub_machine_fini.
41713
41714 * include/grub/efi/efi.h (grub_efi_get_device_path): New
41715 prototype.
41716 (grub_efi_get_loaded_image): Take an argument to specify an image
41717 handle.
41718
41719 * include/grub/loader.h (grub_loader_set): Added one more argument
41720 NORETURN.
41721
41722 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
41723 instead of grub_efi_open_protocol.
41724 (grub_efidisk_get_device_name): Likewise.
41725 (grub_efidisk_close): Print a newline.
41726 (grub_efidisk_get_device_handle): Fixed to use
41727 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
41728 GRUB_EFI_DEVICE_PATH_TYPE.
41729
41730 * disk/efi/efidisk.c (device_path_guid): Moved to ...
41731 * kern/efi/efi.c (device_path_guid): ... here.
41732
41733 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
41734 chain.mod.
41735 (kernel_mod_HEADERS): Added efi/disk.h.
41736 (_chain_mod_SOURCES): New variable.
41737 (_chain_mod_CFLAGS): Likewise.
41738 (_chain_mod_LDFLAGS): Likewise.
41739 (chain_mod_SOURCES): Likewise.
41740 (chain_mod_CFLAGS): Likewise.
41741 (chain_mod_LDFLAGS): Likewise.
41742
41743 * DISTLIST: Added include/grub/efi/chainloader.h,
41744 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
41745
41746 * include/grub/efi/chainloader.h: New file.
41747 * loader/efi/chainloader.c: Likewise.
41748 * loader/efi/chainloader_normal.c: Likewise.
41749
c0111d6e 417502006-04-30 Marco Gerards <marco@gnu.org>
41751
41752 * commands/configfile.c (grub_cmd_source): New function.
41753 (GRUB_MOD_INIT): Register the commands `source' and `.'.
41754 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
41755
df5341da 417562006-04-30 Marco Gerards <marco@gnu.org>
41757
41758 * normal/execute.c (grub_script_execute_cmd): Change the return
41759 type to `grub_err_t'. Correctly return the error.
41760 (grub_script_execute_cmdline): In case a command line is not a
41761 command or a function, try to interpret it as an assignment.
41762
f85934bd 417632006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
41764
41765 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
41766 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
41767 skip a node whose name is obviously invalid as UTF-16,
41768 i.e. contains a NUL character. Stop the iteration when the last
41769 directory entry is found. Instead of using the return value of
41770 grub_hfsplus_btree_iterate_node, store the value in RET and use
41771 it, because the iterator can be stopped by the last directory
41772 entry.
41773
8f8a2cf8 417742006-04-30 Marco Gerards <marco@gnu.org>
41775
41776 * include/grub/env.h (grub_env_export): New prototype. Reported
41777 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
41778
a27e84ce 417792006-04-30 Marco Gerards <marco@gnu.org>
41780
41781 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
41782 size of the extents in a catalog file record.
41783
eaef0553 417842006-04-29 Marco Gerards <marco@gnu.org>
41785
41786 * commands/configfile.c (grub_cmd_configfile): Execute the
41787 configfile within its own context.
41788
41789 * include/grub/env.h (grub_env_context_open): New prototype.
41790 (grub_env_context_close): Likewise.
41791
41792 * kern/env.c (grub_env): Removed.
41793 (grub_env_sorted): Likewise.
41794 (grub_env_context): New variable.
41795 (grub_env_var_context): Likewise.
41796 (grub_env_find): Search both the active context and the global
41797 context.
41798 (grub_env_context_open): New function.
41799 (grub_env_context_close): Likewise.
41800 (grub_env_insert): Likewise.
41801 (grub_env_remove): Likewise.
41802 (grub_env_export): Likewise.
41803 (grub_env_set): Changed to use helper functions to avoid code
41804 duplication.
41805 (grub_env_iterate): Rewritten so both the current context and the
41806 global context are being used.
41807
41808 * normal/command.c (export_command): New function.
41809 (grub_command_init): Register the `export' function.
41810
7b455f4d 418112006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
41812
41813 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
41814 explicitly to suppress gcc's warnings.
41815 * fs/fat.c (grub_fat_find_dir): Likewise.
41816 (grub_fat_label): Likewise.
41817 * fs/xfs.c (grub_xfs_read_inode): Likewise.
41818 (grub_xfs_mount): Likewise.
41819 (grub_xfs_label): Likewise.
41820 * fs/affs.c (grub_affs_mount): Likewise.
41821 (grub_affs_label): Likewise.
41822 (grub_affs_iterate_dir): Likewise.
41823 * fs/sfs.c (grub_sfs_mount): Likewise.
41824 (grub_sfs_iterate_dir): Likewise.
41825 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
41826 * fs/hfs.c (grub_hfs_mount): Likewise.
41827 (grub_hfs_cmp_catkeys): Likewise.
41828 (grub_hfs_find_dir): Likewise.
41829 (grub_hfs_dir): Likewise.
41830 (grub_hfs_label): Likewise.
41831 * fs/jfs.c (grub_jfs_mount): Likewise.
41832 (grub_jfs_opendir): Likewise.
41833 (grub_jfs_getent): Likewise.
41834 (grub_jfs_lookup_symlink): Likewise.
41835 (grub_jfs_label): Likewise.
41836 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
41837 (grub_hfsplus_iterate_dir): Likewise.
41838 (grub_hfsplus_btree_iterate_node): Made static.
41839
41840 * util/grub-emu.c (prefix): New variable.
41841 (grub_machine_set_prefix): New function.
41842 (main): Do not set the environment variable "prefix" here. Only
41843 set PREFIX, which is used later by grub_machine_set_prefix.
41844
41845 * include/grub/video.h: Do not include grub/symbol.h.
41846 (grub_video_register): Not exported. This symbol is not defined in
41847 the kernel.
41848 (grub_video_unregister): Likewise.
41849 (grub_video_iterate): Likewise.
41850 (grub_video_setup): Likewise.
41851 (grub_video_restore): Likewise.
41852 (grub_video_get_info): Likewise.
41853 (grub_video_get_blit_format): Likewise.
41854 (grub_video_set_palette): Likewise.
41855 (grub_video_get_palette): Likewise.
41856 (grub_video_set_viewport): Likewise.
41857 (grub_video_get_viewport): Likewise.
41858 (grub_video_map_color): Likewise.
41859 (grub_video_map_rgb): Likewise.
41860 (grub_video_map_rgba): Likewise.
41861 (grub_video_fill_rect): Likewise.
41862 (grub_video_blit_glyph): Likewise.
41863 (grub_video_blit_bitmap): Likewise.
41864 (grub_video_blit_render_target): Likewise.
41865 (grub_video_scroll): Likewise.
41866 (grub_video_swap_buffers): Likewise.
41867 (grub_video_create_render_target): Likewise.
41868 (grub_video_delete_render_target): Likewise.
41869 (grub_video_set_active_render_target): Likewise.
41870
41871 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
41872 Undefined.
41873 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
41874
41875 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
41876 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41877 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41878 instead of $(srcdir)/genkernsyms.sh.
41879
41880 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
41881 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41882 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41883 instead of $(srcdir)/genkernsyms.sh.
41884
41885 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
41886 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41887 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41888 instead of $(srcdir)/genkernsyms.sh.
41889
41890 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
41891 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41892 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41893 instead of $(srcdir)/genkernsyms.sh.
41894
41895 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
41896 genkernsyms.sh.
41897
41898 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
41899 genkernsyms.sh.
41900 (gensymlist.sh): New target.
41901 (genkernsyms.sh): Likewise.
41902
41903 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
41904 genkernsyms.sh.in and gensymlist.sh.in.
41905
41906 * genkernsyms.sh: Removed.
41907 * gensymlist.sh: Likewise.
f19dbdb7 41908
7b455f4d 41909 * genkernsyms.sh.in: New file.
41910 * gensymlist.sh.in: Likewise.
41911
1885bb27 419122006-04-25 Hollis Blanchard <hollis@penguinppc.org>
41913
41914 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
41915 clobber "prefix", since we may have already set it manually.
41916
71538dff 419172006-04-25 Hollis Blanchard <hollis@penguinppc.org>
41918
41919 * kern/misc.c (abort): New alias for grub_abort.
41920
2965c7cc 419212006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
41922
41923 A new machine-specific function "grub_machine_set_prefix" is
41924 defined. This is called after loading modules, so that a prefix
41925 initialization can use modules. Also, this change adds an
41926 intensive debugging feature for the memory manager via the
41927 configure option "--enable-mm-debug".
f19dbdb7 41928
2965c7cc 41929 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
41930 PART.LEN.
41931
41932 * kern/sparc64/ieee1275/init.c (abort): Removed.
41933 (grub_stop): Likewise.
41934 (grub_exit): New function.
41935 (grub_set_prefix): Renamed to ...
41936 (grub_machine_set_prefix): ... this.
41937 (grub_machine_init): Do not call grub_set_prefix.
41938
41939 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
41940 (grub_machine_set_prefix): ... this.
41941 (grub_machine_init): Do not call grub_set_prefix.
41942
41943 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
41944 (grub_machine_init): Do not set the prefix here.
41945
41946 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
41947
41948 * kern/efi/init.c: Include grub/mm.h.
41949 (grub_efi_set_prefix): New function.
41950
41951 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
41952 (grub_efi_get_filename): New function.
41953 (grub_print_device_path): Renamed to ...
41954 (grub_efi_print_device_path): ... this.
41955
41956 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
41957 [MM_DEBUG] (grub_realloc): Likewise.
41958 [MM_DEBUG] (grub_free): Likewise.
41959 [MM_DEBUG] (grub_memalign): Likewise.
41960 [MM_DEBUG] (grub_mm_debug): New variable.
41961 [MM_DEBUG] (grub_debug_malloc): New function.
41962 [MM_DEBUG] (grub_debug_free): New function.
41963 [MM_DEBUG] (grub_debug_realloc): New function.
41964 [MM_DEBUG] (grub_debug_memalign): New function.
41965
41966 * kern/misc.c (grub_abort): Print a newline to distinguish
41967 the message.
41968
41969 * kern/main.c (grub_main): Call grub_machine_set_prefix and
41970 grub_set_root_dev after loading modules. This is necessary when
41971 setting a prefix depends on modules.
41972
41973 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
41974 (grub_efi_print_device_path): ... this.
41975 (grub_efi_get_filename): New prototype.
41976 (grub_efi_set_prefix): Likewise.
41977
41978 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
41979 and grub/disk.h.
41980 (grub_efidisk_get_device_handle): New prototype.
41981 (grub_efidisk_get_device_name): Likewise.
41982
41983 * include/grub/mm.h: Include config.h.
41984 (MM_DEBUG): Removed.
41985 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
41986 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
41987 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
41988 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
41989 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
41990 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
41991 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
41992 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
41993 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
41994
41995 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
41996
41997 * disk/efi/efidisk.c: Include grub/partition.h.
41998 (iterate_child_devices): New function.
41999 (add_device): First, compare only last device path nodes, so that
42000 devices are sorted by the types.
42001 (grub_efidisk_get_device_handle): New function.
42002 (grub_efidisk_get_device_name): Likewise.
42003
42004 * configure.ac (--enable-mm-debug): New option to enable the
42005 memory manager debugging feature. This makes the binary much
42006 bigger, so is disabled by default.
42007
9cacaa17 420082006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
42009
42010 Use grub_abort instead of grub_stop, and grub_exit must be
42011 define in each architecture now. Also, this change adds support
42012 for EFI disks.
f19dbdb7 42013
9cacaa17 42014 * util/i386/pc/grub-probefs.c: Include grub/term.h.
42015 (grub_getkey): New function.
42016 (grub_term_get_current): Likewise.
42017
42018 * util/i386/pc/grub-setup.c: Include grub/term.h.
42019 (grub_getkey): New function.
42020 (grub_term_get_current): Likewise.
42021
42022 * util/misc.c (grub_stop): Renamed to ...
42023 (grub_exit): ... this.
42024
42025 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
42026 (grub_exit): ... this.
42027 (grub_machine_init): Use grub_abort instead of abort.
42028 (grub_stop): Removed.
42029
42030 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
42031 abort.
42032
42033 * kern/i386/pc/startup.S (grub_exit): New function.
42034 (cold_reboot): New label.
42035
42036 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
42037 (grub_efi_init): Call grub_efidisk_init.
42038 (grub_efi_fini): Call grub_efidisk_fini.
42039
42040 * kern/efi/efi.c: Include grub/mm.h.
42041 (grub_efi_console_control_guid): Renamed to ...
42042 (console_control_guid): ... this.
42043 (grub_efi_loaded_image_guid): Renamed to ...
42044 (loaded_image_guid): ... this.
42045 (grub_efi_locate_handle): New function.
42046 (grub_efi_open_protocol): Likewise.
42047 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
42048 GRUB_EFI_CONSOLE_CONTROL_GUID.
42049 (grub_efi_exit): Removed.
42050 (grub_stop): Likewise.
42051 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
42052 (grub_exit): New function.
42053 (grub_print_device_path): Likewise.
42054
42055 * kern/rescue.c (grub_rescue_cmd_exit): New function.
42056 (grub_enter_rescue_mode): Register "exit".
42057
42058 * kern/misc.c (grub_real_dprintf): A cosmetic change.
42059 (grub_abort): New function.
42060
42061 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
42062
42063 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
42064
42065 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
42066
42067 * include/grub/efi/efi.h (grub_efi_exit): Removed.
42068 (grub_print_device_path): New prototype.
42069 (grub_efi_locate_handle): Likewise.
42070 (grub_efi_open_protocol): Likewise.
42071
42072 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
42073 * disk/efi/efidisk.c: Likewise.
42074
42075 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
42076
42077 * include/grub/efi/console_control.h
42078 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
42079
42080 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
42081 last 8 bytes as an array.
42082 (GRUB_EFI_DISK_IO_GUID): New macro.
42083 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
42084 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
42085 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
42086 grub_uint8_t.
42087 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
42088 (struct grub_efi_device_path): Rename the member "sub_type" to
42089 "subtype".
42090 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
42091 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
42092 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
42093 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
42094 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
42095 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
42096 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
42097 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
42098 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
42099 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
42100 (struct grub_efi_pci_device_path): New structure.
42101 (grub_efi_pci_device_path_t): New type.
42102 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
42103 (struct grub_efi_pccard_device_path): New structure.
42104 (grub_efi_pccard_device_path_t): New type.
42105 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
42106 (struct grub_efi_memory_mapped_device_path): New structure.
42107 (grub_efi_memory_mapped_device_path_t): New type.
42108 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
42109 (struct grub_efi_vendor_device_path): New structure.
42110 (grub_efi_vendor_device_path_t): New type.
42111 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
42112 (struct grub_efi_controller_device_path): New structure.
42113 (grub_efi_controller_device_path_t): New type.
42114 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
42115 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
42116 (struct grub_efi_acpi_device_path): New structure.
42117 (grub_efi_acpi_device_path_t): New type.
42118 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
42119 (struct grub_efi_expanded_acpi_device_path): New structure.
42120 (grub_efi_expanded_acpi_device_path_t): New type.
42121 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
42122 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
42123 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
42124 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
42125 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
42126 (struct grub_efi_atapi_device_path): New structure.
42127 (grub_efi_atapi_device_path_t): New type.
42128 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
42129 (struct grub_efi_fibre_channel_device_path): New structure.
42130 (grub_efi_fibre_channel_device_path_t): New type.
42131 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
42132 (struct grub_efi_1394_device_path): New structure.
42133 (grub_efi_1394_device_path_t): New type.
42134 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
42135 (struct grub_efi_usb_device_path): New structure.
42136 (grub_efi_usb_device_path_t): New type.
42137 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
42138 (struct grub_efi_usb_class_device_path): New structure.
42139 (grub_efi_usb_class_device_path_t): New type.
42140 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
42141 (struct grub_efi_i2o_device_path): New structure.
42142 (grub_efi_i2o_device_path_t): New type.
42143 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
42144 (struct grub_efi_mac_address_device_path): New structure.
42145 (grub_efi_mac_address_device_path_t): New type.
42146 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
42147 (struct grub_efi_ipv4_device_path): New structure.
42148 (grub_efi_ipv4_device_path_t): New type.
42149 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
42150 (struct grub_efi_ipv6_device_path): New structure.
42151 (grub_efi_ipv6_device_path_t): New type.
42152 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
42153 (struct grub_efi_infiniband_device_path): New structure.
42154 (grub_efi_infiniband_device_path_t): New type.
42155 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
42156 (struct grub_efi_uart_device_path): New structure.
42157 (grub_efi_uart_device_path_t): New type.
42158 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
42159 (struct grub_efi_vendor_messaging_device_path): New structure.
42160 (grub_efi_vendor_messaging_device_path_t): New type.
42161 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
42162 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
42163 (struct grub_efi_hard_drive_device_path): New structure.
42164 (grub_efi_hard_drive_device_path_t): New type.
42165 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
42166 (struct grub_efi_cdrom_device_path): New structure.
42167 (grub_efi_cdrom_device_path_t): New type.
42168 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
42169 (struct grub_efi_vendor_media_device_path): New structure.
42170 (grub_efi_vendor_media_device_path_t): New type.
42171 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
42172 (struct grub_efi_file_path_device_path): New structure.
42173 (grub_efi_file_path_device_path_t): New type.
42174 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
42175 (struct grub_efi_protocol_device_path): New structure.
42176 (grub_efi_protocol_device_path_t): New type.
42177 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
42178 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
42179 (struct grub_efi_bios_device_path): New structure.
42180 (grub_efi_bios_device_path_t): New type.
42181 (struct grub_efi_disk_io): New structure.
42182 (grub_efi_disk_io_t): New type.
42183 (struct grub_efi_block_io_media): New structure.
42184 (grub_efi_block_io_media_t): New type.
42185 (struct grub_efi_block_io): New structure.
42186 (grub_efi_block_io_t): New type.
42187
42188 * include/grub/misc.h (grub_stop): Removed.
42189 (grub_exit): New prototype.
42190 (grub_abort): Likewise.
42191
42192 * include/grub/disk.h (enum grub_disk_dev_id): Added
42193 GRUB_DISK_DEVICE_EFIDISK_ID.
42194
42195 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
42196 disk/efi/efidisk.c.
42197 (kernel_syms.lst): Remove the target if an error occurs.
42198
49986a9f 421992006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
42200
42201 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
42202 as it was simply too buggy.
42203
970d3b8a 422042006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
42205
42206 * kern/misc.c (grub_lltoa): New function.
42207 (grub_vsprintf): Added support for the long long suffix,
42208 i.e. "ll".
42209
ff04ec24 422102006-04-20 Hollis Blanchard <hollis@penguinppc.org>
42211
42212 * Makefile.in (LDFLAGS): Add variable.
42213 (LD): Remove variable.
42214 * configure.ac: Add -m32 to LDFLAGS.
42215 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
42216 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
42217 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
42218 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
42219 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
42220 variables.
42221 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
42222 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
42223 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
42224
37e5e1a4 422252006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
42226
42227 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
42228 length for unknown glyph.
42229
c352d8dd 422302006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
42231
2eab1c0d 42232 Add support for pre-loaded modules into the EFI port.
f19dbdb7 42233
2eab1c0d 42234 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
42235 completely. Accept one more argument DIR. The caller has changed.
42236
42237 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
42238
42239 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
42240 (grub_efi_loaded_image_guid): New variable.
42241 (grub_efi_get_loaded_image): New function.
42242 (grub_arch_modules_addr): Likewise.
42243
42244 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
42245 prototype.
42246
42247 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
42248 (struct grub_efi_loaded_image): New structure.
42249 (grub_efi_loaded_image_t): New type.
42250
422512006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 42252
c352d8dd 42253 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
42254 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
42255 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
42256
6d01d6b4 422572006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
42258
42259 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
42260
976a4ea0 422612006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
42262
42263 * DISTLIST: Added include/grub/efi/console.h,
42264 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
42265 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
42266
42267 * include/grub/efi/console.h: New file.
42268 * include/grub/efi/time.h: Likewise.
42269 * include/grub/i386/efi/kernel.h: Likewise.
42270 * kern/efi/init.c: Likewise.
42271 * kern/efi/mm.c: Likewise.
42272 * term/efi/console.c: Likewise.
f19dbdb7 42273
976a4ea0 42274 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
42275 (grub_stop): Removed.
42276 (grub_get_rtc): Likewise.
42277 (grub_machine_init): Simply call grub_efi_init.
42278 (grub_machine_fini): Call grub_efi_fini.
42279
42280 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
42281 (grub_efi_output_string): Removed.
42282 (grub_efi_stall): New function.
42283 (grub_stop): Likewise.
42284 (grub_get_rtc): Likewise.
42285
42286 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
42287 (grub_efi_stall): New prototype.
42288 (grub_efi_allocate_pages): Likewise.
42289 (grub_efi_free_pages): Likewise.
42290 (grub_efi_get_memory_map): Likewise.
42291 (grub_efi_mm_init): Likewise.
42292 (grub_efi_mm_fini): Likewise.
42293 (grub_efi_init): Likewise.
42294 (grub_efi_fini): Likewise.
42295
42296 * include/grub/i386/efi/time.h: Do not include
42297 grub/symbol.h. Include grub/efi/time.h.
42298 (GRUB_TICKS_PER_SECOND): Removed.
42299 (grub_get_rtc): Likewise.
42300
42301 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
42302 Added padding. The EFI spec is buggy.
42303 (GRUB_EFI_BLACK): New macro.
42304 (GRUB_EFI_BLUE): Likewise.
42305 (GRUB_EFI_GREEN): Likewise.
42306 (GRUB_EFI_CYAN): Likewise.
42307 (GRUB_EFI_RED): Likewise.
42308 (GRUB_EFI_MAGENTA): Likewise.
42309 (GRUB_EFI_BROWN): Likewise.
42310 (GRUB_EFI_LIGHTGRAY): Likewise.
42311 (GRUB_EFI_BRIGHT): Likewise.
42312 (GRUB_EFI_DARKGRAY): Likewise.
42313 (GRUB_EFI_LIGHTBLUE): Likewise.
42314 (GRUB_EFI_LIGHTGREEN): Likewise.
42315 (GRUB_EFI_LIGHTCYAN): Likewise.
42316 (GRUB_EFI_LIGHTRED): Likewise.
42317 (GRUB_EFI_LIGHTMAGENTA): Likewise.
42318 (GRUB_EFI_YELLOW): Likewise.
42319 (GRUB_EFI_WHITE): Likewise.
42320 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
42321 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
42322 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
42323 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
42324 (GRUB_EFI_BACKGROUND_RED): Likewise.
42325 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
42326 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
42327 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
42328 (GRUB_EFI_TEXT_ATTR): Likewise.
42329
42330 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
42331 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
42332 (kernel_mod_HEADERS): Added efi/time.h.
42333
83709125 423342006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
42335
42336 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
42337 include/grub/efi/api.h, include/grub/efi/console_control.h,
42338 include/grub/efi/efi.h, include/grub/efi/pe32.h,
42339 include/grub/i386/efi/time.h, kern/efi/efi.c,
42340 kern/i386/efi/init.c, kern/i386/efi/startup.S,
42341 and util/i386/efi/grub-mkimage.c.
42342
42343 * Makefile.in (RMKFILES): Added i386-efi.rmk.
42344
42345 * genmk.rb (PModule#rule): Do not export symbols if
42346 #{prefix}_EXPORTS is set to "no".
42347
42348 * conf/i386-efi.mk: New file.
42349 * conf/i386-efi.rmk: Likewise.
42350 * include/grub/efi/api.h: Likewise.
42351 * include/grub/efi/console_control.h: Likewise.
42352 * include/grub/efi/efi.h: Likewise.
42353 * include/grub/efi/pe32.h: Likewise.
42354 * include/grub/i386/efi/time.h: Likewise.
42355 * kern/efi/efi.c: Likewise.
42356 * kern/i386/efi/init.c: Likewise.
42357 * kern/i386/efi/startup.S: Likewise.
42358 * util/i386/efi/grub-mkimage.c: Likewise.
42359
423602006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 42361
42362 * include/grub/script.h: Include <grub/parser.h> and
42363 "grub_script.tab.h".
42364 (struct grub_lexer_param): New struct.
42365 (struct grub_parser_param): Likewise.
42366 (grub_script_create_arglist): Pass the state in an argument.
42367 (grub_script_add_arglist): Likewise.
42368 (grub_script_create_cmdline): Likewise.
42369 (grub_script_create_cmdblock): Likewise.
42370 (grub_script_create_cmdif): Likewise.
42371 (grub_script_create_cmdmenu): Likewise.
42372 (grub_script_add_cmd): Likewise.
42373 (grub_script_arg_add): Likewise.
42374 (grub_script_lexer_ref): Likewise.
42375 (grub_script_lexer_deref): Likewise.
42376 (grub_script_lexer_record_start): Likewise.
42377 (grub_script_lexer_record_stop): Likewise.
42378 (grub_script_mem_record): Likewise.
42379 (grub_script_mem_record_stop): Likewise.
42380 (grub_script_malloc): Likewise.
42381 (grub_script_yylex): Likewise.
42382 (grub_script_yyparse): Likewise.
42383 (grub_script_yyerror): Likewise.
42384 (grub_script_yylex): Likewise.
42385 (grub_script_lexer_init): Return the state.
42386
42387 * normal/lexer.c (grub_script_lexer_state): Removed variable.
42388 (grub_script_lexer_done): Likewise.
42389 (grub_script_lexer_getline): Likewise.
42390 (grub_script_lexer_refs): Likewise.
42391 (script): Likewise.
42392 (newscript): Likewise.
42393 (record): Likewise.
42394 (recording): Likewise.
42395 (recordpos): Likewise.
42396 (recordlen): Likewise.
42397 (grub_script_lexer_init): Return the state instead of setting
42398 global variables.
42399 (grub_script_lexer_ref): Use the newly added argument for state
42400 instead of globals.
42401 (grub_script_lexer_deref): Likewise.
42402 (grub_script_lexer_record_start): Likewise.
42403 (grub_script_lexer_record_stop): Likewise.
42404 (recordchar): Likewise.
42405 (nextchar): Likewise.
42406 (grub_script_yylex2): Likewise.
42407 (grub_script_yylex): Likewise.
42408 (grub_script_yyerror): Likewise.
42409
42410 * normal/parser.y (func_mem): Removed variable.
42411 (menu_entry): Likewise.
42412 (err): Likewise.
42413 (%lex-param): New parser option.
42414 (%parse-param): Likewise.
42415 (script): Always return the AST.
42416 (argument): Pass the state around.
42417 (arguments): Likewise.
42418 (grubcmd): Likewise.
42419 (commands): Likewise.
42420 (function): Likewise.
42421 (menuentry): Likewise.
42422 (if_statement): Likewise.
42423 (if): Likewise.
42424
42425 * normal/script.c (grub_script_memused): Removed variable.
42426 (grub_script_parsed): Likewise.
42427 (grub_script_malloc): Added a state argument. Use that instead of
42428 global variables.
42429 (grub_script_mem_record): Likewise.
42430 (grub_script_mem_record_stop): Likewise.
42431 (grub_script_arg_add): Likewise.
42432 (grub_script_add_arglist): Likewise.
42433 (grub_script_create_cmdline): Likewise.
42434 (grub_script_create_cmdif): Likewise.
42435 (grub_script_create_cmdmenu): Likewise.
42436 (grub_script_add_cmd): Likewise.
42437 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 42438
e2a8c904 424392006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 42440
42441 * normal/command.c (grub_command_init): Remove the title command.
42442
42443 * normal/lexer.c (grub_script_yylex): Renamed from this...
42444 (grub_script_yylex2): ... to this.
42445 (grub_script_yylex): New function. Temporary
42446 introduced to filter some tokens.
42447 (grub_script_yyerror): Print a newline.
42448
42449 * normal/main.c (read_config_file): Output information about the
42450 lines that contain errors. Wait for a key after all lines have
42451 been processed. Don't return an empty menu.
42452
42453 * normal/parser.y (func_mem): Don't initialize.
42454 (menu_entry): Likewise.
42455 (err): New variable.
42456 (script): Don't return anything when an error was encountered.
42457 (ws, returns): Removed rules.
42458 (argument): Disabled concatenated variable support.
42459 (arguments): Remove explicit separators.
42460 (grubcmd): Likewise.
42461 (function): Likewise.
42462 (menuentry): Likewise.
42463 (if): Likewise.
42464 (commands): Likewise. Add error handling.
42465
42466 * normal/script.c (grub_script_create_cmdline): If
42467 `grub_script_parsed' is 0, assume the parser encountered an error.
42468
c9a86192 424692006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
42470
42471 * configure.ac: Add support for EFI. Fix the typo
42472 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
42473
70f3b243 424742006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
42475
42476 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
42477 foreign multibyte characters should be shown correctly.
42478
65f201ad 424792006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
42480
42481 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
42482 calculation.
42483 (read_config_file): Made it to close file before returning.
42484
b4b93674 424852006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
42486
42487 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
42488 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
42489 video/i386/pc/vbefill.c.
42490
42491 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
42492 video/i386/pc/vbefill.c.
42493
42494 * include/grub/video.h (grub_video_blit_format): New enum.
42495 (grub_video_mode_info): Added new member blit_format.
42496 (grub_video_get_blit_format): New function prototype.
42497
42498 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
42499 function prototype.
42500 (grub_video_vbe_map_rgb): Likewise.
42501 (grub_video_vbe_unmap_color): Likewise.
42502
42503 * include/grub/i386/pc/vbeblit.h: New file.
42504
42505 * include/grub/i386/pc/vbefill.h: New file.
42506
42507 * video/video.c (grub_video_get_blit_format): New function.
42508 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
42509 (grub_video_vbe_map_rgb): Likewise.
42510 (grub_video_vbe_unmap_color): Likewise.
42511
42512 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
42513 optimized fills.
42514 (grub_video_vbe_blit_render_target): Changed to use more optimized
42515 blits.
42516 (grub_video_vbe_setup): Added detection for optimized settings.
42517 (grub_video_vbe_create_render_target): Likewise.
42518
42519 * video/i386/pc/vbeblit.c: New file.
42520
42521 * video/i386/pc/vbefill.c: New file.
42522
c2379b9c 425232006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
42524
42525 * font/manager.c (grub_font_get_glyph): Removed font fixup from
42526 here...
42527
42528 * util/unifont2pff.rb: ... and moved it to here. Improved argument
42529 parsing to support both hex and dec ranges. If filename was missing
42530 show usage information.
42531
bd0d7896 425322006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
42533
42534 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
42535 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
42536
42537 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
42538 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
42539 (video_mod_SOURCES): Added.
42540 (video_mod_CFLAGS): Likewise.
42541 (video_mod_LDFLAGS): Likewise.
42542 (gfxterm_mod_SOURCES): Likewise.
42543 (gfxterm_mod_CFLAGS): Likewise.
42544 (gfxterm_mod_LDFLAGS): Likewise.
42545 (videotest_mod_SOURCES): Likewise.
42546 (videotest_mod_CFLAGS): Likewise.
42547 (videotest_mod_LDFLAGS): Likewise.
42548 (vesafb_mod_SOURCES): Removed.
42549 (vesafb_mod_CFLAGS): Likewise.
42550 (vesafb_mod_LDFLAGS): Likewise.
42551 (vga_mod_SOURCES): Likewise.
42552 (vga_mod_CFLAGS): Likewise.
42553 (vga_mod_LDFLAGS): Likewise.
42554
42555 * commands/videotest.c: New file.
42556
42557 * font/manager.c (fill_with_default_glyph): Modified to use
42558 grub_font_glyph.
42559 (grub_font_get_glyph): Likewise.
42560 (fontmanager): Renamed from this...
42561 (font_manager): ... to this.
42562
42563 * include/grub/font.h (grub_font_glyph): Added new structure.
42564 (grub_font_get_glyph): Modified to use grub_font_glyph.
42565
42566 * include/grub/misc.h (grub_abs): Added as inline function.
42567
42568 * include/grub/video.h: New file.
42569
42570 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
42571 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
42572 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
42573 (grub_vbe_get_controller_info): Renamed from this...
42574 (grub_vbe_bios_get_controller_info): ... to this.
42575 (grub_vbe_get_mode_info): Renamed from this...
42576 (grub_vbe_bios_get_mode_info): ... to this.
42577 (grub_vbe_set_mode): Renamed from this...
42578 (grub_vbe_bios_set_mode): ... to this.
42579 (grub_vbe_get_mode): Renamed from this...
42580 (grub_vbe_bios_get_mode): ... to this.
42581 (grub_vbe_set_memory_window): Renamed from this...
42582 (grub_vbe_bios_set_memory_window): ... to this.
42583 (grub_vbe_get_memory_window): Renamed from this...
42584 (grub_vbe_bios_get_memory_window): ... to this.
42585 (grub_vbe_set_scanline_length): Renamed from this...
42586 (grub_vbe_set_scanline_length): ... to this.
42587 (grub_vbe_get_scanline_length): Renamed from this...
42588 (grub_vbe_bios_get_scanline_length): ... to this.
42589 (grub_vbe_set_display_start): Renamed from this...
42590 (grub_vbe_bios_set_display_start): ... to this.
42591 (grub_vbe_get_display_start): Renamed from this...
42592 (grub_vbe_bios_get_display_start): ... to this.
42593 (grub_vbe_set_palette_data): Renamed from this...
42594 (grub_vbe_bios_set_palette_data): ... to this.
42595 (grub_vbe_set_pixel_rgb): Removed.
42596 (grub_vbe_set_pixel_index): Likewise.
42597
42598 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
42599 from this...
42600 (grub_vbe_bios_get_controller_info): ... to this.
42601 (grub_vbe_get_mode_info): Renamed from this...
42602 (grub_vbe_bios_get_mode_info): ... to this.
42603 (grub_vbe_set_mode): Renamed from this...
42604 (grub_vbe_bios_set_mode): ... to this.
42605 (grub_vbe_get_mode): Renamed from this...
42606 (grub_vbe_bios_get_mode): ... to this.
42607 (grub_vbe_set_memory_window): Renamed from this...
42608 (grub_vbe_bios_set_memory_window): ... to this.
42609 (grub_vbe_get_memory_window): Renamed from this...
42610 (grub_vbe_bios_get_memory_window): ... to this.
42611 (grub_vbe_set_scanline_length): Renamed from this...
42612 (grub_vbe_set_scanline_length): ... to this.
42613 (grub_vbe_get_scanline_length): Renamed from this...
42614 (grub_vbe_bios_get_scanline_length): ... to this.
42615 (grub_vbe_set_display_start): Renamed from this...
42616 (grub_vbe_bios_set_display_start): ... to this.
42617 (grub_vbe_get_display_start): Renamed from this...
42618 (grub_vbe_bios_get_display_start): ... to this.
42619 (grub_vbe_set_palette_data): Renamed from this...
42620 (grub_vbe_bios_set_palette_data): ... to this.
42621 (grub_vbe_bios_get_controller_info): Fixed problem with registers
42622 getting corrupted after calling it. Added more pushes and pops.
42623 (grub_vbe_bios_set_mode): Likewise.
42624 (grub_vbe_bios_get_mode): Likewise.
42625 (grub_vbe_bios_get_memory_window): Likewise.
42626 (grub_vbe_bios_set_scanline_length): Likewise.
42627 (grub_vbe_bios_get_scanline_length): Likewise.
42628 (grub_vbe_bios_get_display_start): Likewise.
42629 (grub_vbe_bios_set_palette_data): Likewise.
42630
42631 * normal/cmdline.c (cl_set_pos): Refresh the screen.
42632 (cl_insert): Likewise.
42633 (cl_delete): Likewise.
42634
42635 * term/gfxterm.c: New file.
42636
42637 * term/i386/pc/vesafb.c: Removed file.
42638
42639 * video/video.c: New file.
42640
42641 * video/i386/pc/vbe.c (real2pm): Added new function.
42642 (grub_video_vbe_draw_pixel): Likewise.
42643 (grub_video_vbe_get_video_ptr): Likewise.
42644 (grub_video_vbe_get_pixel): Likewise
42645 (grub_video_vbe_init): Likewise.
42646 (grub_video_vbe_fini): Likewise.
42647 (grub_video_vbe_setup): Likewise.
42648 (grub_video_vbe_get_info): Likewise.
42649 (grub_video_vbe_set_palette): Likewise.
42650 (grub_video_vbe_get_palette): Likewise.
42651 (grub_video_vbe_set_viewport): Likewise.
42652 (grub_video_vbe_get_viewport): Likewise.
42653 (grub_video_vbe_map_color): Likewise.
42654 (grub_video_vbe_map_rgb): Likewise.
42655 (grub_video_vbe_map_rgba): Likewise.
42656 (grub_video_vbe_unmap_color): Likewise.
42657 (grub_video_vbe_fill_rect): Likewise.
42658 (grub_video_vbe_blit_glyph): Likewise.
42659 (grub_video_vbe_blit_bitmap): Likewise.
42660 (grub_video_vbe_blit_render_target): Likewise.
42661 (grub_video_vbe_scroll): Likewise.
42662 (grub_video_vbe_swap_buffers): Likewise.
42663 (grub_video_vbe_create_render_target): Likewise.
42664 (grub_video_vbe_delete_render_target): Likewise.
42665 (grub_video_vbe_set_active_render_target): Likewise.
42666 (grub_vbe_set_pixel_rgb): Remove function.
42667 (grub_vbe_set_pixel_index): Likewise.
42668 (index_color_mode): Remove static variable.
42669 (active_mode): Likewise.
42670 (framebuffer): Likewise.
42671 (bytes_per_scan_line): Likewise.
42672 (grub_video_vbe_adapter): Added new static variable.
42673 (framebuffer): Likewise.
42674 (render_target): Likewise.
42675 (initial_mode): Likewise.
42676 (mode_in_use): Likewise.
42677 (mode_list): Likewise.
42678
5f97350b 426792006-03-10 Marco Gerards <marco@gnu.org>
42680
42681 * configure.ac (AC_INIT): Bumped to 1.93.
42682
42683 * DISTLIST: Added `include/grub/hfs.h'.
42684
a3c5c6f8 426852006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
42686
42687 * boot/i386/pc/boot.S (general_error): Before looping, try INT
42688 18H, which might help the BIOS falling back to next boot media.
42689
6de53d26 426902006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
42691
42692 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
42693 Poe Chen <poe.poechen@gmail.com>.
42694
77c4a393 426952006-01-17 Marco Gerards <marco@gnu.org>
42696
42697 * include/grub/normal.h: Include <grub/script.h>.
42698 (grub_command_list): Removed struct.
42699 (grub_command_list_t): Removed type.
42700 (grub_menu_entry): Remove members `num' and `command_list'. Add
42701 members `commands' and `sourcecode'.
42702 * include/grub/script.h: Add inclusion guards.
42703 (grub_script_cmd_menuentry): New struct.
42704 (grub_script_execute_menuentry): New prototype.
42705 (grub_script_lexer_record_start): Likewise.
42706 (grub_script_lexer_record_stop): Likewise.
42707 * normal/execute.c (grub_script_execute_menuentry): New function.
42708 * normal/lexer.c (record, recording, recordpos, recordlen): New
42709 variables.
42710 (grub_script_lexer_record_start): New function.
42711 (grub_script_lexer_record_stop): Likewise.
42712 (recordchar): Likewise.
42713 (nextchar): Likewise.
42714 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
42715 2048 as the buffer size. Add the tokens `menuentry' and `@'.
42716 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
42717 (current_menu): New variable.
42718 (free_menu): Mainly rewritten.
42719 (grub_normal_menu_addentry): New function.
42720 (read_config_file): Rewritten.
42721 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 42722 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 42723 the menu entry.
42724 (run): Mainly rewritten.
42725 * normal/parser.y (menu_entry): New variable.
42726 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
42727 (menuentry): New rule.
42728 (command): Add `menuentry'.
42729 (if_statement): Allow additional returns before `fi'.
42730 * normal/script.c (grub_script_create_cmdmenu): New function.
42731
144f1f98 427322006-01-03 Marco Gerards <marco@gnu.org>
42733
42734 * INSTALL: GNU Bison is required.
42735 * configure.ac: Rewritten the test to detect Bison.
42736 * Makefile.in (YACC): New variable. Reported by Xun Sun
42737 <xun.sun.cn@gmail.com>.
42738
af4b2d89 427392006-01-03 Marco Gerards <marco@gnu.org>
42740
42741 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
42742 the HFS+ filesystem to filesystem blocks.
42743 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
42744 GCC warning is silenced.
42745
15643b71 427462006-01-03 Marco Gerards <marco@gnu.org>
42747
42748 * partmap/apple.c (apple_partition_map_iterate): Convert the data
42749 read from disk from big endian to host byte order.
42750
00905879 427512006-01-03 Hollis Blanchard <hollis@penguinppc.org>
42752
42753 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
42754 documentation.
42755 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
42756 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
42757 embedded HFS+ filesystem.
42758 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
42759 (grub_hfs_sblock): Move from here...
42760 * include/grub/hfs.h: To here... New file.
42761 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
42762 documentation.
42763 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
42764 New macros.
42765 (grub_hfsplus_volheader): Change type of member `magic' to
42766 `grub_uint16_t'.
42767 (grub_hfsplus_data): Add new member `embedded_offset'.
42768 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
42769 returned block.
42770 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
42771 Calculate the offset.
42772
8899bc3e 427732005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
42774
42775 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
42776 Removed.
42777 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
42778
ae8c0277 427792005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
42780
42781 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
42782 ENV->NAME is NULL after allocating ENV->VALUE.
42783
07084456 427842005-12-25 Marco Gerards <marco@gnu.org>
42785
42786 * kern/env.c (grub_env_set): Rewritten the error handling code.
42787
4750f5f1 427882005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
42789
42790 * geninit.sh: Made more robust, and more portable.
42791
50214199 427922005-12-25 Marco Gerards <marco@gnu.org>
42793
42794 Add support for Apple HFS+ filesystems.
f19dbdb7 42795
50214199 42796 * fs/hfsplus.c: New file.
42797
42798 * DISTLIST: Added `fs/hfsplus.c'.
42799
42800 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
42801 (hfsplus_mod_SOURCES): New variable.
42802 (hfsplus_mod_CFLAGS): Likewise.
42803 (hfsplus_mod_LDFLAGS): Likewise.
42804 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
42805 (grub_setup_SOURCES): Likewise.
42806 (grub_mkdevicemap_SOURCES): Likewise.
42807 (grub_emu_SOURCES): Likewise.
42808 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42809
42810 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
42811
42812 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
42813
befaed6c 428142005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
42815
42816 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
42817 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
42818 include/grub/parser.h, include/grub/script.h, kern/parser.c,
42819 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
42820 normal/lexer.c, normal/parser.y, normal/script.c, and
42821 partmap/gpt.c.
42822 Removed kern/sparc64/cache.c.
42823
42824 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
42825 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
42826 grub_emu_init.c.
42827
42828 * configure.ac (AC_INIT): Bumped to 1.92.
42829
6a124103 428302005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
42831
42832 * kern/err.c (grub_error_push): Added new function to support error
42833 stacks.
42834 (grub_error_pop): Likewise.
42835 (grub_error_stack_items): New local variable to support error stacks.
42836 (grub_error_stack_pos): Likewise.
42837 (grub_error_stack_assert): Likewise.
42838 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
42839 stack depth.
42840 (grub_print_error): Added support to print errors from error stack.
42841
42842 * include/grub/err.h (grub_error_push): Added function prototype.
42843 (grub_error_pop): Likewise.
42844
be973c1b 428452005-12-09 Hollis Blanchard <hollis@penguinppc.org>
42846
42847 * configure.ac: Accept `powerpc64' as host_cpu.
42848 (amd64): Rename to `biarch32'.
42849
42850 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
42851 non-cacheline-aligned addresses.
42852
42853 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
42854 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
42855 if `size' is non-zero.
42856
b04216ab 428572005-12-03 Marco Gerards <mgerards@xs4all.nl>
42858
42859 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
42860 and `cd' to make sure the filename is not prefixed with a
42861 directory name.
42862 (pkgdata_MODULES): Add `gpt.mod'.
42863 (gpt_mod_SOURCES): New variable.
42864 (gpt_mod_CFLAGS): Likewise.
42865 (gpt_mod_LDFLAGS): Likewise.
42866
42867 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
42868
42869 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
42870 New macro.
42871
42872 * partmap/gpt.c: New file.
42873
42874 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
42875 GPT partition map is detected.
42876
41730ed9 428772005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
42878
42879 * commands/i386/pc/play.c: New file.
42880 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
42881 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
42882 macros.
f19dbdb7 42883
95dc3643 428842005-11-27 Marco Gerards <mgerards@xs4all.nl>
42885
42886 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
42887 ((unused))' to silence gcc warning.
42888
1569ec51 428892005-11-26 Hollis Blanchard <hollis@penguinppc.org>
42890
42891 * configure.ac: Correct `AC_PROG_YACC' test.
42892
9abde152 428932005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42894
42895 * util/powerpc/ieee1275/grub-install.in: Run the mount point
42896 check before installing files.
42897
44b83271 428982005-11-22 Mike Small <smallm@panix.com>
42899
42900 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
42901 number regex so multidigit numbers are recognized correctly.
42902
429032005-11-22 Mike Small <smallm@panix.com>
42904
42905 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
42906 debugging message before attempting to claim memory.
42907 (grub_rescue_cmd_initrd): Add a claim debugging message and try
42908 multiple addresses in case of failure.
42909
9c12956b 429102005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42911
42912 * term/tparm.c (get_space): Remove empty `if' statement.
42913
42914 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
42915
42916 * kern/parser.c (check_varstate): Rename `state' to 's'.
42917
aeaf81d9 429182005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42919
42920 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
42921 variable definitions to the beginning of each function. Sort stack
42922 variables by size.
42923 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
42924 `buf' argument to `char *'.
42925
79bbb63f 429262005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42927
42928 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
42929 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 42930 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 42931 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
42932 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
42933 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
42934 configfile.mod, search.mod, gzio.mod and test.mod.
42935 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
42936 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
42937 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
42938 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
42939 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
42940 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
42941 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
42942 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
42943 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
42944 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
42945 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
42946 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
42947 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
42948 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
42949 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
42950 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
42951 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
42952 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
42953 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
42954 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
42955 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
42956 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
42957 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
42958
42959 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
42960 `grep --include'.
42961 (pkgdata_MODULES): Add test.mod.
42962
233b1628 429632005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
42964
42965 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
42966 appending to variables with "+=".
42967 (PModule): Use full pathname to generate *.lst filenames.
42968
42969 * Makefile.in: Fixed list rules moved from genmk.rb.
42970 (.DELETE_ON_ERROR): New special target.
42971 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
42972
42973 * conf/i386-pc.rmk: Include conf/common.mk.
42974 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 42975 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 42976 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
42977 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
42978 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
42979 configfile.mod, search.mod, gzio.mod and test.mod.
42980 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
42981 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
42982 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
42983 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
42984 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
42985 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
42986 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
42987 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
42988 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
42989 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
42990 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
42991 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
42992 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
42993 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
42994 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
42995 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
42996 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
42997 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
42998 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
42999 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
43000 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
43001 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
43002 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
43003 here...
43004 * conf/common.rmk: ... to here. New file.
43005
43006 * conf/common.mk: New file.
43007
16f820c8 430082005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
43009
43010 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
43011 (grub_script.tab.c): ... here.
43012
43013 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
43014 (grub_script.tab.c): ... here.
43015
43016 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
43017 (grub_script.tab.c): ... here.
43018
43019 * normal/command.c (grub_command_find): Fixed a memory leak of
43020 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
43021
63ba1554 430222005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
43023
43024 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
43025 "@" which marks the start of a comment on ARM.
43026 (VARIABLE): Likewise.
43027
7f67dc13 430282005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
43029
79bbb63f 43030 Add support for Linux/ADFS partition tables.
7f67dc13 43031
43032 * partmap/acorn.c: New file.
43033
43034 * include/grub/acorn_filecore.h: Likewise.
43035
43036 * DISTLIST: Added `partmap/acorn.c' and
43037 `include/grub/acorn_filecore.h'.
f19dbdb7 43038
7f67dc13 43039 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
43040 `partmap/acorn.c'.
43041 (pkgdata_MODULES): Add `acorn.mod'.
43042 (acorn_mod_SOURCES): New variable.
43043 (acorn_mod_CFLAGS): Likewise.
43044
43045 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
43046 `partmap/acorn.c'.
43047 (pkgdata_MODULES): Add `acorn.mod'.
43048 (acorn_mod_SOURCES): New variable.
43049 (acorn_mod_CFLAGS): Likewise.
43050
43051 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
43052 (pkgdata_MODULES): Add `acorn.mod'.
43053 (acorn_mod_SOURCES): New variable.
43054 (acorn_mod_CFLAGS): Likewise.
43055 (acorn_mod_LDFLAGS): Likewise.
43056
43057 * include/types.h (grub_disk_addr_t): New typedef.
43058
6d099807 430592005-11-13 Marco Gerards <mgerards@xs4all.nl>
43060
43061 * geninit.sh: New file.
43062
43063 * geninitheader.sh: Likewise.
43064
43065 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
43066 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
43067 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
43068 * commands/configfile.c (grub_configfile_init)
43069 (grub_configfile_fini): Likewise.
43070 * commands/default.c (grub_default_init, grub_default_fini):
43071 Likewise.
43072 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
43073 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
43074 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
43075 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
43076 Likewise.
43077 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
43078 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
43079 Likewise.
43080 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 43081 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 43082 Likewise.
43083 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
43084 Likewise.
fe6b695a 43085 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 43086 Likewise.
43087 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
43088 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
43089 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
43090 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
43091 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
43092 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
43093 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
43094 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
43095 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
43096 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
43097 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
43098 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
43099 * partmap/amiga.c (grub_amiga_partition_map_init)
43100 (grub_amiga_partition_map_fini): Likewise.
43101 * partmap/apple.c (grub_apple_partition_map_init)
43102 (grub_apple_partition_map_fini): Likewise.
43103 * partmap/pc.c (grub_pc_partition_map_init)
43104 (grub_pc_partition_map_fini): Likewise.
43105 * partmap/sun.c (grub_sun_partition_map_init,
43106 grub_sun_partition_map_fini): Likewise.
43107 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
43108 Likewise.
43109
43110 * util/grub-emu.c: Include <grub_modules_init.h>.
43111 (main): Don't initialize and de-initialize any modules directly,
43112 use `grub_init_all' and `grub_fini_all' instead.
43113
43114 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
43115 `grub_vesafb_mod_init'.
43116 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
43117 all users.
43118 * term/i386/pc/vga.c (grub_vga_init): Renamed to
43119 `grub_vga_mod_init'. Updated all users.
43120 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 43121
6d099807 43122 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
43123 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
43124 rules.
43125
43126 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
43127 Generate a function to initialize the module in utilities.
43128 Updated all callers.
43129 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
43130 initialize the module in utilities. Updated all callers.
43131
9046bcf0 431322005-11-09 Hollis Blanchard <hollis@penguinppc.org>
43133
43134 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
43135 escape sequence and a literal ^L to clear the screen.
43136
43137 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
43138 when returning from Open Firmware.
43139
d13ea639 431402005-11-09 Hollis Blanchard <hollis@penguinppc.org>
43141
43142 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
43143 (grub_ofconsole_height): Likewise.
43144 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
43145 manually insert a '\n'.
43146 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
43147 `grub_ofconsole_height'. Return early if these are already set.
43148
a8fcf206 431492005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
43150
43151 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
43152 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
43153 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
43154 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
43155 and `normal/script.c'.
43156 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
43157 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
43158 (test_mod_SOURCES): New variable.
43159 (test_mod_CFLAGS): Likewise.
43160 (test_mod_LDFLAGS): Likewise.
43161 (pkgdata_MODULES): Add `test.mod'.
43162 (grub_script.tab.c): New rule.
43163 (grub_script.tab.h): Likewise.
43164
b6b32745 431652005-11-07 Marco Gerards <mgerards@xs4all.nl>
43166
43167 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
43168 `commands/test.c', `normal/execute.c', `normal/lexer.c',
43169 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
43170 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
43171 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
43172 (test_mod_SOURCES): New variable.
43173 (test_mod_CFLAGS): Likewise.
43174 (pkgdata_MODULES): Add `test.mod'.
43175 (grub_script.tab.c): New rule.
43176 (grub_script.tab.h): Likewise.
43177
daac212a 431782005-11-06 Marco Gerards <mgerards@xs4all.nl>
43179
43180 Add initial scripting support.
43181
43182 * commands/test.c: New file.
43183 * include/grub/script.h: Likewise.
43184 * normal/execute.c: Likewise.
43185 * normal/function.c: Likewise.
43186 * normal/lexer.c: Likewise.
43187 * normal/parser.y: Likewise.
43188 * normal/script.c: Likewise.
43189
43190 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 43191
daac212a 43192 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
43193 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
43194 `normal/function.c' and `normal/script.c'.
43195 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
43196 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 43197 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
43198 variables.
daac212a 43199 (pkgdata_MODULES): Add `test.mod'.
43200 (grub_script.tab.c): New rule.
43201 (grub_script.tab.h): Likewise.
43202
43203 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
43204
43205 * include/grub/normal.h (grub_test_init): New prototype.
43206 (grub_test_fini): Likewise.
f19dbdb7 43207
daac212a 43208 * normal/command.c: Include <grub/script.h>.
43209 (grub_command_execute): Rewritten.
f19dbdb7 43210
daac212a 43211 * util/grub-emu.c (main): Call `grub_test_init' and
43212 `grub_test_fini'.
43213
77500b2b 432142005-11-03 Hollis Blanchard <hollis@penguinppc.org>
43215
43216 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
43217 to 0.
43218 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
43219 there are no pending characters.
43220
e45deb9e 432212005-11-03 Hollis Blanchard <hollis@penguinppc.org>
43222
43223 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
43224 `grub_strndup' to drop device arguments. Replace unnecessary
43225 `grub_strndup' with `grub_strdup'.
43226
4ce32619 432272005-11-03 Hollis Blanchard <hollis@penguinppc.org>
43228
43229 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
43230 `debug' environment variable has been set.
43231
432322005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 43233
4ce32619 43234 * Makefile.in (install-local): Use $(DATA).
43235 (uninstall): Likewise.
43236 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
43237 (sbin_UTILITIES): ... to here.
43238 (sbin_SCRIPTS): New variable.
43239 (grub_install_SOURCES): New variable.
43240 * util/powerpc/ieee1275/grub-install.in: New file.
43241 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
43242 variable.
43243 (add_segments): Call `grub_util_get_path'.
43244
25fe6f03 432452005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
43246
43247 From Timothy Baldwin:
43248 * commands/ls.c (grub_ls_list_files): Close FILE with
43249 grub_file_close.
43250 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
43251
04ccf3ec 432522005-10-24 Marco Gerards <mgerards@xs4all.nl>
43253
43254 * include/grub/parser.h: New file.
43255
43256 * kern/parser.c: Likewise.
43257
43258 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
43259 (grub_setup_SOURCES): Likewise.
43260 (grub_probefs_SOURCES): Likewise.
43261 (grub_emu_SOURCES): Likewise.
43262 (kernel_img_HEADERS): Add `parser.h'.
43263
43264 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
43265 (grub_emu_SOURCES): Add `kern/parser.c'.
43266 (grubof_SOURCES): Likewise.
43267
43268 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
43269 (grubof_SOURCES): Add `kern/parser.c'.
43270
43271 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
43272
43273 * kern/misc.c (grub_split_cmdline): Removed function.
43274
43275 * kern/rescue.c: Include <grub/parser.h>.
43276 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
43277 of `grub_split_cmdline'.
43278
43279 * normal/command.c: Include <grub/parser.h>.
43280 (grub_command_execute): Use `grub_parser_split_cmdline' instead
43281 of `grub_split_cmdline'.
43282
43283 * normal/completion.c: Include <grub/parser.h>.
43284 (cmdline_state): New variable.
43285 (iterate_dir): End the filename with a quote depending on the
43286 command line state.
43287 (get_state): new function.
43288 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
43289 split the arguments and determine the current argument. When the
43290 argument string is not quoted, escape all spaces.
43291
6d8f4b0e 432922005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
43293
43294 * normal/sparc64/setjmp.S: New file.
43295
15cf03ed 432962005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
43297
43298 * include/grub/sparc64/libgcc.h: New file.
43299 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
43300 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
43301 normal/sparc64/setjmp.c.
43302
03e8661a 433032005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
43304
43305 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
43306 * kern/sparc64/cache.S: New file.
43307 * kern/sparc64/cache.c: Removed.
43308 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
43309 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
43310 -mtune=ultrasparc.
43311 (COMMON_LDFLAGS): Add -melf64_sparc.
43312 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
43313 (grubof_SOURCES): Use cache.S instead of cache.c.
43314 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
43315 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
43316 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
43317 commented though.
43318 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
43319 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
43320 (linux_mod_CFLAGS): Commented out.
43321 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
43322 out because module isn't built.
43323 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
43324 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
43325 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
43326 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
43327 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
43328 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
43329 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
43330 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
43331 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
43332 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
43333 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
43334 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
43335 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
43336 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
43337
34eeec8a 433382005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
43339
43340 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
43341 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
43342 longer, because HFS should not be used on PC.
43343
708367a3 433442005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
43345
43346 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
43347 consistently within the loop.
43348
6fa1251a 433492005-10-15 Marco Gerards <mgerards@xs4all.nl>
43350
43351 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
43352 directory can not be read.
43353
4801580b 433542005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
43355
43356 * configure.ac (AC_INIT): Increase the version number to 1.91.
43357
43358 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
43359 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
43360 term/i386/pc/serial.c.
43361
219ad426 433622005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
43363
43364 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
43365 file size must be permitted.
43366
43367 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
43368 between %ah and %al.
43369
688e5699 433702005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
43371
43372 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
43373 grub_uint64_t.
43374 Call the hook with a NUL-terminated filename.
43375 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
43376 grub_cpu_to_be32.
43377
43378 * kern/term.c (cursor_state): New variable.
43379 (grub_term_set_current): Reset the cursor state on a new
43380 terminal.
43381 (grub_setcursor): Rewritten to use CURSOR_STATE.
43382 (grub_getcursor): New function.
43383
43384 * include/grub/term.h (grub_getcursor): New prototype.
43385
43386 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
43387 integers on ARM. Reported by Timothy Baldwin
43388 <T.E.Baldwin99@members.leeds.ac.uk>.
43389
bb34586c 433902005-10-11 Marco Gerards <mgerards@xs4all.nl>
43391
43392 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
43393 allocated.
43394 (grub_sfs_dir): Likewise.
43395
9a909877 433962005-10-09 Marco Gerards <mgerards@xs4all.nl>
43397
43398 Add support for the SFS filesystem.
43399
43400 * fs/sfs.c: New file.
43401
43402 * DISTLIST: Added `fs/sfs.c'.
43403
43404 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
43405 (grub_probefs_SOURCES): Likewise.
43406 (grub_emu_SOURCES): Likewise.
43407 (pkgdata_MODULES): Add `sfs.mod'.
43408 (sfs_mod_SOURCES): New variable.
43409 (sfs_mod_CFLAGS): Likewise.
43410 (sfs_mod_LDFLAGS): Likewise.
43411
43412 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
43413 (pkgdata_MODULES): Add `sfs.mod'.
43414 (sfs_mod_SOURCES): New variable.
43415 (sfs_mod_CFLAGS): Likewise.
43416
43417 * util/grub-emu.c (main): Call `grub_sfs_init' and
43418 `grub_sfs_fini'.
43419
43420 * include/grub/fs.h (grub_sfs_init): New prototype.
43421 (grub_sfs_fini): Likewise.
43422
57bdbde3 434232005-10-07 Marco Gerards <mgerards@xs4all.nl>
43424
43425 Add support for the AFFS filesystem.
43426
43427 * fs/affs.c: New file.
43428
43429 * DISTLIST: Added `fs/affs.c'.
43430
43431 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
43432 (grub_probefs_SOURCES): Likewise.
43433 (grub_emu_SOURCES): Likewise.
43434 (pkgdata_MODULES): Add `affs.mod'.
43435 (affs_mod_SOURCES): New variable.
43436 (affs_mod_CFLAGS): Likewise.
43437 (affs_mod_LDFLAGS): Likewise.
43438
43439 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
43440 (pkgdata_MODULES): Add `affs.mod'.
43441 (affs_mod_SOURCES): New variable.
43442 (affs_mod_CFLAGS): Likewise.
43443
43444 * util/grub-emu.c (main): Call `grub_affs_init' and
43445 `grub_affs_fini'.
43446
43447 * include/grub/fs.h (grub_affs_init): New prototype.
43448 (grub_affs_fini): Likewise.
43449
047b67e0 434502005-10-01 Marco Gerards <mgerards@xs4all.nl>
43451
43452 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
43453
59b8208a 434542005-10-01 Marco Gerards <mgerards@xs4all.nl>
43455
43456 * configure.ac: Accept `x86_64' as host_cpu. In that case add
43457 `-m32' to CFLAGS.
43458
43459 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
43460 linking.
f19dbdb7 43461
59b8208a 43462 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
43463 (COMMON_LDFLAGS): New variable.
43464 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
43465 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
43466 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
43467 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
43468 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
43469 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
43470 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
43471 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
43472 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
43473 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
43474 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
43475 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
43476 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
43477 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
43478 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
43479 variables.
43480 (normal_mod_ASFLAGS): Add `-m32'.
43481
43482 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
43483 (grub_host_size_t, grub_host_ssize_t): New types.
43484 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 43485 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 43486 `GRUB_HOST_SIZEOF_VOID_P'.
43487
43488 * include/grub/kernel.h (struct grub_module_header): Type of
43489 member offset changed to `grub_host_off_t'. Type of member size
43490 changed to `grub_host_size_t'.
43491 (struct grub_module_info): Type of member offset changed to
43492 `grub_host_off_t'. Type of member size changed to
43493 `grub_host_size_t'.
43494
b4093103 434952005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
43496
43497 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 43498
b4093103 43499 * kern/i386/pc/startup.S (multiboot_header): New label.
43500 (multiboot_entry): Likewise.
43501 (multiboot_trampoline): Likewise.
43502
43503 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
43504 Increased to 0x4A0.
43505
43506 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
43507 put parentheses after a question mark.
43508 [!GRUB_UTIL] (my_mod): New variable.
43509
43510 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
43511
b2499b29 435122005-09-28 Marco Gerards <mgerards@xs4all.nl>
43513
43514 Adds support for the XFS filesystem. Btrees are not supported
43515 yet.
43516
43517 * fs/xfs.c: New file.
43518
43519 * DISTLIST: Added `fs/xfs.c'.
43520
43521 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
43522 (grub_probefs_SOURCES): Likewise.
43523 (grub_emu_SOURCES): Likewise.
43524 (pkgdata_MODULES): Add `xfs.mod'.
43525 (xfs_mod_SOURCES): New variable.
43526 (xfs_mod_CFLAGS): Likewise.
43527
43528 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
43529 (pkgdata_MODULES): Add `xfs.mod'.
43530 (xfs_mod_SOURCES): New variable.
43531 (xfs_mod_CFLAGS): Likewise.
43532
43533 * util/grub-emu.c (main): Call `grub_xfs_init' and
43534 `grub_xfs_fini'.
43535
43536 * include/grub/fs.h (grub_xfs_init): New prototype.
43537 (grub_xfs_fini): Likewise.
43538
f19dbdb7 43539
83d37a62 435402005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
43541
43542 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
43543 color modes, allow greater than 16 colors to be configured as
43544 a default palette.
43545
47d2d65e 435462005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
43547
43548 * normal/completion.c (complete_arguments): Add the qualifier
43549 const into OPTIONS.
43550
43551 From Omniflux <omniflux+lists@omniflux.com>:
43552 * include/grub/terminfo.h: New file.
43553 * include/grub/tparm.h: Likewise.
43554 * include/grub/i386/pc/serial.h: Likewise.
43555 * term/terminfo.c: Likewise.
43556 * term/tparm.c: Likewise.
43557 * term/i386/pc/serial.c: Likewise.
43558 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
43559 serial.mod.
43560 (terminfo_mod_SOURCES): New variable.
43561 (terminfo_mod_CFLAGS): Likewise.
43562 (serial_mod_SOURCES): Likewise.
43563 (serial_mod_CFLAGS): Likewise.
43564
48b671ff 435652005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
43566
43567 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
43568 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
43569 and kern/powerpc/ieee1275/cmain.c, respectively.
43570
43571 * boot/powerpc/ieee1275/crt0.S: Moved to ...
43572 * kern/powerpc/ieee1275/crt0.S: ... here.
43573
43574 * boot/powerpc/ieee1275/cmain.c: Moved to ...
43575 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 43576
48b671ff 43577 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
43578 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
43579 instead of boot/powerpc/ieee1275/crt0.S and
43580 boot/powerpc/ieee1275/cmain.c, respectively.
43581
43582 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
43583 sectors. It was not used anyway.
43584
09fc77a7 435852005-08-30 Hollis Blanchard <hollis@penguinppc.org>
43586
43587 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
43588 `unused parameter' warning.
43589
003789c7 435902005-08-30 Hollis Blanchard <hollis@penguinppc.org>
43591
43592 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
43593 function.
43594 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
43595 getcharwidth.
43596
67f44c86 435972005-08-28 Marco Gerards <metgerards@student.han.nl>
43598
43599 * include/grub/normal.h (enum grub_completion_type): Added
43600 `GRUB_COMPLETION_TYPE_ARGUMENT'.
43601
43602 * normal/cmdline.c (print_completion): Handle
43603 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
43604 * normal/menu_entry.c (store_completion): Likewise.
43605
43606 * normal/completion.c (complete_arguments): New function.
43607 (grub_normal_do_completion): Call `complete_arguments' when the
43608 current words start with a dash.
43609
0b5abe02 436102005-08-27 Marco Gerards <metgerards@student.han.nl>
43611
43612 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
43613 `gzio.mod' instead of `io.mod').
43614
d9864ee1 436152005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
43616
43617 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
43618 (DISTDIRS): Added io and video.
43619 Rewrite the search routine to make an output consistently.
43620
43621 * DISTLIST: Added conf/sparc64-ieee1275.mk,
43622 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
43623 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
43624 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
43625 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
43626 util/powerpc/ieee1275/misc.c.
f19dbdb7 43627
d9864ee1 43628 * include/grub/gzio.h: New file.
43629 * io/gzio.c: Likewise.
f19dbdb7 43630
d9864ee1 43631 * kern/file.c (grub_file_close): Call grub_device_close only if
43632 FILE->DEVICE is not NULL.
43633
43634 * include/grub/mm.h [!NULL] (NULL): New macro.
43635
43636 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
43637
43638 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
43639 (pkgdata_MODULES): Added gzio.mod.
43640 (gzio_mod_SOURCES): New variable.
43641 (gzio_mod_CFLAGS): Likewise.
43642
43643 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
43644 (pkgdata_MODULES): Added gzio.mod.
43645 (gzio_mod_SOURCES): New variable.
43646 (gzio_mod_CFLAGS): Likewise.
43647
43648 * commands/cat.c: Include grub/gzio.h.
43649 (grub_cmd_cat): Use grub_gzfile_open instead of
43650 grub_file_open.
f19dbdb7 43651
d9864ee1 43652 * commands/cmp.c: Include grub/gzio.h.
43653 (grub_cmd_cmp): Use grub_gzfile_open instead of
43654 grub_file_open.
43655
43656 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
43657 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
43658 grub_file_open.
43659 (grub_rescue_cmd_module): Likewise.
43660
fa46f4b5 436612005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
43662
43663 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
43664 kern/sparc64/ieee1275/init.c because it contains _start.
43665 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
43666
e9211b5d 436672005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
43668
43669 * configure.ac: Add support for sparc64 host with ieee1275
43670 firmware.
43671 * configure: Generated from configure.ac.
43672 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
43673 instead of int.
43674 (grub_ofdisk_read): Likewise.
43675 (grub_ofdisk_open): Use %p to print pointer values, and cast the
43676 pointers as (void *) to remove a warning.
43677 (grub_ofdisk_close): Likewise.
43678 (grub_ofdisk_read): Likewise.
43679 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
43680 returns, so make it return void to remove a warning.
43681 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
43682 Corresponding prototype change.
43683 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
43684 values, and cast the pointers as (void *) to remove a warning.
43685 (grub_mm_dump): Likewise.
43686 * conf/sparc64-ieee1275.mk: New file.
43687 * conf/sparc64-ieee1275.rmk: Likewise.
43688 * include/grub/sparc64/setjmp.h: Likewise.
43689 * include/grub/sparc64/types.h: Likewise.
43690 * include/grub/sparc64/ieee1275/console.h: Likewise.
43691 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
43692 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
43693 * include/grub/sparc64/ieee1275/time.h: Likewise.
43694 * kern/sparc64/cache.c: Likewise.
43695 * kern/sparc64/dl.c: Likewise.
43696 * kern/sparc64/ieee1275/init.c: Likewise.
43697 * kern/sparc64/ieee1275/openfw.c: Likewise.
43698
385c6a92 436992005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
43700
43701 * util/console.c (grub_ncurses_putchar): If C is greater than
43702 0x7f, set C to a question mark.
43703 (grub_ncurses_getcharwidth): New function.
43704 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
43705 getcharwidth.
43706
43707 * normal/menu.c (print_entry): Made aware of Unicode. First,
43708 convert TITLE to UCS-4, and predict the cursor position by
43709 grub_getcharwidth.
43710
43711 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
43712 const to SRC.
43713 * kern/misc.c (grub_utf16_to_utf8): Likewise.
43714
16ccb8b1 437152005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
43716
43717 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
43718 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
43719 grub_strcat.
43720
43721 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
43722 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
43723 grub_strcpy and grub_strlen. Take it into account that a space
43724 character is inserted as a delimiter.
43725
6a85ce79 437262005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
43727
43728 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 43729 invalid magic in the error.
6a85ce79 43730
43731 * commands/search.c: New file.
f19dbdb7 43732
6a85ce79 43733 * util/grub-emu.c (main): Call grub_search_init and
43734 grub_search_fini.
43735
43736 * kern/rescue.c (grub_rescue_print_disks): Removed.
43737 (grub_rescue_print_devices): New function.
43738 (grub_rescue_cmd_ls): Use grub_device_iterate with
43739 grub_rescue_print_devices instead of grub_disk_dev_iterate with
43740 grub_rescue_print_disks.
43741
43742 * kern/partition.c (grub_partition_iterate): Return the result of
43743 PARTMAP->ITERATE instead of GRUB_ERRNO.
43744
43745 * kern/device.c: Include grub/partition.h.
43746 (grub_device_iterate): New function.
43747
43748 * include/grub/partition.h (grub_partition_iterate): Return int
43749 instead of grub_err_t.
43750
43751 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
43752 prototype.
43753 [GRUB_UTIL] (grub_search_fini): Likewise.
43754
43755 * include/grub/device.h (grub_device_iterate): New prototype.
43756
43757 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
43758 commands/search.c.
43759 (pkgdata_MODULES): Added search.mod.
43760 (search_mod_SOURCES): New variable.
43761 (search_mod_CFLAGS): Likewise.
43762
43763 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
43764 (pkgdata_MODULES): Added search.mod.
43765 (search_mod_SOURCES): New variable.
43766 (search_mod_CFLAGS): Likewise.
43767
43768 * commands/ls.c (grub_ls_list_disks): Renamed to ...
43769 (grub_ls_list_devices): ... this, and use grub_device_iterate.
43770 All callers changed.
43771
43772 * DISTLIST: Added commands/search.c.
43773
ef095434 437742005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
43775
43776 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
43777 conversion.
43778 (grub_getcharwidth): New function.
43779
43780 * kern/misc.c (grub_utf8_to_ucs4): New function.
43781
43782 * include/grub/term.h (struct grub_term): Added a new member
43783 "getcharwidth".
43784 (grub_getcharwidth): New prototype.
43785
43786 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
43787
43788 * term/i386/pc/console.c (map_char): New function. Segregated from
43789 grub_console_putchar.
43790 (grub_console_putchar): Use map_char.
43791 (grub_console_getcharwidth): New function.
43792 (grub_console_term): Specified grub_console_getcharwidth as
43793 getcharwidth.
43794
43795 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
43796 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
43797
43798 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
43799 GRUB_ERRNO.
43800 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
43801 on grub_strtoul completely.
43802 (write_char): Declare local variables in the beginning of the
43803 function.
43804 (grub_vesafb_getcharwidth): New function.
43805 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
43806 getcharwidth.
43807
1f0a95e4 438082005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
43809
43810 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
43811 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
43812 commands/i386/pc/vbetest.c.
43813
43814 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
43815 call grub_vbe_get_controller_info again, because the returned
43816 information is volatile.
43817 (grub_vbe_set_video_mode): Mostly rewritten.
43818 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
43819 grub_vbe_status_t correctly.
43820 (grub_vbe_get_video_mode_info): Likewise.
43821 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
43822 several if statements.
43823
43824 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
43825 * commands/i386/pc/vbeinfo.c: ... this.
43826
43827 * commands/i386/pc/vbe_test.c: Renamed to ...
43828 * commands/i386/pc/vbetest.c: ... this.
43829
43830 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
43831 ...
43832 (grub_cmd_vbeinfo): ... this. Save video modes before
43833 iterating. Skip a video mode, if it is not available, not enough
43834 information is given or it is monochrome. Show the memory
43835 model. Leave the interpretation of MODEVAR to grub_strtoul
43836 completely.
43837 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
43838 (GRUB_MOD_FINI): Likewise.
43839
43840 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
43841 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
43842 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
43843 duplicated grub_env_get. Leave the interpretation of MODEVAR to
43844 grub_strtoul completely.
43845 (real2pm): Removed.
43846 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
43847 (GRUB_MOD_FINI): Likewise.
43848
43849 * normal/misc.c: Include grub/mm.h.
43850
43851 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
43852 vbe_list_modes with vbetest.mod and vbeinfo.mod.
43853 (vbe_list_modes_mod_SOURCES): Removed.
43854 (vbe_list_modes_mod_CFLAGS): Likewise.
43855 (vbe_test_mod_SOURCES): Likewise.
43856 (vbe_test_mod_CFLAGS): Likewise.
43857 (vbeinfo_mod_SOURCES): New variable.
43858 (vbeinfo_mod_CFLAGS): Likewise.
43859 (vbetest_mod_SOURCES): Likewise.
43860 (vbetest_mod_CFLAGS): Likewise.
43861
992ffbbe 438622005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
43863
43864 * normal/misc.c: New file.
43865
43866 * DISTLIST: Added normal/misc.c.
f19dbdb7 43867
992ffbbe 43868 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
43869 DISK to HOOK. Call HOOK with DISK.
43870 * partmap/apple.c (apple_partition_map_iterate): Likewise.
43871 * partmap/pc.c (pc_partition_map_iterate): Likewise.
43872 * partmap/sun.c (sun_partition_map_iterate): Likewise.
43873
43874 * normal/menu_entry.c (struct screen): Added a new member
43875 "completion_shown".
43876 (completion_buffer): New global variable.
43877 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
43878 (store_completion): New function.
43879 (complete): Likewise.
43880 (clear_completions): Likewise.
43881 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
43882 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
43883 a tab, call complete.
43884
43885 * normal/completion.c (disk_dev): Removed.
43886 (print_simple_completion): Likewise.
43887 (print_partition_completion): Likewise.
43888 (print_func): New global variable.
43889 (add_completion): Do not take the arguments WHAT or PRINT any
43890 longer. Added a new argument TYPE. Instead of printing directly,
43891 call PRINT_FUNC if not NULL.
43892 All callers changed.
43893 (complete_device): Use a local variable DEV instead of
43894 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
43895 (grub_normal_do_completion): Take a new argument HOOK. Do not
43896 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
43897 empty string, return NULL instead.
43898 All callers changed.
43899
43900 * normal/cmdline.c (print_completion): New function.
43901
43902 * kern/partition.c (grub_partition_iterate): Add an argument DISK
43903 to HOOK.
43904 All callers changed.
43905
43906 * kern/disk.c (grub_print_partinfo): Removed.
43907
43908 * include/grub/partition.h (struct grub_partition_map): Add a new
43909 argument DISK into HOOK of ITERATE.
43910 (grub_partition_iterate): Add a new argument DISK to HOOK.
43911
43912 * include/grub/normal.h (enum grub_completion_type): New enum.
43913 (grub_completion_type_t): New type.
43914 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
43915 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
43916 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
43917 (GRUB_COMPLETION_TYPE_FILE): Likewise.
43918 (grub_normal_do_completion): Added a new argument HOOK.
43919 (grub_normal_print_device_info): New prototype.
43920
43921 * include/grub/disk.h (grub_print_partinfo): Removed.
43922
43923 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
43924 (normal_mod_SOURCES): Likewise.
43925 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43926 (normal_mod_SOURCES): Likewise.
43927
43928 * commands/ls.c (grub_ls_list_disks): Use
43929 grub_normal_print_device_info instead of grub_print_partinfo. Free
43930 PNAME.
43931 (grub_ls_list_files): Use grub_normal_print_device_info instead of
43932 duplicating the code.
43933
0bd41162 439342005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
43935
43936 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 43937 follow GCS more precisely.
43938 * commands/i386/pc/vbe_test.c: Likewise.
43939 * include/grub/i386/pc/vbe.h: Likewise.
43940 * term/i386/pc/vesafb.c: Likewise.
43941 * video/i386/pc/vbe.c: Likewise.
0bd41162 43942
6323696a 439432005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
43944
43945 * DISTLIST: Added term/i386/pc/vesafb.c
43946 DISTLIST: Added video/i386/pc/vbe.c
43947 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
43948 DISTLIST: Added commands/i386/pc/vbe_test.c.
43949 * commands/i386/pc/vbe_list_modes.c: New file.
43950 * commands/i386/pc/vbe_test.c: Likewise.
43951 * term/i386/pc/vesafb.c: Likewise.
43952 * video/i386/pc/vbe.c: Likewise.
43953 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
43954 (grub_vbe_probe) Added prototype.
43955 (grub_vbe_set_video_mode) Likewise.
43956 (grub_vbe_get_video_mode) Likewise.
43957 (grub_vbe_get_video_mode_info) Likewise.
43958 (grub_vbe_set_pixel_rgb) Likewise.
43959 (grub_vbe_set_pixel_index) Likewise.
43960 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
43961 (pkgdata_MODULES): Added vesafb.mod.
43962 (pkgdata_MODULES): Added vbe_list_modes.mod.
43963 (pkgdata_MODULES): Added vbe_test.mod.
43964 (vbe_mod_SOURCES): Added.
43965 (vbe_mod_CFLAGS): Likewise.
43966 (vesafb_mod_SOURCES): Likewise.
43967 (vesafb_mod_CFLAGS): Likewise.
43968 (vbe_list_modes_mod_SOURCES): Likewise.
43969 (vbe_list_modes_mod_CFLAGS): Likewise.
43970 (vbe_test_mod_SOURCES): Likewise.
43971 (vbe_test_mod_CFLAGS): Likewise.
43972
0a74e62f 439732005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
43974
0a74e62f 43975 * normal/command.c (grub_command_execute): If INTERACTIVE is
43976 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
43977 CMDLINE. Disable the pager if INTERACTIVE is true.
43978 All callers are changed.
43979
43980 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
43981 before reading a config file.
43982 * normal/main.c (read_config_file): Even if a command is not
43983 found, register it if it is within an entry.
43984
43985 * util/grub-emu.c: Include sys/types.h and unistd.h.
43986 (options): Added --hold.
43987 (struct arguments): Added a new member "hold".
43988 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
43989 missing.
43990 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
43991 cleared by a debugger, if it is not zero.
43992
43993 * include/grub/normal.h (grub_command_execute): Add an argument
43994 INTERACTIVE.
43995
e51f85ae 439962005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
43997
43998 * DISTLIST: Added include/grub/i386/pc/vbe.h.
43999
e9c6f39b 440002005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
44001
44002 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
44003 program with another one, because the old one didn't detect a bug
44004 in gcc-3.4. Always use regparm 2, because the new test is still
44005 not enough for gcc-4.0. Someone must investigate a simple test
44006 case which detects a bug in gcc-4.0.
44007
8de3495c 440082005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
44009
44010 * DISTLIST: Added normal/completion.c.
44011
44012 * normal/completion.c: New file.
f19dbdb7 44013
8de3495c 44014 * term/i386/pc/console.c (grub_console_getwh): New function.
44015 (grub_console_term): Assign grub_console_getwh to getwh.
44016
44017 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
44018 function is defined in normal/completion.c as
44019 grub_normal_do_completion.
44020 (grub_cmdline_get): Use grub_normal_do_completion instead of
44021 grub_tab_complete.
44022
44023 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
44024 returns non-zero, otherwise return 0.
44025 (grub_partition_iterate): First, probe the partition map. Then,
44026 call ITERATE only for this partition map.
44027
44028 * kern/misc.c (grub_strncmp): Rewritten.
44029
44030 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
44031 returns non-zero. Otherwise return 0.
44032
44033 * include/grub/partition.h (grub_partition_map_iterate): Return
44034 int instead of void.
44035
44036 * include/grub/normal.h (grub_normal_do_completion): New prototype.
44037
44038 * include/grub/misc.h (grub_strncmp): Change the type of N to
44039 grub_size_t.
44040
44041 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
44042 of void.
44043
44044 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 44045 unsigned explicitly before comparing it with I.
8de3495c 44046
44047 * kern/main.c (grub_env_write_root): Add the attribute unused into
44048 VAR.
44049
44050 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
44051 normal/completion.c.
44052 (normal_mod_SOURCES): Likewise.
44053 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
44054 (normal_mod_SOURCES): Likewise.
44055
44056 * normal/command.c (grub_iterate_commands): If ITERATE returns
44057 non-zero, return one immediately.
44058
e85e144b 440592005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
44060
44061 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
44062 * kern/i386/pc/startup.S: Updated Global Descriptor table's
44063 descriptions.
44064 (grub_vbe_get_controller_info): New function.
44065 (grub_vbe_get_mode_info): Likewise.
44066 (grub_vbe_set_mode): Likewise.
44067 (grub_vbe_get_mode): Likewise.
44068 (grub_vbe_set_memory_window): Likewise.
44069 (grub_vbe_get_memory_window): Likewise.
44070 (grub_vbe_set_scanline_length): Likewise.
44071 (grub_vbe_get_scanline_length): Likewise.
44072 (grub_vbe_set_display_start): Likewise.
44073 (grub_vbe_get_display_start): Likewise.
44074 (grub_vbe_set_palette_data): Likewise.
44075 * include/grub/i386/pc/vbe.h: New file.
44076
c46153d2 440772005-08-08 Hollis Blanchard <hollis@penguinppc.org>
44078
44079 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
44080 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
44081 * DISTLIST: Likewise.
44082 * kern/ieee1275/of.c: Moved to ...
44083 * kern/ieee1275/ieee1275.c: ... here.
44084
0cb90c45 440852005-08-08 Hollis Blanchard <hollis@penguinppc.org>
44086
44087 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
44088 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
44089 Pass 0 as `end' parameter to grub_strtoul().
44090
a19fb360 440912005-08-08 Hollis Blanchard <hollis@penguinppc.org>
44092
44093 * include/grub/powerpc/ieee1275/console.h: Do not include
44094 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
44095 ifdef.
44096 (grub_console_cur_color): Remove i386-specific prototype.
44097 (grub_console_real_putchar): Likewise.
44098 (grub_console_checkkey): Likewise.
44099 (grub_console_getkey): Likewise.
44100 (grub_console_getxy): Likewise.
44101 (grub_console_gotoxy): Likewise.
44102 (grub_console_cls): Likewise.
44103 (grub_console_setcursor): Likewise.
44104 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
44105 Include <grub/machine/console.h>.
44106 * term/ieee1275/ofconsole.c: Likewise.
44107
4ac9bd04 441082005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
44109
44110 * Makefile.in (LIBLZO): New variable.
44111
44112 * configure.ac: Check for LZO version 2.
44113
44114 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
44115 lzo/lzo1x.h instead of lzo1x.h.
44116
44117 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
44118 of -llzo.
44119
44120 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
44121 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
44122
44123 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
44124 copying the data from PARTITION to P.
44125
f4917dfd 441262005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
44127
44128 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
44129 negative, unload the module.
44130
44131 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
44132 map is "pc_partition_map" but not "pc".
44133 (usage): Fix the description. The options are --boot-image and
44134 --core-image but not --boot-file or --core-file.
44135 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
44136 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
44137 DEFAULT_DIRECTORY.
44138
44139 * util/i386/pc/grub-install.in: Do not specify --boot-file or
44140 --core-file. Specify INSTALL_DEVICE as an argument.
44141
44142 * util/console.c: Include config.h.
44143 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
44144 [HAVE_NCURSES_H]: Include ncurses.h.
44145 [HAVE_CURSES_H]: Include curses.h.
44146 [!A_NORMAL] (A_NORMAL): Defined as zero.
44147 [!A_STANDOUT] (A_STANDOUT): Likewise.
44148
44149 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
44150 -lncurses.
44151 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
44152
44153 * configure.ac: Check for curses libraries and headers.
44154
44155 * Makefile.in (LIBCURSES): New variable.
44156
44157 * genmk.rb (Script::rule): Set the executable bits.
44158
44159 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
44160 name of the PC partition map is "pc_partition_map" but not "pc".
44161
0e143073 441622005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
44163
44164 * util/i386/pc/grub-install.in (grub_probefs): New variable.
44165 (modules): Likewise.
44166 (usage): Added descriptions for --modules and --grub-probefs.
44167 Handle --modules and --grub-probefs. Save the arguments in MODULES
44168 and GRUB_PROBEFS, respectively.
44169 Auto-detect a filesystem module against GRUBDIR. If the result is
44170 empty and modules are not specified explicitly, abort the
44171 installation. Add the result to MODULES.
44172
44173 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
44174 disk/powerpc/ieee1275/ofdisk.c,
44175 include/grub/powerpc/ieee1275/init.h and
44176 term/powerpc/ieee1275/ofconsole.c.
44177 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
44178 term/ieee1275/ofconsole.c.
44179
44180 * include/grub/powerpc/ieee1275/console.h: Resurrected.
44181
44182 * COPYING: Upgraded to the latest version. Only the address of the
44183 FSF office has changed.
f19dbdb7 44184
efd6e6d5 441852005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
44186
44187 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
44188 kern/ieee1275.c with kern/ieee1275/of.c.
44189
44190 * kern/ieee1275.c: Moved to ...
44191 * kern/ieee1275/of.c: ... here.
44192
8ceafda2 441932005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
44194
44195 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 44196 readability.
8ceafda2 44197
44198 * config.guess: Updated to the latest version from gnulib.
44199 * config.sub: Likewise.
44200 * install.sh: Likewise.
44201 * mkinstalldirs: Likewise.
44202
44203 * include/grub/console.h: Removed. This file is arch-specific. Do
44204 not put this in include/grub.
44205
44206 * include/grub/i386/pc/console.h: Resurrected.
44207
44208 * util/console.c: Include grub/machine/console.h instead of
44209 grub/console.h.
44210 * util/grub-emu.c: Likewise.
44211
267f6cd9 442122005-08-04 Marco Gerards <metgerards@student.han.nl>
44213
44214 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
44215 hardcoded value.
f19dbdb7 44216
267f6cd9 44217 From Vincent Pelletier <subdino2004@yahoo.fr>
44218 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
44219 Redefined to use grub_getwh.
44220 (grub_term): New member named getwh.
44221 (grub_getwh): New prototype.
44222 * kern/term.c (grub_getwh): New function.
44223 * term/i386/pc/console.c (grub_console_getwh): New function.
44224 (grub_console_term): New member `getwh'.
44225 * term/i386/pc/vga.c (grub_vga_getwh): New function.
44226 (grub_vga_term): New member `getwh'.
0b5abe02 44227 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 44228 grub_ssize_t.
44229 (grub_ofconsole_getw): New function.
44230 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
44231 (grub_ofconsole_term): New field named getwh and new initial
44232 value.
44233
3be7266d 442342005-08-03 Hollis Blanchard <hollis@penguinppc.org>
44235
44236 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
44237 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
44238 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
44239 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
44240 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
44241 of <grub/machine/ieee1275.h>.
44242 * commands/ieee1275/reboot.c: Likewise.
44243 * boot/powerpc/ieee1275/ieee1275.c: Move ...
44244 * kern/ieee1275.c: ... to here. All users updated. Change all
44245 parameter structs to use new type `grub_ieee1275_cell_t'.
44246 * term/powerpc/ieee1275/ofconsole.c: Move ...
44247 * term/ieee1275/ofconsole.c: ... to here. All users updated.
44248 * disk/powerpc/ieee1275/ofdisk.c: Move ...
44249 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
44250 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
44251 to return int.
44252 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
44253 Remove unused prototypes. All users updated.
44254 * include/grub/powerpc/ieee1275/console.h: Removed.
44255 * include/grub/powerpc/ieee1275/ieee1275.h: Define
44256 `grub_ieee1275_cell_t'.
44257 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
44258 Cast comparisons with -1 to the correct type.
44259 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
44260 type to match `grub_ieee1275_entry_fn'.
44261
8b5f3938 442622005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
44263
44264 * DISTLIST: Added util/i386/pc/grub-probefs.c.
44265
44266 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
44267 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
44268 partmap/sun.c.
44269 (grub_probefs_SOURCES): New variable.
44270
44271 * util/i386/pc/grub-probefs.c: New file.
44272
44273 * util/i386/pc/grub-setup.c (main): Call
44274 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
44275 grub_hfs_init and grub_jfs_init to initialize the system. Call
44276 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
44277 grub_pc_partition_map_fini to finish the system.
44278
ea409713 442792005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
44280
44281 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
44282 function.
44283 (grub_multiboot_load_elf32): Likewise.
44284 (grub_multiboot_is_elf64): Likewise.
44285 (grub_multiboot_load_elf64): Likewise.
44286 (grub_multiboot_load_elf): Likewise.
44287 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
44288 an ELF32 or ELF64 file.
44289 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
44290
44291 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
44292 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
44293 NULL before calling FS->LABEL.
44294 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
44295 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
44296 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
44297 before calling FS->LABEL.
44298
141a288b 442992005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
44300
44301 * util/i386/pc/grub-install.in (datadir): New variable.
44302 (libdir): Removed.
44303 (pkgdatadir): New variable.
44304 (pkglibdir): Removed.
44305
0d5f8a54 443062005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
44307
44308 * DISTLIST: Added util/i386/pc/grub-install.in.
44309
44310 * util/i386/pc/grub-install.in: New file.
44311
44312 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
44313 (grub_install_SOURCES): Likewise.
44314
44315 * genmk.rb: Added support for scripts.
44316 (Script): New class.
44317 (scripts): New variable.
44318
44319 * Makefile.in (install-local): Install sbin_SCRIPTS by
44320 INSTALL_SCRIPT.
44321 (uninstall): Remove sbin_SCRIPTS.
44322
44323 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
44324 device, try to get a GRUB device by
44325 grub_util_biosdisk_get_grub_dev.
44326 Free DEST_DEV.
44327
44328 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
44329 description for --device-map.
44330
5f968e1e 443312005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
44332
44333 Change the semantics of variable hooks. They now return strings
44334 instead of error values.
f19dbdb7 44335
5f968e1e 44336 * util/i386/pc/grub-setup.c: Include grub/env.h.
44337 (setup): Use grub_device_set_root instead of grub_env_set.
44338
44339 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
44340 grub_env_get instead of grub_device_set_root and
44341 grub_device_get_root, respectively.
44342
44343 * kern/main.c (grub_env_write_root): New function.
44344 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
44345 grub_env_set instead of grub_device_set_root.
44346
44347 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
44348 many variables.
44349 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
44350 rather than calling ENV->WRITE_HOOK afterwards.
44351 (grub_env_get): Return the result of ENV->READ_HOOK rather than
44352 passing a pointer of a pointer.
44353 (grub_register_variable_hook): Change the types of "read_hook" and
44354 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
44355 respectively.
44356 Allocate the default empty string on the heap, because this string
44357 may be freed later.
44358
44359 * kern/device.c: Include grub/env.h.
44360 (grub_device_set_root): Removed.
44361 (grub_device_get_root): Likewise.
44362 (grub_device_open): Use grub_env_get instead of
44363 grub_device_get_root.
44364
44365 * include/grub/env.h (grub_env_read_hook_t): New type.
44366 (grub_env_write_hook_t): Likewise.
44367 (grub_env_var): Change the types of "read_hook" and "write_hook"
44368 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
44369 (grub_register_variable_hook): Likewise.
44370
44371 * include/grub/device.h (grub_device_set_root): Removed.
44372 (grub_device_set_root): Likewise.
44373
44374 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
44375 make sure that DIRNAME terminates with '/', so that
44376 grub_fat_find_dir will fail if PATH is not a directory.
44377
44378 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
44379 from DIRNAME.
44380 Use the qualifier auto for print_files and print_files_long.
44381 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
44382 as a regular file.
44383 Put a newline only if there is no error.
44384 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
44385 used.
44386
896f0afd 443872005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
44388
44389 * kern/partition.c (grub_partition_probe): Initialize PART to
44390 NULL. Otherwise, when no partition map is registered, this returns
44391 a garbage.
44392
b28b81b2 443932005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
44394
44395 * partmap/apple.c (apple_partition_map_iterate): Check if POS
44396 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
44397 valid.
44398
5f3607e0 443992005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
44400
44401 * commands/ls.c (grub_ls_list_disks): Print the filesystem
44402 information on each device, if it does not have partitions. Print
44403 "Device" instead of "Disk", because this function is not specific
44404 to disk devices.
44405
44406 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
44407 static to ensure that it is put on the memory rather than a
44408 register.
44409
502c87e8 444102005-07-17 Yoshinori Okuji <okuji@enbug.org>
44411
44412 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
44413 (grub_cat_init): Likewise.
44414 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
44415 (options): Likewise.
44416 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
44417 (grub_configfile_init): Likewise.
44418 * font/manager.c (GRUB_MOD_INIT): Likewise.
44419 * commands/help.c (GRUB_MOD_INIT): Likewise.
44420 (grub_help_init): Likewise.
44421 * normal/command.c (grub_command_init): Likewise.
44422 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
44423 * disk/loopback.c (grub_loop_init): Likewise.
44424 (GRUB_MOD_INIT): Likewise.
44425 * commands/ls.c (grub_ls_init): Likewise.
44426 (GRUB_MOD_INIT): Likewise.
44427 (options): Likewise.
44428 * commands/boot.c (grub_boot_init): Likewise.
44429 (GRUB_MOD_INIT): Likewise.
44430 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
44431 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
44432 (GRUB_MOD_INIT): Likewise.
44433 * commands/cmp.c (grub_cmp_init): Likewise.
44434 (GRUB_MOD_INIT): Likewise.
44435
44436 * normal/arg.c: Use <> instead of "" to include header files.
44437 (SHORT_ARG_HELP): New macro.
44438 (SHORT_ARG_USAGE): Likewise.
44439 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
44440 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
44441 descriptions.
44442 (find_short): Check if C is 'h' or 'u' explicitly.
44443 (grub_arg_show_help): Use space characters instead of tabs. Treat
44444 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
44445 are shown with --help and --usage only if they are not used for
44446 the command itself.
44447 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
44448 'h' and 'u'.
44449
44450 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
44451 const into "longarg". Change the type of "shortarg" to int.
44452
f806d18e 444532005-07-17 Yoshinori Okuji <okuji@enbug.org>
44454
44455 * boot/i386/pc/boot.S (boot_drive_check): New label.
44456
44457 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
44458 macro.
44459
44460 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
44461 which do not pass a boot drive correctly. Copied from GRUB Legacy.
44462
e293232b 444632005-07-17 Yoshinori Okuji <okuji@enbug.org>
44464
44465 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
44466 When turning off Gate A20, skip the check and return immediately,
44467 because this is not fatal usually.
44468
ebedfd00 444692005-07-17 Yoshinori Okuji <okuji@enbug.org>
44470
44471 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
44472 be 0x7C00 instead of 0x8000.
44473
44474 * boot/i386/pc/pxeboot.S: Rewritten.
44475
44476 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
44477 EXT_C.
44478 (gate_a20_check_state): Read a byte from 0x108000. Invert the
44479 result.
44480
654fc59f 444812005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
44482
44483 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
44484 robustness. This routine now supports a BIOS call and System
44485 Control Port A to modify the gate A20.
44486
44487 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
44488 Increased to 0x440.
44489
09f9923f 444902005-07-12 Hollis Blanchard <hollis@penguinppc.org>
44491
44492 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
44493 device path and resulting ihandle.
44494 (grub_ofdisk_close): dprintf the ihandle being closed.
44495 (grub_ofdisk_read): dprintf function parameters.
44496 * kern/mm.c (grub_mm_init_region): Likewise.
44497 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
44498 (grub_linux_boot): dprintf the Linux entry point, initrd address and
44499 size, and boot arguments.
44500 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
44501 before loading into memory.
44502 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
44503 before loading into memory.
44504
7ef504d8 445052005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
44506
44507 * kern/mm.c: Added much documentation.
44508 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
44509 8, set to 5 instead of 8.
44510
e0f050c2 445112005-07-10 Yoshinori Okuji <okuji@enbug.org>
44512
44513 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
44514
44515 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
44516 (grub_mkdevicemap_SOURCES): New variable.
44517
44518 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
44519 lib/device.c of GRUB Legacy.
44520
7224189a 445212005-07-10 Yoshinori Okuji <okuji@enbug.org>
44522
44523 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
44524 instead of PATH is NULL.
44525
68c864eb 445262005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
44527
44528 * commands/cmp.c (BUFFER_SIZE): New macro.
44529 (grub_cmd_cmp): Close the right file at the right time. Compare
44530 only data just read. Don't report files of different size as
44531 identical. Dynamically allocate buffers. Move variable
44532 declarations at the beginning of function.
44533
e6f3e614 445342005-07-09 Yoshinori Okuji <okuji@enbug.org>
44535
44536 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
44537 reverse.
44538
f8f1559a 445392004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
44540
44541 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
44542 when backspace is pressed at beginning of line.
44543
39c9d41d 445442005-07-03 Yoshinori Okuji <okuji@enbug.org>
44545
44546 * DISTLIST: Added genfslist.sh.
44547
44548 * normal/main.c (fs_module_list): New variable.
44549 (autoload_fs_module): New function.
44550 (read_fs_list): Likewise.
44551 (grub_normal_execute): Call read_fs_list.
44552
44553 * kern/fs.c (grub_fs_autoload_hook): New variable.
44554 (grub_fs_probe): Added support for auto-loading.
44555
44556 * include/grub/normal.h (struct grub_fs_module_list): New struct.
44557 (grub_fs_module_list_t): New type.
44558
44559 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
44560 (grub_fs_autoload_hook): New prototype.
44561
44562 * genfslist.sh: New file.
f19dbdb7 44563
39c9d41d 44564 * genmk.rb: Added a rule to generate a filesystem list.
44565
121c1d83 445662005-06-30 Marco Gerards <metgerards@student.han.nl>
44567
44568 * configure.ac: Fix the test for cross-compiling.
44569
44570 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
44571 define GRUB_UTIL anymore.
44572
44573 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
44574 so this function works on other systems than just big endian.
44575 (load_modules): Likewise.
44576 (add_segments): Likewise.
44577
e75d76e1 445782005-06-23 Hollis Blanchard <hollis@penguinppc.org>
44579
44580 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
44581 contains `l' modifier, get a long from va_arg().
44582
50b5a0a7 445832005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
44584
44585 * kern/mm.c (grub_free): If the next free block which is being
44586 merged is the first free block, set the first block to the block
44587 being freed.
44588 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
44589
89371b20 445902005-05-08 Hollis Blanchard <hollis@penguinppc.org>
44591
44592 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
44593 `grub_ieee1275_chosen'.
44594
168d6e58 445952005-05-08 Hollis Blanchard <hollis@penguinppc.org>
44596
44597 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
44598 (grub_ieee1275_chosen): New variable.
44599 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
44600 `chosen'.
44601 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
44602 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
44603 Rename first argument to `phandle' for consistency.
44604 (grub_ieee1275_get_property_length): Likewise.
44605 (grub_ieee1275_next_property): Likewise. Change type of first argument
44606 to grub_ieee1275_phandle_t.
44607 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
44608 Move export next to declaration.
44609 (grub_ieee1275_chosen): New variable.
44610 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
44611 Correct cosmetic typo.
44612 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
44613 `grub_ieee1275_chosen'.
44614 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
44615 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
44616 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
44617 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
44618 `grub_ieee1275_chosen'.
44619
ca5baa3f 446202005-05-10 Hollis Blanchard <hollis@penguinppc.org>
44621
44622 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
44623 /chosen/bootargs.
44624 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
44625 /chosen/bootargs as "variable=value" pairs.
44626
708b345f 446272005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
44628
44629 * include/grub/misc.h (grub_dprintf): New macro.
44630 (grub_real_dprintf): New prototype.
44631 (grub_strword): Likewise.
44632 (grub_iswordseparator): Likewise.
44633 * kern/misc.c (grub_real_dprintf): New function.
44634 (grub_strword): Likewise.
44635 (grub_iswordseparator): Likewise.
44636
f4c5e67c 446372005-04-30 Hollis Blanchard <hollis@penguinppc.org>
44638
44639 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
44640 (roundup): Remove macro.
44641 (grub_ieee1275_flags): Make static.
44642 (grub_ieee1275_realmode): Remove.
44643 (grub_ieee1275_test_flag): New function.
44644 (grub_ieee1275_set_flag): Likewise.
44645 (find_options): Rename to `grub_ieee1275_find_options'; update
44646 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
44647 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
44648 (cmain): New prototype.
44649 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
44650 `grub_ieee1275_flags' directly.
44651 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
44652 machine/biosdisk.h.
44653 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
44654 Don't include grub/machine/init.h.
44655 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
44656 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
44657 Remove prototype.
44658 (grub_ieee1275_realmode): Likewise.
44659 (grub_ieee1275_flag): New enum.
44660 (grub_ieee1275_test_flag): New prototype.
44661 (grub_ieee1275_set_flag): New prototype.
44662 * include/grub/powerpc/ieee1275/init.h: Remove file.
44663 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
44664 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
44665 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
44666 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
44667 comment.
44668 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
44669 `grub_ieee1275_test_flag'.
44670 (grub_ieee1275_encode_devname): Likewise.
44671
ed16607e 446722005-04-21 Hollis Blanchard <hollis@penguinppc.org>
44673
44674 * include/grub/powerpc/ieee1275/ieee1275.h
44675 (grub_ieee1275_encode_devname): New prototype.
44676 (grub_ieee1275_get_filename): Likewise.
44677 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
44678 function.
44679 (grub_set_prefix): Likewise.
44680 (grub_machine_init): Call grub_set_prefix.
44681 * kern/powerpc/ieee1275/openfw.c: Fix typos.
44682 (grub_parse_type): New enum.
44683 (grub_ieee1275_get_devargs): New function.
44684 (grub_ieee1275_get_devname): Likewise.
44685 (grub_ieee1275_parse_args): Likewise.
44686 (grub_ieee1275_get_filename): Likewise.
44687 (grub_ieee1275_encode_devname): Likewise.
44688
be369920 446892005-03-30 Marco Gerards <metgerards@student.han.nl>
44690
44691 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
44692 `grub_loader_unset'.
44693
a5ce3a4a 446942005-03-26 Hollis Blanchard <hollis@penguinppc.org>
44695
44696 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
44697 instead of grub_ieee1275_interpret.
44698 (grub_halt_init): New function.
44699 (grub_halt_fini): Likewise.
44700 (GRUB_MOD_INIT): Correct message grammar.
44701 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
44702 instead of grub_ieee1275_interpret.
44703 (grub_reboot_init): New function.
44704 (grub_reboot_fini): Likewise.
44705 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
44706 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
44707 util/i386/pc/misc.c with commands/ieee1275/halt.c,
44708 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
44709 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
44710 function.
44711 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
44712 Add prototype.
44713 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
44714 prototype.
44715 (grub_halt): Likewise.
44716 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
44717 (cmain): Remove __attribute__((unused)).
44718 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
44719 (grub_heap_len): Likewise.
44720 (grub_machine_fini): New function.
44721 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
44722 (grub_halt): Likewise.
44723 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
44724 function.
44725 * util/powerpc/ieee1275/misc.c: New file.
44726
0058f771 447272005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
44728
44729 * DISTLIST: New file.
44730 * gendistlist.sh: Likewise.
f19dbdb7 44731
0058f771 44732 * Makefile.in (COMMON_DISTFILES): Removed.
44733 (BOOT_DISTFILES): Likewise.
44734 (CONF_DISTFILES): Likewise.
44735 (DISK_DISTFILES): Likewise.
44736 (FS_DISTFILES): Likewise.
44737 (INCLUDE_DISTFILES): Likewise.
44738 (KERN_DISTFILES): Likewise.
44739 (LOADER_DISTFILES): Likewise.
44740 (TERM_DISTFILES): Likewise.
44741 (UTIL_DISTFILES): Likewise.
44742 (DISTFILES): Likewise.
44743 (uninstall): Uninstall files in $(pkgdata_DATA).
44744 (DISTLIST): New target.
44745 (distdir): Use the contents of the file DISTLIST to get a list of
44746 distributed files.
44747
46b3b8a5 447482005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
44749
44750 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
44751 descriptor. This is ported from GRUB Legacy.
44752
44753 * gencmdlist.sh: Added an extra semicolon to make it work with
44754 old sed versions. Reported by Robert Bihlmeyer
44755 <robbe@orcus.priv.at>.
44756
5822ff87 447572005-03-08 Yoshinori Okuji <okuji@enbug.org>
44758
44759 Automatic loading of commands is supported.
f19dbdb7 44760
5822ff87 44761 * normal/main.c (read_command_list): New function.
44762 (grub_normal_execute): Call read_command_list.
44763
44764 * normal/command.c (grub_register_command): Return zero or CMD.
44765 Allocate CMD->NAME from the heap.
44766 Initialize CMD->MODULE_NAME to zero.
44767 Find the same name as well. If the same command is found and it is
44768 a dummy command, overwrite members. If it is not a dummy command,
44769 return zero.
44770 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
44771 (grub_command_find): If a dummy command is found, load a module
44772 and retry to find a command only once.
44773
44774 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
44775 make sure that each command is loaded.
44776
44777 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
44778 macro.
44779 (struct grub_command): Remove const from the member `name'.
44780 Add a new member `module_name'.
44781 (grub_register_command): Return grub_command_t.
44782
44783 * commands/help.c (grub_cmd_help): Call grub_command_find to make
44784 sure that each command is loaded.
44785
44786 * genmk.rb (PModule::rule): Specify a module name without the
44787 suffix ".mod" to gencmdlist.sh.
44788
7b1f4b57 447892005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
44790
44791 * gencmdlist.sh: New file.
f19dbdb7 44792
7b1f4b57 44793 * genmk.rb (PModule::rule): Generate a rule for a command list.
44794 Clean command.lst.
44795 Generate command.lst from $(COMMANDFILES).
44796
44797 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
44798 (DATA): Added $(pkgdata_DATA).
44799 (install-local): Install files in $(pkgdata_DATA).
44800
062aaf39 448012005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
44802
44803 * term/i386/pc/vga.c (debug_command): Removed.
44804 (GRUB_MOD_INIT): Do not register the command "debug".
44805
44806 From Hollis Blanchard:
44807 * commands/configfile.c: New file.
44808 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
44809 commands/configfile.c.
44810 (pkgdata_MODULES): Added configfile.mod.
44811 (configfile_mod_SOURCES): New variable.
44812 (configfile_mod_CFLAGS): Likewise.
44813 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
44814 commands/configfile.c.
44815 (pkgdata_MODULES): Added configfile.mod.
44816 (configfile_mod_SOURCES): New variable.
44817 (configfile_mod_CFLAGS): Likewise.
44818 * util/grub-emu.c (main): Call grub_configfile_init and
44819 grub_configfile_fini.
44820 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
44821 prototype.
44822 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 44823
cee01aa6 448242005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
44825
44826 * normal/arg.c (grub_arg_show_help): Do not show the bug report
44827 address.
44828
44829 * commands/help.c (grub_cmd_help): Do not print newlines after
44830 the last command in print_command_help.
44831
93f3a1d8 448322005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
44833
44834 * commands/default.h: New file.
44835 * commands/timeout.h: Likewise.
44836 * normal/context.c: Likewise.
f19dbdb7 44837
93f3a1d8 44838 * util/misc.c: Do not include sys/times.h.
44839 Include sys/time.h and grub/machine/time.h.
44840 (grub_get_rtc): Rewritten with gettimeofday.
44841
44842 * util/grub-emu.c (main): Call grub_default_init and
44843 grub_timeout_init before grub_normal_init, and call
44844 grub_timeout_fini and grub_default_fini after grub_main.
44845
44846 * util/console.c (grub_ncurses_checkkey): Return the read
44847 character or -1.
44848
44849 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
44850 timeouts.
44851
44852 * normal/main.c (read_config_file): Push MENU. If this fails,
44853 print an error and wait for a user input.
44854 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
44855 If a menu is empty or an error occurs, pop MENU.
44856 (grub_normal_execute): Pop and free MENU after grub_menu_run
44857 returns.
44858
44859 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
44860
44861 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
44862 include time.h.
44863 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
44864 without GRUB_UTIL.
44865 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
44866 time.h.
44867 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
44868 without GRUB_UTIL.
44869
44870 * include/grub/normal.h (struct grub_menu_list): New struct.
44871 (grub_menu_list_t): New type.
44872 (struct grub_context): New struct.
44873 (grub_context_t): New type.
44874 (grub_register_command): Got rid of EXPORT_FUNC.
44875 (grub_unregister_command): Likewise.
44876 (grub_context_get): New prototype.
44877 (grub_context_get_current_menu): Likewise.
44878 (grub_context_push_menu): Likewise.
44879 (grub_context_pop_menu): Likewise.
44880 [GRUB_UTIL] (grub_default_init): Likewise.
44881 [GRUB_UTIL] (grub_default_fini): Likewise.
44882 [GRUB_UTIL] (grub_timeout_init): Likewise.
44883 [GRUB_UTIL] (grub_timeout_fini): Likewise.
44884
44885 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
44886 commands/timeout.c and normal/context.c.
44887 (pkgdata_MODULES): Added default.mod and timeout.mod.
44888 (normal_mod_SOURCES): Added normal/context.c.
44889 (default_mod_SOURCES): New variable.
44890 (default_mod_CFLAGS): Likewise.
44891 (timeout_mod_SOURCES): Likewise.
44892 (timeout_mod_CFLAGS): Likewise.
44893 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
44894 conf/i386-pc.rmk.
44895 (pkgdata_MODULES): Added default.mod and timeout.mod.
44896 (normal_mod_SOURCES): Added normal/context.c.
44897 (default_mod_SOURCES): New variable.
44898 (default_mod_CFLAGS): Likewise.
44899 (timeout_mod_SOURCES): Likewise.
44900 (timeout_mod_CFLAGS): Likewise.
44901
44902 * Makefile.in (all-local): Added $(MKFILES).
44903
4ed2e1dd 449042005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
44905
44906 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
44907 (grub_emu_SOURCES): Likewise.
44908 (pkgdata_MODULES): Add `sun.mod'.
44909 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
44910 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
44911 `partmap/sun.c'.
44912 (pkgdata_MODULES): Add `sun.mod'.
44913 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
44914 * include/grub/partition.h (grub_sun_partition_map_init): New
44915 prototype.
44916 (grub_sun_partition_map_fini): Likewise.
44917 * partmap/sun.c: New file.
44918 * util/grub-emu.c (main): Initialize and de-initialize the sun
44919 partitionmap support.
44920
4d4e372e 449212005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
44922
44923 This implements an Emacs-like menu entry editor.
f19dbdb7 44924
4d4e372e 44925 * normal/menu_entry.c: New file.
f19dbdb7 44926
4d4e372e 44927 * util/console.c (grub_ncurses_putchar): Translate some Unicode
44928 characters to ASCII.
44929 (saved_char): New variable.
44930 (grub_ncurses_checkkey): Rewritten completely.
44931 (grub_ncurses_getkey): Likewise.
44932 (grub_ncurses_init): Call raw instead of cbreak.
44933
44934 * normal/menu.c (print_entry): Do not put a space.
44935 (init_page): Renamed to ...
44936 (grub_menu_init_page): ... this. All callers changed.
44937 (edit_menu_entry): Removed.
44938 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
44939
44940 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
44941
44942 * kern/misc.c (grub_vprintf): Call grub_refresh.
44943
44944 * normal/menu.c (DISP_LEFT): Renamed to ...
44945 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
44946 * normal/menu.c (DISP_UP): Renamed to ...
44947 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
44948 * normal/menu.c (DISP_RIGHT): Renamed to ...
44949 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
44950 * normal/menu.c (DISP_DOWN): Renamed to ...
44951 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
44952 * normal/menu.c (DISP_HLINE): Renamed to ...
44953 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
44954 * normal/menu.c (DISP_VLINE): Renamed to ...
44955 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
44956 * normal/menu.c (DISP_UL): Renamed to ...
44957 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
44958 * normal/menu.c (DISP_UR): Renamed to ...
44959 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
44960 * normal/menu.c (DISP_LL): Renamed to ...
44961 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
44962 * normal/menu.c (DISP_LR): Renamed to ...
44963 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
44964 * normal/menu.c (TERM_WIDTH): Renamed to ...
44965 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
44966 * normal/menu.c (TERM_HEIGHT): Renamed to ...
44967 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
44968 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
44969 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
44970 * normal/menu.c (TERM_MARGIN): Renamed to ...
44971 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
44972 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
44973 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
44974 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
44975 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
44976 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
44977 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
44978 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
44979 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
44980 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
44981 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
44982 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
44983 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
44984 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
44985 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
44986 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
44987 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
44988 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
44989 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
44990 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
44991 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
44992 All callers changed.
44993
44994 * include/grub/normal.h: New prototype.
44995
44996 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
44997 normal/menu_entry.c.
44998 (normal_mod_SOURCES): Likewise.
44999 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
45000 (normal_mod_SOURCES): Likewise.
45001
e6b92c8a 450022005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
45003
45004 * include/grub/normal.h (grub_halt_init): New prototype.
45005 (grub_halt_fini): Likewise.
45006 (grub_reboot_init): Likewise.
45007 (grub_reboot_fini): Likewise.
45008
45009 * util/grub-emu.c: Include signal.h.
45010 (main_env): New global variable.
45011 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
45012 catch C-c.
45013 (grub_machine_fini): New function.
45014 (main): Call grub_halt_init and grub_reboot_init before
45015 grub_main, and grub_reboot_fini and grub_halt_fini after it.
45016 Call setjmp with MAIN_ENV to go back afterwards.
45017 Call grub_machine_fini right before return.
45018
45019 * include/grub/util/misc.h: Include setjmp.h.
45020 (main_env): New prototype.
45021
45022 * include/grub/kernel.h (grub_machine_fini): New prototype.
45023 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
45024 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
45025
45026 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
45027 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
45028 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 45029
e6b92c8a 45030 * util/i386/pc/misc.c: New file.
f19dbdb7 45031
e6b92c8a 45032 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
45033 util/i386/pc/misc.c, commands/i386/pc/halt.c and
45034 commands/i386/pc/reboot.c.
45035
c642636f 450362005-02-14 Guillem Jover <guillem@hadrons.org>
45037
45038 * include/grub/dl.h (grub_dl_check_header): New prototype.
45039 (grub_arch_dl_check_header): Change return type to grub_err_t,
45040 remove size parameter and export function. Update all callers.
45041 * kern/dl.c (grub_dl_check_header): New function.
45042 (grub_dl_load_core): Use `grub_dl_check_header' instead of
45043 `grub_arch_dl_check_header'. Check ELF type. Check if sections
45044 are inside the core.
45045 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
45046 independent ELF header checks.
45047 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
45048 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
45049 `grub_dl_check_header' instead of explicit checks. Check for the
45050 ELF type.
45051 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
45052 `grub_dl_check_header' instead of explicit checks. Remove arch
45053 specific ELF header checks.
45054
e6b92c8a 45055 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
45056 argument SIZE.
45057
5eabe94b 450582005-02-13 Hollis Blanchard <hollis@penguinppc.org>
45059
45060 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
45061 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
45062
1b14a681 450632005-02-12 Hollis Blanchard <hollis@penguinppc.org>
45064
45065 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 45066 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 45067 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 45068 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 45069 * partmap/amiga.c (amiga_partition_map_iterate): Return
45070 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
45071 * partmap/apple.c (apple_partition_map_iterate): Likewise.
45072
aca108aa 450732005-02-01 Guillem Jover <guillem@hadrons.org>
45074
45075 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
45076 help info.
45077
c9f9c556 450782005-01-31 Marco Gerards <metgerards@student.han.nl>
45079
45080 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
45081 Removed prototype.
45082 (grub_rescue_cmd_linux): New prototype.
45083 (grub_rescue_cmd_initrd): Likewise.
45084 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
45085 `bi_rec'.
45086 (grub_linux_release_mem): Release the memory for the initrd.
45087 (grub_load_linux): Renamed from this...
45088 (grub_rescue_cmd_linux): ...To this. Changed all callers.
45089 Changed `entry' not to be static. Loop over memory regions to
45090 find another one when the default fails.
45091 (grub_rescue_cmd_initrd): New function.
45092 (grub_linux_init): Remove function.
45093 (grub_linux_fini): Likewise.
45094 (GRUB_MOD_INIT): Register `initrd'.
45095 (GRUB_MOD_FINI): Unregister `initrd'.
45096 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
45097 Function removed.
45098 (grub_linux_normal_fini): Likewise.
45099 (GRUB_MOD_INIT): Register `initrd'.
45100 (GRUB_MOD_FINI): Unregister `initrd'.
45101
990cf3aa 451022005-01-31 Marco Gerards <metgerards@student.han.nl>
45103
45104 * commands/help.c: New file.
45105 * normal/arg.c (show_help): Renamed to...
45106 (grub_arg_show_help): ... this.
45107 * commands/i386/pc/halt.c: New file.
45108 * commands/i386/pc/reboot.c: Likewise.
45109 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
45110 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
45111 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
45112 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
45113 variables.
45114 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
45115 `commands/help.c'.
45116 (pkgdata_MODULES): Add `help.mod'.
45117 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
45118 * grub/i386/pc/init.h (grub_reboot): New prototype.
45119 (grub_halt): Likewise.
45120 * include/grub/normal.h (grub_arg_show_help): New prototype.
45121 (grub_help_init): Likewise.
45122 (grub_help_fini): Likewise.
45123 * util/grub-emu.c (main): Initialize and deinitialize the help
45124 command.
45125
45126 * normal/cmdline.c (grub_cmdline_get): Doc fix.
45127
45128 * normal/command.c (grub_command_init): Fixed the description of
45129 the `set' and `unset' commands.
45130
451312005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 45132
45133 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
45134 function.
45135 * commands/ieee1275/halt.c: New file.
45136 * commands/ieee1275/reboot.c: Likewise.
45137 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
45138 `__attribute__ ((unused))'. Some GCS related fixed.
45139 (grub_suspend_init) [GRUB_UTIL]: Function removed.
45140 (grub_suspend_fini): Likewise.
45141 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
45142 and `halt.mod'.
45143 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
45144 (halt_mod_CFLAGS): New variables.
45145 * include/grub/powerpc/ieee1275/ieee1275.h
45146 (grub_ieee1275_interpret): New prototype.
45147
1ab09cc7 451482005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
45149
45150 * include/grub/misc.h (memmove): New prototype.
45151 (memcpy): Likewise.
45152
8b8cbdb2 451532005-01-22 Hollis Blanchard <hollis@penguinppc.org>
45154
45155 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
45156 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
45157
e3741a27 451582005-01-22 Marco Gerards <metgerards@student.han.nl>
45159
45160 * kern/misc.c (grub_strndup): Function rewritten.
45161
776bd780 451622005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
45163
45164 * normal/menu.c (TERM_WIDTH): Macro redefined.
45165 (TERM_TOP_BORDER_Y): Likewise.
45166 (draw_border): Replaced while-loop by a for-loop. Make the number
45167 of lines consistent with the number of lines displayed in
45168 print_entries. Added a margin below the rectangle.
45169 (print_entry): Make the entry fit in the rectangle.
45170 (print_entries): Display the scroll arrows next to the right
45171 border.
45172
78026bce 451732005-01-21 Marco Gerards <metgerards@student.han.nl>
45174
45175 * fs/minix.c (grub_minix_find_file): Reserve more space for
45176 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
45177 `grub_strncpy' to copy `path' into it.
45178
67bbaf0f 451792005-01-21 Marco Gerards <metgerards@student.han.nl>
45180
45181 Add the loopback device, a device via which files can be accessed
45182 as devices.
f19dbdb7 45183
67bbaf0f 45184 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
45185 (pkgdata_MODULES): Add loopback.mod.
45186 (loopback_mod_SOURCES): New variable.
45187 (loopback_mod_CFLAGS): Likewise.
45188 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
45189 `disk/loopback.c'.
45190 (pkgdata_MODULES): Add loopback.mod.
45191 (loopback_mod_SOURCES): New variable.
45192 (loopback_mod_CFLAGS): Likewise.
45193 * disk/loopback.c: new file.
45194 * include/grub/normal.h (grub_loop_init): New prototype.
45195 (grub_loop_fini): New prototype.
45196 * util/grub-emu.c (main): Initialize and de-initialize loopback
45197 support.
45198 * include/grub/disk.h (grub_disk_dev_id): Add
45199 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
45200
6f1c18bd 452012005-01-20 Hollis Blanchard <hollis@penguinppc.org>
45202
45203 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
45204 function.
45205 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
45206 (suspend_mod_SOURCES): New variable.
45207 (suspend_mod_CFLAGS): Likewise.
45208 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
45209 New prototype.
45210 * commands/ieee1275/suspend.c: New file.
45211
b38551da 452122005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
45213
45214 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 45215 ((unused))' to `__attribute__ ((used))'.
b38551da 45216 (GRUB_MOD_FINI): Likewise.
45217 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
45218 * genmk.rb (PModule): Assign space to common symbols when linking
45219 modules.
45220
777aff39 452212005-01-20 Marco Gerards <metgerards@student.han.nl>
45222
45223 * include/grub/mm.h (grub_mm_init_region): Change the type of the
45224 `unsigned' arguments to `grub_size_t'.
45225 (grub_malloc): Likewise.
45226 (grub_realloc): Likewise.
45227 (grub_memalign): Likewise.
45228 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
45229 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
45230 * util/misc.c (grub_malloc): Likewise.
45231 (grub_realloc): Likewise.
45232 * kern/mm.c (get_header_from_pointer): Change the casts to
45233 `unsigned' into a cast to `grub_size_t'.
45234
45235 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
45236 point to `currnode' when `currnode' is changed.
45237
45238 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
45239 Schottelius <nico-linux@schottelius.org>.
45240
d0ff18e1 452412005-01-09 Hollis Blanchard <hollis@penguinppc.org>
45242
45243 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
45244 (note_path): Remove variable.
45245 (GRUB_IEEE1275_NOTE_NAME): New macro.
45246 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
45247 (grub_ieee1275_note_hdr): New structure.
45248 (grub_ieee1275_note_desc): Likewise.
45249 (grub_ieee1275_note): Likewise.
45250 (load_note): Remove `dir' argument. All callers updated. Remove
45251 `note_img' and `path'. Do not load a file from `note_path'.
45252 Initialize a struct grub_ieee1275_note and write that to `out'.
45253 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
45254
4ca7004c 452552005-01-05 Marco Gerards <metgerards@student.han.nl>
45256
45257 * util/misc.c (grub_util_read_image): Revert last change. It
45258 called `grub_util_read_at', which seeks from the beginning of the
45259 file.
45260
0b412211 452612005-01-04 Hollis Blanchard <hollis@penguinppc.org>
45262
45263 * TODO: Add note about endianness in grub-mkimage.
45264 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
45265 section.
45266 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
45267 (grub_mkimage_SOURCES): New target.
45268 * include/grub/kernel.h (grub_start_addr): Remove variable.
45269 (grub_end_addr): Likewise.
45270 (grub_total_module_size): Likewise.
45271 (grub_kernel_image_size): Likewise.
45272 (GRUB_MODULE_MAGIC): New constant.
45273 (grub_module_info): New structure.
45274 (grub_arch_modules_addr): New prototype.
45275 (grub_get_end_addr): Remove prototype.
45276 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
45277 * include/grub/powerpc/ieee1275/kernel.h: New file.
45278 * include/grub/util/misc.h (grub_util_get_fp_size): New
45279 prototype.
45280 (grub_util_read_at): Likewise.
45281 (grub_util_write_image_at): Likewise.
45282 * kern/main.c (grub_get_end_addr): Remove function.
45283 (grub_load_modules): Call grub_arch_modules_addr instead of using
45284 grub_end_addr. Look for a grub_module_info struct in memory. Use
45285 the grub_module_info fields instead of calling grub_get_end_addr
45286 as loop conditions. Move grub_add_unused_region code here.
45287 (grub_add_unused_region): Remove function.
45288 * kern/i386/pc/init.c: Include grub/cache.h.
45289 (grub_machine_init): Remove call to grub_get_end_addr. Remove
45290 one call to add_mem_region.
45291 (grub_arch_modules_addr): New function.
45292 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
45293 (grub_total_module_size): Likewise.
45294 Include grub/machine/kernel.h.
45295 (grub_arch_modules_addr): New function.
45296 * util/grub-emu.c (grub_end_addr): Remove variable.
45297 (grub_total_module_size): Likewise.
45298 (grub_arch_modules_addr): New function.
45299 * util/misc.c: Include unistd.h.
45300 (grub_util_get_fp_size): New function.
45301 (grub_util_read_at): Likewise.
45302 (grub_util_write_image_at): Likewise.
45303 (grub_util_read_image): Call grub_util_read_at.
45304 (grub_util_write_image): Call grub_util_write_image_at.
45305 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
45306 additional memory in kernel_img for a struct grub_module_info.
45307 Fill in that grub_module_info.
45308 * util/powerpc/ieee1275/grub-mkimage.c: New file.
45309
458786f8 453102005-01-03 Hollis Blanchard <hollis@penguinppc.org>
45311
45312 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
45313 New function.
45314 * include/grub/powerpc/ieee1275/ieee1275.h
45315 (grub_ieee1275_milliseconds): New prototype.
45316 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
45317 Change to 1000.
45318 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
45319 grub_ieee1275_milliseconds.
45320
ac507d1b 453212005-01-03 Hollis Blanchard <hollis@penguinppc.org>
45322
45323 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
45324 variable.
45325 (find_options): New function.
45326 (cmain): Call find_options.
45327 * include/grub/powerpc/ieee1275/ieee1275.h
45328 (grub_ieee1275_realmode): New extern variable.
45329 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
45330 grub_map if grub_ieee1275_realmode is false.
45331
6b8fd1c4 453322004-12-29 Marco Gerards <metgerards@student.han.nl>
45333
45334 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
45335 lines are inserted and make it work like readline. Reported by
45336 Vincent Pelletier <subdino2004@yahoo.fr>.
45337
8514a1e0 453382004-12-28 Marco Gerards <metgerards@student.han.nl>
45339
45340 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
45341
45342 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
45343 `kern/powerpc/cache.S'.
45344
924b6140 453452004-12-27 Marco Gerards <metgerards@student.han.nl>
45346
45347 * genmk.rb: Handle the `Program' class in the main loop. Written
45348 by Johan Rydberg <jrydberg@gnu.org>.
45349 (Program): New class.
45350 (programs): New variable.
45351 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
45352 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
45353 instead of "grub/kernel.h". Include <grub/machine/init.h>.
45354 (help_arch): Function removed.
45355 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
45356 `powerpc/libgcc.h' and `loader.h'.
45357 (pkgdata_PROGRAMS): New variable.
45358 (sbin_UTILITIES): Variable removed.
45359 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
45360 (grubof_SOURCES): Variable re-defined so it only includes the
45361 core functionality.
45362 (grubof_CFLAGS): Remove `-DGRUBOF'.
45363 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
45364 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
45365 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
45366 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
45367 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
45368 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
45369 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
45370 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
45371 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
45372 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
45373 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
45374 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
45375 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
45376 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
45377 (pc_mod_CFLAGS): New variables.
45378 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
45379 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
45380 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
45381 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
45382 Moved from here...
45383 * include/grub/i386/pc/init.h (grub_os_area_addr)
45384 (rub_os_area_size): ... to here.
45385 * include/grub/powerpc/ieee1275/ieee1275.h
45386 (grub_ieee1275_entry_fn): Export symbol.
45387 * include/grub/powerpc/ieee1275/init.h: New file.
45388 * include/grub/powerpc/libgcc.h: Likewise.
45389 * include/grub/cache.h: Likewise.
45390 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
45391 <hollis@penguinppc.org>.
45392 * kern/dl.c: Include <grub/cache.h>.
45393 (grub_dl_flush_cache): New function.
45394 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
45395 for this module.
45396 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
45397 (grub_console_init): Removed prototypes.
45398 (grub_machine_init): Don't initialize the modules anymore.
45399 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
45400 static.
45401 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
45402 Macro undef removed.
45403 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
45404 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
45405 relocation `R_PPC_REL32'. Return an error when the relocation is
45406 unknown.
45407 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
45408 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
45409 * util/misc.c (grub_arch_sync_caches): Likewise.
45410
e4b47e0c 454112004-12-19 Marco Gerards <metgerards@student.han.nl>
45412
45413 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
45414 `symlist.c', add `grubof_symlist.c'.
45415 (symlist.c): Variable removed.
45416 (grubof_HEADERS): Variable added.
45417 (grubof_symlist.c): New target.
45418 (kernel_syms.lst): Use `grubof_HEADERS' instead of
45419 `kernel_img_HEADERS'.
45420 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
45421 * kern/powerpc/dl.c: New file.
45422 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
45423 Function removed.
45424 (grub_arch_dl_relocate_symbols): Likewise.
45425 (grub_register_exported_symbols): Likewise.
45426
4ceb3636 454272004-12-13 Marco Gerards <metgerards@student.han.nl>
45428
45429 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
45430 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
45431 to fail instead. Reported by Vincent Pelletier
45432 <subdino2004@yahoo.fr>.
45433
45434 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
45435 it is not allocated. Reported by Vincent Pelletier
45436 <subdino2004@yahoo.fr>.
45437
45438 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
45439 output so the output looks better.
f19dbdb7 45440
3f1578fe 454412004-12-04 Marco Gerards <metgerards@student.han.nl>
45442
45443 Modulize the partition map support and add support for the amiga
45444 partition map.
f19dbdb7 45445
3f1578fe 45446 * commands/ls.c: Include <grub/partition.h> instead of
45447 <grub/machine/partition.h>.
45448 * kern/disk.c: Likewise.
45449 * kern/rescue.c: Likewise.
45450 * loader/i386/pc/chainloader.c: Likewise.
45451 * normal/cmdline.c: Likewise.
45452 * kern/powerpc/ieee1275/init.c: Likewise.
45453 (grub_machine_init): Call `grub_pc_partition_map_init',
45454 `grub_amiga_partition_map_init' and
45455 `grub_apple_partition_map_init'.
45456 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
45457 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
45458 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
45459 `partition.h' and `pc_partition.h'.
45460 (grub_setup_SOURCES): Remove
45461 `disk/i386/pc/partition.c'. Add `kern/partition.c',
45462 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
45463 (grub_emu_SOURCES): Likewise.
45464 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
45465 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
45466 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
45467 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
45468 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
45469 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
45470 (grubof_SOURCES): Likewise.
45471 * disk/i386/pc/partition.c: File removed.
45472 * disk/powerpc/ieee1275/partition.c: Likewise.
45473 * include/grub/powerpc/ieee1275/partition.h: Likewise.
45474 * include/grub/i386/pc/partition.h: Likewise.
45475 * kern/partition.c: New file.
45476 * partmap/amiga.c: Likewise.
45477 * partmap/apple.c: Likewise.
45478 * partmap/pc.c: Likewise.
45479 * include/grub/partition.h: Likewise..
45480 * include/grub/pc_partition.h: Likewise.
45481 * util/grub-emu.c: Include <grub/partition.h> instead of
45482 <grub/machine/partition.h>.
45483 (main): Call `grub_pc_partition_map_init',
45484 `grub_amiga_partition_map_init' and
45485 `grub_apple_partition_map_init' and deinitialize afterwards.
45486 * util/i386/pc/biosdisk.c: Include `#include
45487 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
45488 `<grub/machine/partition.h>'.
45489 * util/i386/pc/grub-setup.c: Likewise.
45490 * util/i386/pc/biosdisk.c: Likewise.
45491 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
45492 partition information in case of a PC partition.
45493 * util/i386/pc/grub-setup.c: Include `#include
45494 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
45495 `<grub/machine/partition.h>'.
45496 (setup): Only access the PC specific partition information in case
45497 of a PC partition.
45498
0ef4ced9 454992004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 45500
0ef4ced9 45501 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
45502 (grub_longjmp): Likewise.
45503 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
45504 20.
45505 * normal/powerpc/setjmp.S: New file.
45506 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
45507 `normal/powerpc/setjmp.S'.
45508 (grubof_CFLAGS): Add `-DGRUBOF'.
45509 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
45510 [GRUB_UTIL && !GRUBOF].
f19dbdb7 45511
19950e29 455122004-11-16 Marco Gerards <metgerards@student.han.nl>
45513
45514 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
45515 property named `name'. Correctly handle the error returned by
45516 `grub_ieee1275_finddevice' if a device can not be opened.
45517
a2fea427 455182004-11-02 Hollis Blanchard <hollis@penguinppc.org>
45519
45520 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
45521 `actual' for negativity.
45522 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
45523 kern/fshelp.c.
45524
41ea0ea3 455252004-11-01 Marco Gerards <metgerards@student.han.nl>
45526
45527 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
45528 (PAGE_OFFSET): New macro.
45529 (CRTC_ADDR_PORT): Likewise.
45530 (CRTC_DATA_PORT): Likewise.
45531 (START_ADDR_HIGH_REGISTER): Likewise.
45532 (START_ADDR_LOW_REGISTER): Likewise.
45533 (GRAPHICS_ADDR_PORT): Likewise.
45534 (GRAPHICS_DATA_PORT): Likewise.
45535 (READ_MAP_REGISTER): Likewise.
45536 (INPUT_STATUS1_REGISTER): Likewise.
45537 (INPUT_STATUS1_VERTR_BIT): Likewise.
45538 (page): New variable.
45539 (wait_vretrace): New function.
45540 (set_read_map): Likewise.
45541 (set_start_address): Likewise.
45542 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
45543 the right page.
45544 (check_vga_mem): Take the page into account.
45545 (write_char): Likewise.
45546 (write_cursor): Likewise.
45547 (scroll_up): Likewise. Copy the page to the page that is not
45548 shown and switch between both pages.
45549 (grub_vga_putchar): Fix off by one error.
45550 (grub_vga_cls): Wait for the vertical retrace. Take the page into
45551 account.
45552
ad0bd20b 455532004-11-01 Marco Gerards <metgerards@student.han.nl>
45554
45555 Add support for iso9660 (including rockridge).
f19dbdb7 45556
ad0bd20b 45557 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
45558 (iso9660_mod_SOURCES): New variable.
45559 (iso9660_mod_CFLAGS): Likewise.
45560 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
45561 * include/grub/fs.h (grub_iso9660_init): New prototype.
45562 * util/grub-emu.c (main): Call `grub_iso9660_init'.
45563 * fs/iso9660.c: New file.
45564
45565 * include/grub/misc.h (grub_strncat): New prototype.
45566 * kern/misc.c (grub_strncat): New function.
f19dbdb7 45567
ad0bd20b 45568 * fs/hfs.c (grub_hfs_mount): Translate the error
45569 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
45570 * fs/jfs.c (grub_jfs_mount): Likewise.
45571 * fs/ufs.c (grub_ufs_mount): Likewise.
45572
a5477a59 455732004-10-28 Hollis Blanchard <hollis@penguinppc.org>
45574
45575 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
45576 which initialized BAT registers.
45577 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
45578 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
45579 Move from here...
45580 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
45581 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
45582 ... to here.
45583 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
45584 (grub_mapclaim): Likewise.
45585 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
45586 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
45587 hand.
45588
9304c1f8 455892004-10-19 Hollis Blanchard <hollis@penguinppc.org>
45590
45591 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
45592 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
45593 -ffreestanding and -msoft-float.
45594
86f4ae25 455952004-10-15 Hollis Blanchard <hollis@penguinppc.org>
45596
45597 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
45598 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
45599 set in grub_ieee1275_flags.
45600
38912228 456012004-10-14 Hollis Blanchard <hollis@penguinppc.org>
45602
45603 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
45604 prototype.
45605 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
45606 grub_console_init first.
45607 Change the memory range used for grub_ieee1275_claim and
45608 grub_mm_init_region.
45609 Print an error message if the claim fails.
45610 Include <grub/misc.h>.
45611
d1923dc8 456122004-10-13 Hollis Blanchard <hollis@penguinppc.org>
45613
45614 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
45615 Call grub_children_iterate for device nodes of type `scsi',
45616 `ide', or `ata'.
45617 (grub_ofdisk_open): Remove manual device alias resolution.
45618 Fix memory leak when device cannot be opened.
f19dbdb7 45619 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 45620 (grub_children_iterate): New prototype.
45621 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
45622 New function.
45623 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
45624 Return -1 if args.size was -1.
45625
4512e4f3 456262004-10-11 Hollis Blanchard <hollis@penguinppc.org>
45627
45628 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
45629 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
45630 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
45631 Open Firmware's memory for it; claim memory from _start to _end.
45632 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
45633 (_end): New extern.
45634 (_start): Zero BSS from __bss_start to _end.
45635 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
45636 New extern.
45637 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
45638
4d61feb0 456392004-10-11 Hollis Blanchard <hollis@penguinppc.org>
45640
ad0bd20b 45641 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
45642 -1 if args.base was -1.
4d61feb0 45643
026fa2f9 456442004-10-08 Hollis Blanchard <hollis@penguinppc.org>
45645
45646 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
45647 escape sequence instead of a literal ^L. Also call
45648 grub_ofconsole_gotoxy.
45649
9f2220ef 456502004-10-03 Hollis Blanchard <hollis@penguinppc.org>
45651
45652 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
45653 void * arguments to grub_addr_t. All callers updated. Also make
45654 the `result' argument optional.
45655 (grub_ieee1275_release): change void * arguments to grub_addr_t.
45656 All callers updated.
45657
8a572cd7 456582004-09-22 Hollis Blanchard <hollis@penguinppc.org>
45659
45660 * commands/ls.c (grub_ls_list_files): Use the string following the
45661 initial ')', if present, as the filesystem path.
45662 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
45663
45664 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
45665
18aa81f2 456662004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
45667
45668 Make the source code of the menu interface more readable.
f19dbdb7 45669
18aa81f2 45670 * normal/menu.c: Include grub/mm.h.
45671 (TERM_WIDTH): New macro.
45672 (TERM_HEIGHT): Likewise.
45673 (TERM_INFO_HEIGHT): Likewise.
45674 (TERM_MARGIN): Likewise.
45675 (TERM_SCROLL_WIDTH): Likewise.
45676 (TERM_TOP_BORDER_Y): Likewise.
45677 (TERM_LEFT_BORDER_X): Likewise.
45678 (TERM_BORDER_WIDTH): Likewise.
45679 (TERM_MESSAGE_HEIGHT): Likewise.
45680 (TERM_BORDER_HEIGHT): Likewise.
45681 (TERM_NUM_ENTRIES): Likewise.
45682 (TERM_FIRST_ENTRY_Y): Likewise.
45683 (TERM_ENTRY_WIDTH): Likewise.
45684 (TERM_CURSOR_X): Likewise.
45685 (draw_border): Use macros instead of magic numbers.
45686 (print_entry): Likewise.
45687 (print_entries): Likewise.
45688 (run_menu): Likewise. Also, handle the key 'e'.
45689 (run_menu_entry): Ignore empty command lines.
45690 (print_message): Added a new argument EDIT. If EDIT is true,
45691 print a different message.
45692 (init_page): Likewise.
45693 (edit_menu_entry): New function. Not implemented yet.
45694
b47efe30 456952004-09-17 Marco Gerards <metgerards@student.han.nl>
45696
45697 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
45698 can be loaded from normal mode.
f19dbdb7 45699
b47efe30 45700 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
45701 `multiboot.mod'.
45702 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
45703 (multiboot_mod_CFLAGS): New variables.
45704 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 45705 * loader/i386/pc/multiboot_normal.c: Likewise.
45706
b47efe30 45707 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
45708 attribute `unused'.
f19dbdb7 45709
b47efe30 45710 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
45711 `fdiro' to read the mode information from instead of `diro'.
45712
45713 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
45714 looking up a symlink.
45715
45716 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
45717 macro.
45718 * normal/command.c (grub_command_execute): Don't parse the
45719 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
45720 flags of the command.
45721
45722 * normal/menu.c (grub_menu_run): Fix typo.
45723
da75ac71 457242004-09-14 Hollis Blanchard <hollis@penguinppc.org>
45725
45726 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
45727
45728 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
45729 `y + 1' instead of `y - 1'.
45730
45731 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 45732
062b24c2 457332004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
45734
45735 From Hollis Blanchard <hollis@penguinppc.org>:
45736 * kern/misc.c (memmove): New alias for grub_memmove.
45737 (memcmp): New alias for grub_memcmp.
45738 (memset): New alias for grub_memset.
f19dbdb7 45739 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 45740 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 45741 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 45742 (grub_ieee1275_get_property): Likewise.
f19dbdb7 45743
8ddad845 457442004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
45745
45746 Added normal mode command `chainloader' as module chain.mod, which
45747 depends on normal.mod and _chain.mod.
f19dbdb7 45748
8ddad845 45749 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
45750 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
45751 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
45752 Deleted prototype.
45753 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
45754 but arguments parsing moved to ...
45755 (grub_chainloader_cmd): ... here. New function.
45756 * include/grub/i386/pc/chainloader.h: New file.
45757 * loader/i386/pc/chainloader_normal.c: Likewise.
45758
2c1f4ce3 457592004-09-11 Marco Gerards <metgerards@student.han.nl>
45760
45761 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
45762 (grub_mkimage_LDFLAGS): Likewise.
45763 (grub_emu_SOURCES): Likewise.
45764 (kernel_img_HEADERS): Added fshelp.h.
45765 * fs/ext2.c: Include <grub/fshelp.h>.
45766 (FILETYPE_REG): New macro.
45767 (FILETYPE_INO_REG): Likewise.
45768 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
45769 Changed all users.
45770 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
45771 all users.
45772 (grub_fshelp_node): New struct.
45773 (grub_ext2_data): Added member `diropen'. Changed member `inode'
45774 to a pointer.
45775 (grub_ext2_get_file_block): Removed function.
45776 (grub_ext2_read_block): New function.
45777 (grub_ext2_read_file): Replaced parameter `data' by `node'.
45778 This function was written.
45779 (grub_ext2_mount): Read the root inode. Create a diropen struct.
45780 (grub_ext2_find_file): Removed function.
45781 (grub_ext2_read_symlink): New function.
45782 (grub_ext2_iterate_dir): Likewise.
45783 (grub_ext2_open): Rewritten.
45784 (grub_ext2_dir): Rewritten.
45785 * include/grub/fshelp.h: New file.
45786 * fs/fshelp.c: Likewise.
45787
3c52136a 457882004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
45789
45790 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
45791 (print_message): Add a missing newline.
45792 (run_menu): Added timeout support.
45793 (run_menu_entry): New local function.
45794 (grub_menu_run): Added support for booting.
45795
45796 * kern/loader.c (grub_loader_is_loaded): New function.
45797
45798 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
45799 (grub_get_rtc): Exported.
45800
45801 * include/grub/i386/pc/time.h: Include grub/symbol.h.
45802 (grub_get_rtc): Exported.
45803
45804 * include/grub/normal.h (struct grub_command_list): Remove
45805 constant from the member `command'.
45806
45807 * include/grub/loader.h (grub_loader_is_loaded): Declared.
45808
45809 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
45810
45811 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
45812
aa033560 458132004-08-28 Marco Gerards <metgerards@student.han.nl>
45814
45815 Add support for the JFS filesystem.
45816
45817 * fs/jfs.c: New file.
45818 * include/grub/fs.h (grub_jfs_init): New prototype.
45819 (grub_jfs_fini): New prototype.
45820 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
45821 (grub_emu_SOURCES): Likewise.
45822 (pkgdata_MODULES): Add jfs.mod.
45823 (jfs_mod_SOURCES): New variable.
45824 (jfs_mod_CFLAGS): Likewise.
45825 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
45826 (grubof_SOURCES): Likewise.
45827 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
45828
45829 * fs/fat.c (grub_fat_find_dir): Convert the filename little
45830 endian to the host endian.
45831 (grub_fat_utf16_to_utf8): Move function from there...
45832 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 45833 the endianness of the source string anymore.
aa033560 45834 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
45835
94bc45af 458362004-08-24 Marco Gerards <metgerards@student.han.nl>
45837
45838 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
45839 (grub_boot_fini) [GRUB_UTIL]: Likewise.
45840 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
45841 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 45842
94bc45af 45843 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
45844 (grub_hfs_iterate_dir): Make the function static. Add prototypes
45845 for `node_found' and `it_dir'.
45846 (grub_hfs_dir): Add prototype for `dir_hook'.
45847
45848 * fs/minix.c (grub_minix_get_file_block): Add prototype for
45849 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
45850 and `indir32' to silence a gcc warning.
45851
45852 * include/grub/fs.h (grub_hfs_init): New prototype.
45853 (grub_hfs_fini): Likewise.
f19dbdb7 45854
45855
97543f08 458562004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
45857
45858 Each disk device has its own id now. This is useful to make use
45859 of multiple disk devices.
f19dbdb7 45860
97543f08 45861 * include/grub/disk.h (grub_disk_dev_id): New enum.
45862 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
45863 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
45864
45865 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
45866 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
45867
45868 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
45869 GRUB_DISK_DEVICE_OFDISK_ID as an id.
45870
45871 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
45872 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
45873
45874 * include/grub/disk.h (struct grub_disk_dev): Added a new member
45875 "id" which is used by the cache manager.
45876
45877 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
45878 of just "GRUB".
45879
64372eb4 458802004-08-18 Marco Gerards <metgerards@student.han.nl>
45881
45882 * fs/hfs.c: New file.
45883 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
45884 (grub_emu_SOURCES): Likewise.
45885 (pkgdata_MODULES): Add hfs.mod.
45886 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
45887 (grubof_SOURCES): Likewise.
45888 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
45889
45890 * include/grub/misc.h (grub_strncasecmp): Add prototype.
45891 * kern/misc.c (grub_strncasecmp): Add function.
45892
cc61b58f 458932004-08-14 Marco Gerards <metgerards@student.han.nl>
45894
45895 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
45896 with parentheses.
45897
45898 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
45899 (grub_ext2_dir): In case the directory entry type is unknown, read
45900 it from the inode.
45901
0ef123f6 459022004-08-02 Peter Bruin <pjbruin@dds.nl>
45903
45904 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
45905 grub_load_linux instead of grub_rescue_cmd_linux as second
45906 argument of grub_rescue_register_command.
45907
45908 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
45909
a447c5df 459102004-07-27 Marco Gerards <metgerards@student.han.nl>
45911
45912 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
45913 function.
45914 * commands/boot.c: Remove the check for `GRUB_UTIL'.
45915 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
45916 `loader/powerpc/ieee1275/linux.c',
45917 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
45918 * include/grub/powerpc/ieee1275/ieee1275.h
45919 (grub_ieee1275_release): New prototype.
45920 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
45921 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
45922 normal, boot, linux and linux_normal.
45923 * loader/powerpc/ieee1275/linux.c: New file.
45924 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
45925
5a9e3546 459262004-07-12 Marco Gerards <metgerards@student.han.nl>
45927
45928 * normal/arg.c (grub_arg_parse): Correct error handling after
45929 reallocating the argumentlist (check if `argl' is not null instead
45930 of checking if `args' is not null).
45931 * kern/mm.c (grub_realloc): Return the same pointer when using the
45932 same region, instead of returning the header address.
45933
e15199cb 459342004-07-11 Marco Gerards <metgerards@student.han.nl>
45935
45936 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
45937 one block instead of two when looking for the initial partition.
45938 (grub_partition_probe): Initialize the local variable `p' with 0.
45939 Use base 10 for the grub_strtoul call.
45940 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
45941 need for one local variable.
45942 (grub_strtoul): Don't add the new value to `num', instead of that
45943 just assign it.
45944
020616c2 459452004-07-11 Marco Gerards <metgerards@student.han.nl>
45946
45947 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
45948 (pxeboot_img_SOURCES): New variable.
45949 (pxeboot_img_ASFLAGS): Likewise.
45950 (pxeboot_img_LDFLAGS): Likewise.
45951 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
45952 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
45953 <lode_leroy@hotmail.com>.
45954
6c51eb64 459552004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
45956
45957 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
45958 there was no input.
45959
cfb12aff 459602004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
45961
45962 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
45963 the history buffer logic.
45964
6eabba74 459652004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
45966
45967 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
45968 (FILETYPE_INO_SYMLINK): New macros.
45969 (grub_ext2_find_file): Check if the node is a directory using the
45970 inode stat information instead of using the filetype in the
45971 dirent. Exclude the first character of an absolute symlink.
45972 (grub_ext2_dir): Mask out the filetype part of the mode member of
45973 the inode.
45974
66e19ef8 459752004-05-24 Marco Gerards <metgerards@student.han.nl>
45976
45977 Add support for UFS version 1 and 2. Add support for the minix
45978 filesystem version 1 and 2, both the variants with 14 and 30 long
45979 filenames.
f19dbdb7 45980
66e19ef8 45981 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
45982 fs/minix.c.
45983 (grub_emu_SOURCES): Likewise.
45984 (pkgdata_MODULES): Add ufs.mod and minix.mod.
45985 (ufs_mod_SOURCES): New variable.
45986 (ufs_mod_CFLAGS): Likewise.
45987 (minix_mod_SOURCES): Likewise.
45988 (minix_mod_CFLAGS): Likewise.
45989 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
45990 fs/minix.c.
45991 (grubof_SOURCES): Likewise.
45992 * fs/ufs.c: New file.
45993 * fs/minix.c: New file.
45994 * include/grub/fs.h (grub_ufs_init): New prototype.
45995 (grub_ufs_fini): Likewise.
45996 (grub_minix_init): Likewise.
45997 (grub_minix_fini): Likewise.
45998 * util/grub-emu.c (main): Initialize and deinitialize UFS and
45999 minix fs.
46000
cc2e748a 460012004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
46002
46003 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
46004 commands/ls.c, commands/terminal.c, commands/boot.c,
46005 commands/cmp.c and commands/cat.c.
46006 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
46007
46008 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
46009 "env.h"
46010
4b13b216 460112004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
46012
46013 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
46014 and grub_, respectively. Because the conversion is trivial and
46015 mechanical, I omit the details here. Please refer to the CVS
46016 if you need more information.
46017
6a142551 460182004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
46019
46020 * include/pupa: Renamed to ...
46021 * include/grub: ... this.
46022 * util/i386/pc/pupa-mkimage.c: Renamed to ...
46023 * util/i386/pc/grub-mkimage.c: ... this.
46024 * util/i386/pc/pupa-setup.c: Renamed to ...
46025 * util/i386/pc/grub-setup.c: ... this.
46026 * util/pupa-emu.c: Renamed to ...
46027 * util/grub-emu.c: ... this.
46028
e56cdf21 460292004-03-29 Marco Gerards <metgerards@student.han.nl>
46030
46031 Add support for the newworld apple macintosh (PPC). This has been
46032 tested on the powerbook 2000 only. It only adds support for
46033 generic ieee1275 functions, console and disk support. This should
46034 be easy to port to other architectures with support for Open
46035 Firmware.
f19dbdb7 46036
e56cdf21 46037 * configure.ac: Accept the powerpc as host_cpu. In the case of
46038 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
46039 specific tests are only executed while building for the i386.
46040 Inverse test for crosscompile.
46041 * genmk.rb (Utility): Allow assembler files.
46042 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
46043 * conf/powerpc-ieee1275.rmk: New file.
46044 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
46045 * disk/powerpc/ieee1275/partition.c: Likewise.
46046 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
46047 * include/pupa/powerpc/ieee1275/console.h: Likewise.
46048 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
46049 * include/pupa/powerpc/ieee1275/time.h: Likewise.
46050 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
46051 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
46052 * include/pupa/powerpc/ieee1275/loader.h
46053 * include/pupa/powerpc/setjmp.h: Likewise.
46054 * include/pupa/powerpc/types.h: Likewise.
46055 * kern/powerpc/ieee1275/init.c: Likewise.
46056 * kern/powerpc/ieee1275/openfw.c: Likewise.
46057 * term/powerpc/ieee1275/ofconsole.c: Likewise.
46058
46059 These files were written by Johan Rydberg
46060 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 46061
e56cdf21 46062 * boot/powerpc/ieee1275/cmain.c: New file.
46063 * boot/powerpc/ieee1275/crt0.S: Likewise.
46064 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
46065 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
46066
8c8cc205 460672004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
46068
46069 * Makefile.in: Update copyright.
46070 * genmodsrc.sh: Likewise.
46071 * gensymlist.sh: Likewise.
46072 * term/i386/pc/vga.c: Indent correctly.
46073
46074 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
46075 bugreporting address.
46076 * util/i386/pc/pupa-setup.c (usage): Likewise,
46077 (main): Call pupa_ext2_init and pupa_ext2_fini.
46078
f19dbdb7 46079 * fs/fat.c (log2): Renamed to ...
8c8cc205 46080 (fat_log2): ... this.
46081 All callers changed.
46082 * kern/misc.c (memcpy): Alias to pupa_memmove.
46083 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
46084 lvalue cast.
46085 * util/console.c (pupa_ncurses_fini): Return 0.
46086
46087 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
46088 Move fail label here.
46089 [__GNU__]: Don't warn when using stat.
46090 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
46091 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
46092 long int. Use strtol instead of strtoul.
f19dbdb7 46093
db1771cf 460942004-03-14 Marco Gerards <metgerards@student.han.nl>
46095
46096 * commands/boot.c: New file.
46097 * commands/cat.c: Likewise.
46098 * commands/cmp.c: Likewise.
46099 * commands/ls.c: Likewise.
46100 * commands/terminal.c: Likewise.
46101 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
46102 (pupa_register_command): Changed interface to match the new
46103 argument parser.
46104 (pupa_command_execute): Changed (almost rewritten) so it uses
46105 pupa_split_command. Added support for setting variables using the
46106 syntax `foo=bar'.
46107 (rescue_command): Changed to work with the new argument parser.
46108 (terminal_command): Moved from here to commands/terminal.c.
46109 (set_command): New function.
46110 (unset_command): New function.
46111 (insmod_command): New function.
46112 (rmmod_command): New function.
46113 (lsmod_command): New function.
46114 (pupa_command_init): Don't initialize the command terminal
46115 anymore. Initialize the commands set, unset, insmod, rmmod and
46116 lsmod.
46117 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
46118 (kernel_img_HEADERS): Add arg.h and env.h.
46119 (pupa_mkimage_LDFLAGS): Add kern/env.c.
46120 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
46121 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
46122 normal/arg.c.
46123 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
46124 terminal.mod.
46125 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
46126 (boot_mod_SOURCES): New variable.
46127 (terminal_mod_SOURCES): Likewise.
46128 (ls_mod_SOURCES): Likewise.
46129 (cmp_mod_SOURCES): Likewise.
46130 (cat_mod_SOURCES): Likewise.
46131
46132 * normal/arg.c: New file.
46133 * kern/env.c: Likewise.
46134 * include/pupa/arg.h: Likewise.
46135 * include/pupa/env.h: Likewise.
46136 * font/manager.c (font_command): Changed to match argument parsing
46137 interface changes.
46138 (PUPA_MOD_INIT): Likewise.
46139 * hello/hello.c (pupa_cmd_hello): Likewise.
46140 (PUPA_MOD_INIT): Likewise.
46141 * include/pupa/disk.h: Include <pupa/device.h>.
46142 (pupa_print_partinfo): New prototype.
46143 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
46144 (pupa_dl_get_prefix): Likewise.
46145 * include/pupa/misc.h: Include <pupa/err.h>.
46146 (pupa_isgraph): New prototype.
46147 (pupa_isdigit): Likewise.
46148 (pupa_split_cmdline): Likewise.
46149 * include/pupa/normal.h: Include <pupa/arg.h>.
46150 (pupa_command): Changed the prototype of the member `func' to
46151 match the argument parsing interface. Added member `options'.
46152 (pupa_register_command): Updated to match function.
46153 (pupa_arg_parse): New prototype.
46154 (pupa_hello_init) [PUPA_UTIL]: New prototype.
46155 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
46156 (pupa_ls_init) [PUPA_UTIL]: Likewise.
46157 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
46158 (pupa_cat_init) [PUPA_UTIL]: Likewise.
46159 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
46160 (pupa_boot_init) [PUPA_UTIL]: Likewise.
46161 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
46162 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
46163 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
46164 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
46165 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
46166 * kern/disk.c: Include <pupa/file.h>.
46167 (pupa_print_partinfo): New function.
46168 * kern/dl.c: Include <pupa/env.h>.
46169 (pupa_dl_dir): Variable removed.
46170 (pupa_dl_load): Use the environment variable `prefix' instead of
46171 the variable pupa_dl_dir.
46172 (pupa_dl_set_prefix): Function removed.
46173 (pupa_dl_get_prefix): Likewise.
46174 * kern/i386/pc/init.c: Include <pupa/env.h>.
46175 (pupa_machine_init): Use the environment variable `prefix' instead of
46176 using pupa_dl_set_prefix to set the prefix.
46177 * kern/main.c: Include <pupa/env.h>.
46178 (pupa_set_root_dev): Use the environment variable `prefix' instead of
46179 using pupa_dl_get_prefix to get the prefix.
46180 * kern/misc.c: Include <pupa/env.h>.
46181 (pupa_isdigit): New function.
46182 (pupa_isgraph): Likewise.
46183 (pupa_ftoa): Likewise.
46184 (pupa_vsprintf): Added support for printing values of the type
46185 `double'. Make it possible to format variable output when using
46186 formatting like `%1.2%f'.
46187 (pupa_split_cmdline): New function.
46188 * kern/rescue.c: Include <pupa/env.h>.
46189 (next_word): Removed function.
46190 (pupa_rescue_cmd_prefix): Likewise.
46191 (pupa_rescue_cmd_set): New function.
46192 (pupa_rescue_cmd_unset): New function.
46193 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
46194 split the command line instead of splitting it here. Added
46195 support for setting variables using the syntax `foo=bar'. Don't
46196 initialize the prefix command anymore. Initialized the set and
46197 unset commands.
46198 * normal/cmdline.c: Include <pupa/env.h>.
46199 (pupa_tab_complete): Added prototypes for print_simple_completion,
46200 print_partition_completion, add_completion, iterate_commands,
46201 iterate_dev, iterate_part and iterate_dir. Moved code to print
46202 partition information from here to kern/disk.c.
fe6b695a 46203 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 46204 * normal/main.c: Include <pupa/env.h>.
46205 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
46206 instead of using pupa_dl_get_prefix to get the prefix.
46207 * term/i386/pc/vga.c: Include <pupa/arg.h>.
46208 (check_vga_mem): Cast pointers to `void *' to silence a gcc
46209 warning.
46210 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
46211 (pupa_vga_setcolor): Declare unused variables with `__attribute__
46212 ((unused))' to silence a gcc warning.
46213 (pupa_vga_setcolor): Likewise.
46214 (debug_command): Changed to match argument parsing
46215 interface changes.
46216 * util/pupa-emu.c: Include <pupa/env.h>.
46217 (options): Added 0's for unused fields to silence a gcc warning.
46218 (argp): Likewise.
46219 (main): Use the environment variable `prefix' instead of using
46220 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
46221 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
46222 and terminal.
46223
46224 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
46225 * util/misc.c: Include <malloc.h>.
46226 (pupa_malloc): Rewritten so errors are correctly reported.
46227 (pupa_realloc): Likewise.
46228 (pupa_memalign): Likewise.
46229 (pupa_mm_init_region): Declare unused variables with
46230 `__attribute__ ((unused))' to silence a gcc warning.
46231 * normal/i386/setjmp.S: Remove tab at the end of the file to
46232 silence a gcc warning.
46233 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
46234 variables with `__attribute__ ((unused))' to silence a gcc
46235 warning.
46236 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
46237 local variable i unsigned to silence a gcc warning.
46238
46239 * kern/term.c: Include <pupa/misc.h>.
46240 (pupa_more_lines): New variable.
46241 (pupa_more): Likewise.
46242 (pupa_putcode): When the pager is active pause at the end of every
46243 screen.
46244 (pupa_set_more): New function.
46245 * include/pupa/term.h (pupa_set_more): New prototype.
46246
46247
3b1139cb 462482004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
46249
46250 Now this project is GRUB 2 rather than PUPA. The location of
46251 the CVS repository was moved to GRUB's.
f19dbdb7 46252
3b1139cb 46253 * configure.ac: Use bug-grub as the reporting address.
46254 Use GRUB instead of PUPA.
46255 Change the version number to 1.90.
46256
8367695c 462572004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
46258
46259 * genkernsyms.sh: Updated copyright information.
46260 * genmk.rb: Likewise.
46261 * genmodsrc.sh: Likewise.
46262 * gensymlist.sh: Likewise.
46263 * boot/i386/pc/boot.S: Likewise.
46264 * boot/i386/pc/diskboot.S: Likewise.
46265 * disk/i386/pc/biosdisk.c: Likewise.
46266 * disk/i386/pc/partition.c: Likewise.
46267 * font/manager.c: Likewise.
46268 * fs/ext2.c: Likewise.
46269 * fs/fat.c: Likewise.
46270 * include/pupa/boot.h: Likewise.
46271 * include/pupa/device.h: Likewise.
46272 * include/pupa/disk.h: Likewise.
46273 * include/pupa/dl.h: Likewise.
46274 * include/pupa/elf.h: Likewise.
46275 * include/pupa/err.h: Likewise.
46276 * include/pupa/file.h: Likewise.
46277 * include/pupa/font.h: Likewise.
46278 * include/pupa/fs.h: Likewise.
46279 * include/pupa/kernel.h: Likewise.
46280 * include/pupa/loader.h: Likewise.
46281 * include/pupa/misc.h: Likewise.
46282 * include/pupa/mm.h: Likewise.
46283 * include/pupa/net.h: Likewise.
46284 * include/pupa/normal.h: Likewise.
46285 * include/pupa/rescue.h: Likewise.
46286 * include/pupa/setjmp.h: Likewise.
46287 * include/pupa/symbol.h: Likewise.
46288 * include/pupa/term.h: Likewise.
46289 * include/pupa/types.h: Likewise.
46290 * include/pupa/i386/setjmp.h: Likewise.
46291 * include/pupa/i386/types.h: Likewise.
46292 * include/pupa/i386/pc/biosdisk.h: Likewise.
46293 * include/pupa/i386/pc/boot.h: Likewise.
46294 * include/pupa/i386/pc/console.h: Likewise.
46295 * include/pupa/i386/pc/init.h: Likewise.
46296 * include/pupa/i386/pc/kernel.h: Likewise.
46297 * include/pupa/i386/pc/linux.h: Likewise.
46298 * include/pupa/i386/pc/loader.h: Likewise.
46299 * include/pupa/i386/pc/memory.h: Likewise.
46300 * include/pupa/i386/pc/multiboot.h: Likewise.
46301 * include/pupa/i386/pc/partition.h: Likewise.
46302 * include/pupa/i386/pc/time.h: Likewise.
46303 * include/pupa/i386/pc/vga.h: Likewise.
46304 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
46305 * include/pupa/util/getroot.h: Likewise.
46306 * include/pupa/util/misc.h: Likewise.
46307 * include/pupa/util/resolve.h: Likewise.
46308 * kern/device.c: Likewise.
46309 * kern/disk.c: Likewise.
46310 * kern/dl.c: Likewise.
46311 * kern/err.c: Likewise.
46312 * kern/file.c: Likewise.
46313 * kern/fs.c: Likewise.
46314 * kern/loader.c: Likewise.
46315 * kern/main.c: Likewise.
46316 * kern/misc.c: Likewise.
46317 * kern/mm.c: Likewise.
46318 * kern/rescue.c: Likewise.
46319 * kern/term.c: Likewise.
46320 * kern/i386/dl.c: Likewise.
46321 * kern/i386/pc/init.c: Likewise.
46322 * kern/i386/pc/lzo1x.S: Likewise.
46323 * kern/i386/pc/startup.S: Likewise.
46324 * loader/i386/pc/chainloader.c: Likewise.
46325 * loader/i386/pc/linux.c: Likewise.
46326 * loader/i386/pc/multiboot.c: Likewise.
46327 * normal/cmdline.c: Likewise.
46328 * normal/command.c: Likewise.
46329 * normal/main.c: Likewise.
46330 * normal/menu.c: Likewise.
46331 * normal/i386/setjmp.S: Likewise.
46332 * term/i386/pc/console.c: Likewise.
46333 * term/i386/pc/vga.c: Likewise.
46334 * util/console.c: Likewise.
46335 * util/genmoddep.c: Likewise.
46336 * util/misc.c: Likewise.
46337 * util/pupa-emu.c: Likewise.
46338 * util/resolve.c: Likewise.
46339 * util/unifont2pff.rb: Likewise.
46340 * util/i386/pc/biosdisk.c: Likewise.
46341 * util/i386/pc/getroot.c: Likewise.
46342 * util/i386/pc/pupa-mkimage.c: Likewise.
46343 * util/i386/pc/pupa-setup.c: Likewise.
46344
e6eced71 463452004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
46346
46347 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
46348 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
46349 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
46350 reading and reset it after reading.
46351 (pupa_ext2_close): Return PUPA_ERR_NONE.
46352
46353 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
46354 Correct value.
46355 (struct linux_kernel_header): Add kernel_version and
46356 initrd_addr_max.
46357 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
46358 pupa_file_read succeeds.
46359 (pupa_rescue_cmd_initrd): Implement.
46360
5aded270 463612003-12-03 Marco Gerards <metgerards@student.han.nl>
46362
46363 * fs/ext2.c (pupa_ext2_label): New function.
46364 (pupa_ext2_fs): Added label.
46365 * fs/fat.c (pupa_fat_label): New function.
46366 (pupa_fat_fs): Added label.
46367 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
46368
46369 * kern/misc.c (pupa_strndup): New function.
46370 * include/pupa/misc.h (pupa_strndup): New prototype.
46371
46372 * include/pupa/normal.h: Include <pupa/err.h>.
46373 (pupa_set_history): New prototype.
46374 (pupa_iterate_commands): New prototype.
46375 * normal/cmdline.c: Include <pupa/machine/partition.h>,
46376 <pupa/disk.h>, <pupa/file.h>.
46377 (hist_size): New variable.
46378 (hist_lines): Likewise.
46379 (hist_end): Likewise.
46380 (hist_used): Likewise.
46381 (pupa_set_history): New function.
46382 (pupa_history_get): Likewise.
46383 (pupa_history_add): Likewise.
46384 (pupa_history_replace): Likewise.
46385 (pupa_tab_complete): Likewise.
46386 (pupa_cmdline_run): Added tab completion and history buffer. Tab
46387 completion shows partitionnames while completing partitions, this
46388 feature was suggested by Jeff Bailey.
46389 * normal/command.c (pupa_iterate_commands): New function.
46390 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
46391 (pupa_normal_init): Initialize history buffer.
46392 (PUPA_MOD_INIT): Likewise.
46393 (pupa_normal_fini): Free the history buffer.
46394 (PUPA_MOD_FINI): Likewise.
46395
46396 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
46397 key.
46398
46399 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
46400 * configure.ac [i386]: Check for regparam bug.
46401 (NESTED_FUNC_ATTR) [! i386]: Defined.
46402
1f7315a3 464032003-11-17 Marco Gerards <metgerards@student.han.nl>
46404
46405 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
46406 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
46407 (pupa_emu_SOURCES): New variable.
46408 (pupa_emu_LDFLAGS): Likewise.
46409 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
46410 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
46411 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
46412 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
46413 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
46414 (pupa_jmp_buf): New typedef.
46415 (pupa_setjmp) [PUPA_UTIL]: New macro.
46416 (pupa_longjmp) [PUPA_UTIL]: Likewise.
46417 * include/pupa/term.h (struct pupa_term): New member `refresh'.
46418 (pupa_refresh): New prototype.
46419 * include/pupa/util/getroot.h: New file.
46420 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
46421 it.
46422 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
46423 (pupa_rescue_cmd_cat): Likewise.
46424 (pupa_rescue_cmd_ls): Likewise.
46425 (pupa_rescue_cmd_testload): Likewise.
46426 (pupa_rescue_cmd_lsmod): Likewise.
46427 * normal/cmdline.c (pupa_cmdline_get): Likewise.
46428 * normal/menu.c (run_menu): Likewise.
46429 * kern/term.c (pupa_cls): Likewise.
46430 (pupa_refresh): New function.
46431 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
46432 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
46433 * util/console.c: New file.
f19dbdb7 46434
1f7315a3 46435 * util/i386/pc/getroot.c: New file.
46436 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
46437 (pupa_putchar): New function.
46438 (pupa_refresh): Likewise.
46439 (xgetcwd): Function moved to ...
46440 (strip_extra_slashes): Likewise.
46441 (get_prefix): Likewise.
f19dbdb7 46442 * util/i386/pc/getroot.c: ... here.
1f7315a3 46443 (find_root_device): Function moved and renamed to...
46444 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
46445 Changed all callers.
46446 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
46447 and renamed to...
46448 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
46449 Changed all callers.
46450 * util/misc.c (pupa_memalign): New function.
46451 (pupa_mm_init_region): Likewise.
46452 (pupa_register_exported_symbols): Likewise.
46453 (pupa_putchar): Function removed.
46454 * util/pupa-emu.c: New file.
46455
9a5c1ade 464562003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
46457
46458 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
46459 (_multiboot_mod_SOURCES): New variable.
46460 (_multiboot_mod_CFLAGS): Likewise.
46461 * loader/i386/pc/multiboot.c: New file.
46462 * include/pupa/i386/pc/multiboot.h: Likewise.
46463 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
46464 (pupa_multiboot_real_boot): New function.
46465 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
46466 (pupa_multiboot_real_boot): New prototype.
46467 (pupa_rescue_cmd_multiboot): Likewise
46468 (pupa_rescue_cmd_module): Likewise.
46469
46470 * kern/loader.c (pupa_loader_set): Continue when
46471 pupa_loader_unload_func() fails.
46472 (pupa_loader_unset): New function.
46473 * include/pupa/loader.h (pupa_loader_unset): New prototype.
46474
46475 * kern/misc.c (pupa_stpcpy): New function.
46476 * include/pupa/misc.h (pupa_stpcpy): New prototype.
46477
8e72a9c0 464782003-11-12 Marco Gerards <metgerards@student.han.nl>
46479
46480 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
46481 for available extensions.
46482
46483 * include/pupa/i386/pc/time.h: New file.
46484 * kern/disk.c: Include <pupa/machine/time.h>.
46485 (PUPA_CACHE_TIMEOUT): New macro.
46486 (pupa_last_time): New variable.
46487 (pupa_disk_open): Flush the cache when there was a timeout.
46488 (pupa_disk_close): Reset the timer.
46489 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
46490 pupa_currticks.
46491 * util/misc.c: Include <sys/times.h>
46492 (pupa_get_rtc): New function.
46493
c4adbd32 464942003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
46495
46496 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
46497 as blocks.
46498 (pupa_ext2_get_file_block): Use blocks member.
46499
46500 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
46501 first block. Return -1 instead of pupa_errno on error.
46502
bfd30f06 465032003-10-27 Marco Gerards <metgerards@student.han.nl>
46504
46505 * README: In the pupa-mkimage example use _chain instead of chain
46506 and ext2 instead of fat.
46507 * TODO: Replace ext2fs with jfs as an example. Add an item for
46508 adding journal playback for ext2fs.
46509 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
46510 (pkgdata_MODULES): Added ext2.mod.
46511 (ext2_mod_SOURCES): New variable.
46512 (ext2_mod_CFLAGS): Likewise.
46513 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
46514 * include/pupa/misc.h (pupa_strncpy): New prototype.
46515 (pupa_strcat): Likewise.
46516 (pupa_strncmp): Likewise.
46517 * kern/misc.c (pupa_strcat): Enable function.
46518 (pupa_strncpy): New function.
46519 (pupa_strncmp): Likewise.
46520 * fs/ext2.c: New file.
f19dbdb7 46521
bfd30f06 46522 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
46523 when the read failed before retrying.
46524 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
46525 (_FILE_OFFSET_BITS): Likewise.
46526 * configure.ac: Added AC_SYS_LARGEFILE.
46527
98d15063 465282003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
46529
46530 * genmk.rb (PModule#rule): Make sure to get only symbol names
46531 from the output of nm.
59cad637 46532 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 46533
18d9c7cd 465342003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
46535
46536 I forgot to check in these changes for a long time. This adds
46537 incomplete support for VGA console, and this is still very
46538 buggy. Also, a lot of consideration is required for I18N,
46539 UNICODE, and VGA font issues. Therefore, assume that this is
46540 such that "better than nothing".
f19dbdb7 46541
18d9c7cd 46542 * font/manager.c: New file.
46543 * include/pupa/font.h: Likewise.
46544 * include/pupa/i386/pc/vga.h: Likewise.
46545 * term/i386/pc/vga.c: Likewise.
46546 * util/unifont2pff.rb: Likewise.
46547
46548 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
46549 (pkgdata_MODULES): Added vga.mod and font.mod.
46550 (vga_mod_SOURCES): New variables.
46551 (vga_mod_CFLAGS): Likewise.
46552 (font_mod_SOURCES): Likewise.
46553 (font_mod_CFLAGS): Likewise.
46554
46555 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
46556
46557 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 46558 (struct pupa_term): Added init and fini.
18d9c7cd 46559 Changed the argument of putchar to pupa_uint32_t.
46560
46561 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
46562 (pupa_console_real_putchar): New prototype.
46563 (pupa_console_putchar): Removed.
46564 (pupa_console_checkkey): Exported.
46565 (pupa_console_getkey): Likewise.
46566
46567 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
46568 characters.
46569
46570 * kern/term.c (pupa_term_set_current): Rewritten.
46571 (pupa_putchar): Likewise.
46572 (pupa_putcode): New function.
46573
46574 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
46575 (pupa_console_real_putchar): ... this.
46576 (pupa_vga_set_mode): New function.
46577 (pupa_vga_get_font): Likewise.
46578
46579 * normal/command.c: Include pupa/term.h.
46580 (terminal_command): New function.
46581 (pupa_command_init): Register the command "terminal".
46582
46583 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
46584 (DISP_UP): Likewise.
46585 (DISP_RIGHT): Likewise.
46586 (DISP_DOWN): Likewise.
46587 (DISP_HLINE): Likewise.
46588 (DISP_VLINE): Likewise.
46589 (DISP_UL): Likewise.
46590 (DISP_UR): Likewise.
46591 (DISP_LL): Likewise.
46592 (DISP_LR): Likewise.
46593
46594 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 46595
977329f5 465962003-02-08 NIIBE Yutaka <gniibe@m17n.org>
46597
46598 * util/resolve.c (pupa_util_resolve_dependencies): BUG
46599 FIX. Reverse the path_list.
46600
46601 * include/pupa/normal.h: Export pupa_register_command and
46602 pupa_unregister_command.
46603
46604 * hello/hello.c (pupa_cmd_hello): New module.
46605 * conf/i386-pc.rmk: Added hello.mod.
46606
1f5ab428 466072003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
46608
46609 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 46610
1f5ab428 46611 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
46612 (compress_kernel): New variable.
46613 (generate_image): Heavily modified to support compressing a
46614 large part of the core image.
46615
46616 * util/misc.c (pupa_util_read_image): Fix a file descriptor
46617 leak.
46618 (pupa_util_load_image): New function.
46619
46620 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
46621 (pupa_compressed_size): New variable.
46622 (codestart): Enable Gate A20 here.
46623 Decompress the compressed part of the core image.
46624 Rearrange the code to put functions and variables which are
46625 required for initialization in the non-compressed part.
46626 Include lzo1x.S.
46627
46628 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
46629 here.
46630
46631 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
46632
f19dbdb7 46633 * include/pupa/i386/pc/kernel.h
1f5ab428 46634 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
46635 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
46636 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
46637 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
46638 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
46639
46640 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
46641
46642 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
46643 (Utility#rule): Likewise.
46644
46645 * configure.ac: Check if LZO is available.
46646
ce5bf700 466472003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
46648
46649 * include/pupa/normal.h: New file.
46650 * include/pupa/setjmp.h: Likewise.
46651 * include/pupa/i386/setjmp.h: Likewise.
46652 * normal/cmdline.c: Likewise.
46653 * normal/command.c: Likewise.
46654 * normal/main.c: Likewise.
46655 * normal/menu.c: Likewise.
46656 * normal/i386/setjmp.S: Likewise.
f19dbdb7 46657
ce5bf700 46658 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
46659 (pupa_rescue_cmd_initrd): Likewise.
46660
46661 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
46662 Likewise.
46663
46664 * kern/i386/pc/startup.S (translation_table): New variable.
46665 (translate_keycode): New function.
46666 (pupa_console_getkey): Call translate_keycode.
46667
46668 * kern/rescue.c (attempt_normal_mode): New function.
46669 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
46670 it failed, print a message.
46671
46672 * kern/mm.c (pupa_real_malloc): Print more information when a
46673 free magic is broken.
46674 (pupa_free): If the first free header is not free actually, set
46675 it to P.
46676
46677 * kern/main.c (pupa_load_normal_mode): Just load the module
46678 "normal".
46679 (pupa_main): Don't print the message
46680 "Entering into rescue mode..." here.
46681
46682 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
46683 Declared.
46684 (pupa_rescue_cmd_initrd): Likewise.
46685 (pupa_rescue_cmd_initrd): Likewise.
46686
46687 * include/pupa/symbol.h (FUNCTION): Specify the type.
46688 (VARIABLE): Likewise.
46689
46690 * include/pupa/err.h (pupa_err_t): Added
46691 PUPA_ERR_UNKNOWN_COMMAND.
46692
46693 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
46694 (pupa_dl_get_prefix): Likewise.
46695
46696 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
46697 Added _chain.mod and _linux.mod instead of chain.mod and
46698 linux.mod.
46699 (chain_mod_SOURCES): Renamed to ...
46700 (_chain_mod_SOURCES): ... this.
46701 (chain_mod_CFLAGS): Renamed to ...
46702 (_chain_mod_CFLAGS): ... this.
46703 (linux_mod_SOURCES): Renamed to ...
46704 (_linux_mod_SOURCES): ... this.
46705 (linux_mod_CFLAGS): Renamed to ...
46706 (_linux_mod_CFLAGS): ... this.
46707 (normal_mod_SOURCES): New variable.
46708 (normal_mod_CFLAGS): Likewise.
46709 (normal_mod_ASFLAGS): Likewise.
46710
467112003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
46712
46713 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
46714 possible.
46715
fe6b695a 46716 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 46717 recursively.
46718 (pupa_dl_unref): Unrefer depending modules recursively.
46719 Don't call pupa_dl_unload implicitly, because PUPA can crash if
46720 a module is unloaded before one depending on that module is
46721 unloaded.
46722 (pupa_dl_unload): Unload depending modules explicitly,
46723 if possible.
46724
c04da074 467252003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
46726
46727 * include/pupa/i386/pc/linux.h: New file.
46728 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 46729
c04da074 46730 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
46731 Removed.
46732 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
46733 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
46734 of PUPA_CHAINLOADER_BOOT_SECTOR.
46735
46736 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
46737 (pupa_linux_prot_size): New variable.
46738 (pupa_linux_tmp_addr): Likewise.
46739 (pupa_linux_real_addr): Likewise.
46740 (pupa_linux_boot_zimage): New function.
46741 (pupa_linux_boot_bzimage): Likewise.
46742
46743 * kern/i386/pc/init.c (struct mem_region): New structure.
46744 (MAX_REGIONS): New macro.
46745 (mem_regions): New variable.
46746 (num_regions): Likewise.
46747 (pupa_os_area_addr): Likewise.
46748 (pupa_os_area_size): Likewise.
46749 (pupa_lower_mem): Likewise.
46750 (pupa_upper_mem): Likewise.
46751 (add_mem_region): New function.
46752 (compact_mem_regions): Likewise.
46753 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
46754 the size of the conventional memory and that of so-called upper
46755 memory (before the first memory hole).
46756 Instead of adding each found region to free memory, use
46757 add_mem_region and add them after removing overlaps.
46758 Also, add only 1/4 of the upper memory to free memory. The rest
46759 is used for loading OS images. Maybe this is ad hoc, but this
46760 makes it much easier to relocate OS images when booting.
46761
46762 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
46763 (pupa_enter_rescue_mode): Don't register initrd and module.
46764
46765 * kern/mm.c: Include pupa/dl.h.
46766
46767 * kern/main.c: Include pupa/file.h and pupa/device.h.
46768
46769 * kern/loader.c (pupa_loader_load_module_func): Removed.
46770 (pupa_loader_load_module): Likewise.
46771
46772 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
46773 ``.o''.
46774
46775 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
46776 (pupa_linux_tmp_addr): Likewise.
46777 (pupa_linux_real_addr): Likewise.
46778 (pupa_linux_boot_zimage): Likewise.
46779 (pupa_linux_boot_bzimage): Likewise.
46780
46781 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
46782 (pupa_upper_mem): Likewise.
46783 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
46784 module is too dangerous.
46785
46786 * include/pupa/loader.h (pupa_os_area_addr): Declared.
46787 (pupa_os_area_size): Likewise.
46788 (pupa_loader_set): Remove the first argument. Loader doesn't
46789 manage modules or initrd any longer.
46790 (pupa_loader_load_module): Removed.
46791
46792 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
46793 (linux_mod_SOURCES): New variable.
46794 (linux_mod_CFLAGS): Likewise.
46795
a13f9237 467962003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
46797
46798 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
46799 the length of a blocklist correctly.
46800
46801 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
46802 Use ioctl only if the OS file is a block device.
46803 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
46804 not very useful for normal files.
46805
46806 * kern/main.c (pupa_set_root_dev): New function.
46807 (pupa_load_normal_mode): Likewise.
46808 (pupa_main): Call those above.
46809
46810 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
46811 pupa_uint16_t.
46812
46813 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
46814
a5ffe966 468152003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
46816
46817 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
46818 (setup): Configure the installed partition information and the
46819 dl prefix.
46820
46821 * loader/i386/pc/chainloader.c (my_mod): New variable.
46822 (pupa_chainloader_unload): New function.
46823 (pupa_rescue_cmd_chainloader): Refer itself.
46824 (PUPA_MOD_INIT): Save its own module in MY_MOD.
46825
46826 * kern/i386/pc/startup.S (install_partition): Removed.
46827 (version_string): Likewise.
46828 (config_file): Likewise.
46829 (pupa_install_dos_part): New variable.
46830 (pupa_install_bsd_part): Likewise.
46831 (pupa_prefix): Likewise.
46832 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
46833
46834 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
46835 and pupa/misc.h.
46836 (make_install_device): New function.
46837 (pupa_machine_init): Set the dl prefix.
46838
46839 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
46840 (buf): Renamed to ...
46841 (linebuf): ... this.
46842 (pupa_rescue_cmd_prefix): New function.
46843 (pupa_rescue_cmd_insmod): Likewise.
46844 (pupa_rescue_cmd_rmmod): Likewise.
46845 (pupa_rescue_cmd_lsmod): Likewise.
46846 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
46847 rmmod and lsmod.
46848
46849 * kern/mm.c (pupa_memalign): If failed even after invalidating
46850 disk caches, unload unneeded modules and retry.
46851
46852 * kern/misc.c (pupa_memmove): New function.
46853 (pupa_memcpy): Removed.
46854 (pupa_strcpy): New function.
46855 (pupa_itoa): Made static.
46856
46857 * kern/dl.c (pupa_dl_iterate): New function.
46858 (pupa_dl_ref): Likewise.
46859 (pupa_dl_unref): Likewise.
46860 (pupa_dl_unload): Return if succeeded or not.
46861 (pupa_dl_unload_unneeded): New function.
46862 (pupa_dl_unload_all): Likewise.
46863 (pupa_dl_init): Renamed to ...
46864 (pupa_dl_set_prefix): ... this.
46865 (pupa_dl_get_prefix): New function.
46866
46867 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
46868 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
46869 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
46870 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
46871 (pupa_install_dos_part): Declared.
46872 (pupa_install_bsd_part): Likewise.
46873 (pupa_prefix): Likewise.
46874 (pupa_boot_drive): Likewise.
46875
46876 * include/pupa/types.h: Fix a typo.
46877
46878 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
46879 pupa_memmove.
46880 (pupa_memmove): Declared.
46881 (pupa_strcpy): Likewise.
46882
46883 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
46884 pupa_mod_init takes one argument, its own module.
46885 (pupa_dl_unload_unneeded): Declared.
46886 (pupa_dl_unload_all): Likewise.
46887 (pupa_dl_ref): Likewise.
46888 (pupa_dl_unref): Likewise.
46889 (pupa_dl_iterate): Likewise.
46890 (pupa_dl_init): Renamed to ...
46891 (pupa_dl_set_prefix): ... this.
46892 (pupa_dl_get_prefix): Declared.
46893
46894 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 46895 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 46896 unloaded.
46897 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
46898 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
46899
46900 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
46901 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
46902
012d7999 469032003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
46904
46905 * util/i386/pc/pupa-setup.c (setup): Define the internal
46906 function find_first_partition_start at the top level, because GCC
46907 3.0.x cannot compile internal functions in deeper scopes
46908 correctly.
46909 (find_root_device): Use lstat instead of stat.
46910 Don't follow symbolic links.
46911 Fix the path-constructing code.
46912
46913 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
46914 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
46915 by a BLKGETSIZE ioctl first, because block devices don't fill
46916 the member st_mode of the structure stat on Linux.
46917 [__linux__] (linux_find_partition): Use a temporary buffer
46918 REAL_DEV for the working space. Copy it to DEV before returning.
46919 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
46920 buffer cache consistent.
46921 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
46922 strncmp. The previous value was merely wrong.
46923 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
46924
46925 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
46926 FAT size is 12. The previous value was merely wrong.
46927
46928 * kern/main.c (pupa_main): Don't split the starting message from
46929 newlines.
46930
46931 * kern/term.c (pupa_putchar): Put CR after LF instead of before
46932 LF, because BIOS goes crazy about character attributes in this
46933 case.
46934
1cc73a62 469352003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
46936
46937 * include/i386/pc/util/biosdisk.h: New file.
46938 * util/i386/pc/biosdisk.c: Likewise.
46939 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 46940
1cc73a62 46941 * Makefile.in (INCLUDE_DISTFILES): Added
46942 include/pupa/i386/pc/util/biosdisk.h.
46943 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
46944 directory util/i386/pc.
46945 (install-local): Added a rule for sbin_UTILITIES.
46946 (uninstall): Likewise.
46947
46948 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
46949
46950 * util/misc.c (xrealloc): New function.
46951 (pupa_malloc): Likewise.
46952 (pupa_free): Likewise.
46953 (pupa_realloc): Likewise.
46954 (pupa_stop): Likewise.
46955 (pupa_putchar): Likewise.
46956
46957 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
46958
46959 * include/pupa/util/misc.h (xrealloc): Declared.
46960
46961 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
46962 macro.
46963 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
46964 (PUPA_BOOT_MACHINE_BPB_END): ... this.
46965
46966 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
46967 [PUPA_UTIL] (pupa_fat_fini): Likewise.
46968
46969 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
46970 way should be implemented.
46971 [PUPA_UTIL] (pupa_fat_fini): Likewise.
46972
46973 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
46974 the size of NAME for safety.
46975 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
46976 0x88.
46977
46978 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
46979 (pupa_setup_SOURCES): Likewise.
46980
46981 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
46982
08b70fe8 469832002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
46984
46985 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
46986 bunch of pushl's from pusha, because this destroys the return
46987 value.
46988
62ddcc8f 469892002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
46990
46991 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
46992 This means that any missing prototypes could be fatal. Also, you
46993 must take care when writing assembly code. See the comments at
46994 the beginning of startup.S, for more details.
f19dbdb7 46995
62ddcc8f 46996 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
46997 compilation mechanism.
46998 (pupa_chainloader_real_boot): Likewise.
46999 (pupa_biosdisk_rw_int13_extensions): Likewise.
47000 (pupa_biosdisk_rw_standard): Likewise.
47001 (pupa_biosdisk_check_int13_extensions): Likewise.
47002 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
47003 (pupa_biosdisk_get_diskinfo_standard): Likewise.
47004 (pupa_get_memsize): Likewise.
47005 (pupa_get_mmap_entry): Likewise.
47006 (pupa_console_putchar): Likewise.
47007 (pupa_console_setcursor): Likewise.
47008 (pupa_getrtsecs): Use pushl instead of push.
47009
47010 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
47011 memory instead of the stack for a mmap entry, because some
47012 BIOSes may ignore the maximum size and overflow.
47013
47014 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
47015
47016 * genmk.rb (PModule#rule): Compile automatically generated
47017 sources with module-specific CFLAGS as well as other sources.
47018
9962ed99 470192002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
47020
47021 * configure.ac: Check ld.
47022 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
47023 respectively, before checking endianness and sizes.
47024
47025 * Makefile.in (LD): New variable.
f19dbdb7 47026
abdfc3c5 470272002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
47028
47029 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
47030
6a161fa9 470312002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
47032
47033 * Changelog: New file.
47034