]> git.proxmox.com Git - grub2.git/blame - ChangeLog
Backport gnulib fixes for C11. Fixes Savannah bug #37738.
[grub2.git] / ChangeLog
CommitLineData
7024b3c0
CW
12012-12-28 Colin Watson <cjwatson@ubuntu.com>
2
3 Backport gnulib fixes for C11. Fixes Savannah bug #37738.
4
5 * grub-core/gnulib/stdio.in.h (gets): Warn on use only if
6 HAVE_RAW_DECL_GETS.
7 * m4/stdio_h.m4 (gl_STDIO_H): Check for gets.
8
e3501b13
VS
92012-12-11 Vladimir Serbinenko <phcoder@gmail.com>
10
11 * util/grub.d/20_linux_xen.in: Addmissing assignment to machine.
12 Reported by: Eriks Latosheks <foresterlv>.
13
b40c88a9
VS
142012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
15
16 * docs/grub.texi (Network): Update instructions on generating netboot
17 image.
18
ce96d01c
VS
192012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
20
21 * grub-core/disk/cryptodisk.c (grub_cmd_cryptomount): Strip brackets
22 around device name if necessarry.
23
0f596201
PFS
242012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
25
26 * util/grub-install.in: Follow the symbolic link parameter added
27 to the file command.
28
600d5bdb
AB
292012-12-10 Andrey Borzenkov <arvidjaar@gmail.com>
30
31 * util/grub-install.in: Remove stale TODO.
32
64ebd2f4
PFS
332012-12-10 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
34
35 * grub-core/kern/ieee1275/init.c (grub_machine_get_bootlocation): Use
36 dynamic allocation for the bootpath buffer.
37
74b2fe3e
DTB
382012-12-10 Dr. Tilmann Bubeck <t.bubeck@reinform.de>
39
40 * grub-core/gfxmenu/view.c (init_terminal): Avoid making terminal
41 window too small.
42
969b804f
VS
432012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
44
45 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Get font as
46 argument rather than font name. All users updated.
47 (grub_gfxterm_set_window): Likewise.
48
b9f5ebd6
VT
492012-12-10 Vladimir Testov <vladimir.testov@rosalab.ru>
50
51 * util/grub-mkfont.c (argp_parser): Fix a typo which prevented --asce
52 from working.
53
258f43b7
VS
542012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
55
56 * util/getroot.c (convert_system_partition_to_system_disk): Support
57 nbd disks.
58
cc1ce5f9
VS
592012-12-10 Vladimir Serbinenko <phcoder@gmail.com>
60
61 * grub-core/fs/ufs.c (grub_ufs_dir): Stop if direntlen is 0 to avoid
62 infinite loop on corrupted FS.
63
e77a16ca
VS
642012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
65
66 Fix big-endian mtime.
67
68 * grub-core/fs/ufs.c (grub_ufs_inode): Split improperly attached
69 together sec and usec.
70 (grub_ufs_dir): Use correct byteswapping for UFS time.
71
d9c48c7b
VS
722012-12-08 Vladimir Serbinenko <phcoder@gmail.com>
73
74 Support big-endian UFS1.
75
76 * Makefile.util.def (libgrubmods): Add ufs_be.c
77 * grub-core/Makefile.core.def (ufs1_be): New module.
78 * grub-core/fs/ufs_be.c: New file.
79 * grub-core/fs/ufs.c: Declare grub_ufs_to_le* and use them throughout
80 the file.
81
2f9f40ba
LL
822012-11-28 Leif Lindholm <leif.lindholm@arm.com>
83
84 * include/grub/types.h: Fix functionality unaffecting typo in
85 GRUB_TARGET_WORDSIZE conditional macro.
86
48ff0889
PFS
872012-11-28 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
88
89 * grub-core/net/bootp.c (parse_dhcp_vendor): Fix double increment.
90
03711240
GS
912012-10-28 Grégoire Sutre <gregoire.sutre@gmail.com>
92
93 * util/grub.d/10_netbsd.in: Fix tab indentation and make sure
94 that /netbsd appears first (when it exists).
95
a31b11bd
CJ
962012-10-12 Christoph Junghans <ottxor@gentoo.org>
97
98 * grub-core/Makefile.am (moddep.lst): Use $(AWK) rather than awk.
99 Fixes Savannah bug #37558.
100
e8a5d5d4
CW
1012012-10-12 Colin Watson <cjwatson@ubuntu.com>
102
103 * grub-core/commands/configfile.c (GRUB_MOD_INIT): Correct
104 description of extract_entries_configfile.
105
1062012-10-05 Colin Watson <cjwatson@ubuntu.com>
39525c22
CW
107
108 * grub-core/loader/i386/linux.c (allocate_pages): Fix spelling of
109 preferred_address.
110 (grub_cmd_linux): Likewise.
111 * grub-core/net/icmp6.c (struct prefix_option): Fix spelling of
112 preferred_lifetime. Update all users.
113
288c757d
CW
1142012-09-26 Colin Watson <cjwatson@ubuntu.com>
115
116 * Makefile.util.def (grub-mknetdir): Move to $prefix/bin.
117 Reported by: Daniel Kahn Gillmor. Fixes Debian bug #688799.
118
0d35da3f
CW
1192012-09-26 Colin Watson <cjwatson@ubuntu.com>
120
121 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Redirect
122 errors from grub-probe to /dev/null, not stdout.
123
b78c3127
VS
1242012-09-26 Vladimir Serbinenko <phcoder@gmail.com>
125
126 * grub-core/fs/affs.c (grub_affs_mount): Support AFFS bootblock in
127 sector 1.
128
473959f0
CW
1292012-09-24 Colin Watson <cjwatson@ubuntu.com>
130
131 * util/grub-install.in: Make the error message if $source_dir
132 doesn't exist more useful.
133
794c8c33
CW
1342012-09-22 Colin Watson <cjwatson@ubuntu.com>
135
136 Fix grub-emu build on FreeBSD.
137
138 * Makefile.util.def (grub-mount): Add LIBGEOM to ldadd.
139 * grub-core/net/drivers/emu/emunet.c: Only include Linux-specific
140 headers on Linux.
141 (GRUB_MOD_INIT): Return immediately on non-Linux platforms; this
142 implementation is currently Linux-specific.
143 * util/getroot.c (exec_pipe): Define only on Linux or when either
144 libzfs or libnvpair is unavailable.
145 (find_root_devices_from_poolname): Remove unused path variable.
146
86d08fdb
CW
1472012-09-19 Colin Watson <cjwatson@ubuntu.com>
148
149 * grub-core/partmap/msdos.c (pc_partition_map_embed): Revert
150 incorrect off-by-one fix from 2011-02-12. A 62-sector core image
151 should fit before end == 63.
152
735abf54
CW
1532012-09-19 Colin Watson <cjwatson@ubuntu.com>
154
155 * util/grub-setup.c (write_rootdev): Remove unused core_img
156 parameter. Update all callers.
157 (setup): Define core_sectors only if GRUB_SETUP_BIOS, to appease
158 'gcc -Wunused-but-set-variable'. Remove unnecessary nested #ifdef
159 GRUB_SETUP_BIOS.
160
140acd3c
VS
1612012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
162
163 * util/grub-mkconfig_lib.in (grub_tab): New variable.
164 (grub_add_tab): New function.
165 * util/grub.d/10_hurd.in: Replace \t with $grub_tab orgrub_add_tab.
166 * util/grub.d/10_illumos.in: Likewise.
167 * util/grub.d/10_kfreebsd.in: Likewise.
168 * util/grub.d/10_linux.in: Likewise.
169 * util/grub.d/10_netbsd.in: Likewise.
170 * util/grub.d/10_windows.in: Likewise.
171 * util/grub.d/10_xnu.in: Likewise.
172 * util/grub.d/20_linux_xen.in: Likewise.
173 * util/grub.d/30_os-prober.in: Likewise.
174
7ddffdad
VS
1752012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
176
177 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
178 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN on mac.
179 * grub-core/term/ieee1275/console.c (grub_console_init_lately): Use
180 ieee1275-nocursor if GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN is set.
181 * grub-core/term/terminfo.c (grub_terminfo_set_current): Add new type
182 ieee1275-nocursor.
183 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
184 GRUB_IEEE1275_FLAG_CURSORONOFF_ANSI_BROKEN.
185
4e092454
VS
1862012-09-18 Vladimir Serbinenko <phcoder@gmail.com>
187
188 * grub-core/loader/i386/linux.c (grub_cmd_linux): Fix incorrect
189 le-conversion.
190 Reported by: BURETTE, Bernard.
191
735abf54 1922012-09-17 Colin Watson <cjwatson@ubuntu.com>
a2fc3924
CW
193
194 * util/grub-mkconfig_lib.in (grub_quote): Remove outdated sentence
195 from comment.
196
dfd39dbd
CW
1972012-09-14 Colin Watson <cjwatson@ubuntu.com>
198
199 * grub-core/term/terminfo.c: Only fix up powerpc key repeat on
200 IEEE1275 machines. Fixes powerpc-emu compilation.
201 * include/grub/terminfo.h: Likewise.
202
3bfa763c
VS
2032012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
204
205 * include/grub/efi/api.h (grub_efi_runtime_services): Make vendor_guid
206 a const pointer.
207 * grub-core/efiemu/runtime/efiemu.c (efiemu_memcpy): Make from a
208 const pointer.
209 (efiemu_set_variable): Make vendor_guid a const pointer.
210
250e475b
VS
2112012-09-12 Vladimir Serbinenko <phcoder@gmail.com>
212
213 Don't require grub-mkconfig_lib to generate manpages for programs.
214
215 * gentpl.py (manpage): Additional argument adddeps. Add adddeps to
216 dependencies, don't add grub-mkconfig_lib.
217 (program): Pass empty adddeps.
218 (script): Pass grub-mkconfig_lib as adddeps.
219
592fd0e4
VS
2202012-09-11 Vladimir Serbinenko <phcoder@gmail.com>
221
222 * grub-core/disk/diskfilter.c (free_array) [GRUB_UTIL]: Fix memory leak.
223 * util/getroot.c (grub_find_device): Likewise.
224 (get_mdadm_uuid): Likewise.
225 (grub_util_is_imsm): Likewise.
226 (grub_util_pull_device): Likewise.
227 * util/grub-probe.c (probe): Likewise.
228
801a3027
BG
2292012-09-10 Benoit Gschwind <gschwind>
230
231 * grub-core/loader/efi/appleloader.c (devpath_8): New var.
232 (devs): Add devpath_8.
233
c5052c81
PJ
2342012-09-08 Peter Jones <pjones@redhat.com>
235
236 * grub-core/Makefile.core.def (efifwsetup): New module.
237 * grub-core/commands/efi/efifwsetup.c: New file.
238 * grub-core/kern/efi/efi.c (grub_efi_set_variable): New function
239 * include/grub/efi/api.h (GRUB_EFI_OS_INDICATIONS_BOOT_TO_FW_UI):
240 New define.
241 * include/grub/efi/efi.h (grub_efi_set_variable): New proto.
242
8e832f71
JS
2432012-09-05 Jiri Slaby <jslaby@suse.cz>
244
245 * configure.ac: Add SuSe path.
246
f0f55752
CW
2472012-09-05 Colin Watson <cjwatson@ubuntu.com>
248
249 * NEWS: Fix typo.
250
ecadc4c2
CW
2512012-09-05 Colin Watson <cjwatson@ubuntu.com>
252
253 * util/import_gcry.py: Sort cipher_files, to make build system
254 generation more deterministic.
255
64498f25
VS
2562012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
257
258 * grub-core/disk/ieee1275/ofdisk.c (scan): Check function return value.
259 * grub-core/lib/ieee1275/datetime.c (grub_get_datetime): Likewise.
260 (grub_set_datetime): Likewise.
261
9cc836a2
VS
2622012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
263
264 * grub-core/script/yylex.l: Ignore unused-function and sign-compare
265 warnings.
266
bcfcea01
VS
2672012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
268
269 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Add missing byteswap.
270
a4099485
VS
2712012-09-05 Vladimir Serbinenko <phcoder@gmail.com>
272
273 * grub-core/fs/xfs.c (grub_xfs_read_block): Make keys a const pointer.
274
265c162a
CW
2752012-09-04 Colin Watson <cjwatson@ubuntu.com>
276
277 * Makefile.am (EXTRA_DIST): Add linguas.sh. It's only strictly
278 required for checkouts from bzr, but it may be useful for users or
279 distributors wishing to update translations against a tarball
280 distribution, and it can be helpful for the tarball to be a superset
281 of what's in bzr.
282
3d171e95
CW
2832012-09-04 Colin Watson <cjwatson@ubuntu.com>
284
285 * Makefile.am (EXTRA_DIST): Add
286 grub-core/tests/boot/linux.init-mips.S,
287 grub-core/tests/boot/linux.init-ppc.S, and
288 grub-core/tests/boot/linux-ppc.cfg.
289
f2c2503e
CW
2902012-09-04 Colin Watson <cjwatson@ubuntu.com>
291
292 * grub-core/mmap/mips/loongson: Remove empty directory.
293
2942012-09-04 Colin Watson <cjwatson@ubuntu.com>
dd77d2be
CW
295
296 * docs/man/grub-mkdevicemap.h2m: Remove, since grub-mkdevicemap is
297 gone.
298
ab2163d5
CW
2992012-09-04 Colin Watson <cjwatson@ubuntu.com>
300
301 * .bzrignore: Add grub-bios-setup, grub-ofpathname, and
302 grub-sparc64-setup.
303
ce938140
GS
3042012-08-05 Grégoire Sutre <gregoire.sutre@gmail.com>
305
306 * configure.ac: Strengthen the test for working -nostdinc -isystem.
307
529f58a5
GS
3082012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
309
310 * po/POTFILES.in: Regenerated.
311
16cf79e9
GS
3122012-07-31 Grégoire Sutre <gregoire.sutre@gmail.com>
313
314 * docs/grub.texi: Note that NetBSD/i386 is Multiboot-compliant.
315 (NetBSD): New subsection.
316
39b27f1e 3172012-07-22 Ales Nesrsta <starous@volny.cz>
318
319 * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
320 * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
321
a885261b
VS
3222012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
323
324 * util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
325 * util/grub.d/10_hurd.in: Add missing quoting.
326 * util/grub.d/10_illumos.in: Likewise.
327 * util/grub.d/10_kfreebsd.in: Likewise.
328 * util/grub.d/10_linux.in: Likewise.
329 * util/grub.d/20_linux_xen.in: Likewise.
330
7bd29c01
VS
3312012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
332
333 New command `lsefi'.
334
335 * grub-core/Makefile.core.def (lsefi): New module.
336 * grub-core/commands/efi/lsefi.c: New file.
337 * include/grub/efi/api.h: Add more GUIDs.
338
ac625d8f
VS
3392012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
340
341 * grub-core/loader/i386/bsd.c (grub_bsd_elf32_size_hook): Fix mask.
342 (grub_bsd_elf32_hook): Likewise.
343 (grub_bsd_elf64_size_hook): Likewise.
344 (grub_bsd_elf64_hook): Likewise.
345 (grub_bsd_load_elf): Likewise.
346
e73bb801
VS
3472012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
348
349 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Fix behaviour
350 if hash function is unavailable.
351 (dec_stream_header): Likewise.
352
e81db8b5
VS
3532012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
354
355 * grub-core/normal/autofs.c (autoload_fs_module): Save and restore
356 filter state.
357
d187a1c3
VS
3582012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
359
360 Fix coreboot compilation.
361
362 * grub-core/term/i386/pc/vga_text.c (grub_vga_text_init): Rename to ...
363 (grub_vga_text_init_real): ... this.
364 (grub_vga_text_fini): Rename to ...
365 (grub_vga_text_fini_real): ... this.
366
91a05f64
VS
3672012-07-07 Vladimir Serbinenko <phcoder@gmail.com>
368
369 * grub-core/Makefile.am: Fix path to boot/i386/pc/startup_raw.S.
370
6af96df7
VS
3712012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
372
373 * grub-core/lib/legacy_parse.c: Support clear and testload.
374
4d569e12
VS
3752012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
376
377 * grub-core/term/efi/serial.c: Support 1.5 stop bits.
378
073b57bb
VS
3792012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
380
381 * grub-core/fs/ext2.c: Experimental support for 64-bit.
382
a706f4cc
VS
3832012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
384
385 * grub-core/net/tftp.c (ack): Fix endianness problem.
386 (tftp_receive): Likewise.
387 Reported by: Michael Davidsaver.
388
e7850aa9
VS
3892012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
390
391 * gentpl.py: Make mans depend on grub-mkconfig_lib.
392
3932012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
394
395 * include/grub/list.h (FOR_LIST_ELEMENTS_SAFE): New macro.
396 * include/grub/command.h (FOR_COMMANDS_SAFE): Likewise.
397 * grub-core/commands/help.c (grub_cmd_help): Use FOR_COMMANDS_SAFE.
398
35692881
VS
3992012-07-02 Vladimir Serbinenko <phcoder@gmail.com>
400
401 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Don't decrease
402 efi_mmap_size.
403 Reported by: Stuart Hayes.
404
c35fc5bd
VS
4052012-06-28 Vladimir Serbinenko <phcoder@gmail.com>
406
407 Add monochrome text support (mda_text, aka `hercules' in grub-legacy).
408
409 * grub-core/Makefile.core.def (mda_text): New module.
410 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Support `hercules'.
411 * grub-core/term/i386/vga_common.c (grub_console_cur_color): Moved to ..
412 * grub-core/term/i386/pc/vga_text.c (cur_color): ... here
413 * grub-core/term/i386/pc/console.c (grub_console_cur_color): ... and
414 here.
415 * grub-core/term/i386/vga_common.c (grub_console_getwh): Moved to ..
416 * grub-core/term/i386/pc/vga_text.c (grub_console_getwh): ... here
417 * grub-core/term/i386/pc/console.c (grub_console_getwh): ... and
418 here.
419 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate): Moved
420 to ..
421 * grub-core/term/i386/pc/vga_text.c (grub_console_setcolorstate):
422 ... here
423 * grub-core/term/i386/pc/console.c (grub_console_setcolorstate): ... and
424 here.
425 * grub-core/term/i386/vga_common.c: Removed.
426 * include/grub/i386/vga_common.h: Likewise.
427 * include/grub/vga.h (grub_vga_cr_bw_write): New function.
428 (grub_vga_cr_bw_read): Likewise.
429 * include/grub/vgaregs.h (GRUB_VGA_IO_CR_BW_INDEX): New enum value.
430 (GRUB_VGA_IO_CR_BW_DATA): Likewise.
431 * grub-core/term/i386/pc/vga_text.c [MODE_MDA]: Call
432 grub_vga_cr_bw_read/grub_vga_cr_bw_write instead of
433 grub_vga_cr_read/grub_vga_cr_write.
434 (grub_vga_text_setcolorstate) [MODE_MDA]: Ignore color.
435
5f91f701
VS
4362012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
437
438 * configure.ac: Bump version to 2.00.
439 * grub-core/normal/main.c (features): Add feature_200_final.
440
0c4f85f6
VS
4412012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
4422012-06-27 Jordan Uggla <jordan.uggla@gmail.com>
443
444 * NEWS: Fix unclarity and language mistakes.
445
f923ad22
VS
4462012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
447
448 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Increase
449 additional size to 3 pages.
450 Reported by: Stuart Hayes.
451
d22029ba
VS
4522012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
453
454 * NEWS: Add 2.00 entry.
455
58eee08f
VS
4562012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
457
458 * grub-core/commands/wildcard.c (check_file): Fix bad logic.
459 put explicit "/" for empty path.
460 (wildcard_expand): Improve dprintf.
461
c59bdff7
VS
4622012-06-27 Vladimir Serbinenko <phcoder@gmail.com>
463
464 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Don't free oldnode if
465 it's equal to currnode. This can happen with "" symlink.
466
5e6a440a
YB
4672012-06-27 Yves Blusseau <blusseau@zetam.org>
468
469 * util/grub-mkconfig_lib.in: Fix print messages replacing builtin
470 echo shell command by printf command.
471
73a68bcb
VS
4722012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
473
474 * grub-core/term/arc/console.c (grub_console_init_output): Add one since
475 the value returned by firmware is the maximal position, not diumension.
476 (grub_terminfo_output_state): Use a more sane fallback.
477
392a603b
VS
4782012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
479
480 * grub-core/term/terminfo.c (print_terminfo): Print terminal dimensions.
481
42d0867f
VS
4822012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
483
484 * grub-core/kern/mips/arc/init.c (grub_machine_init): Set clock
485 frequency to 150 MHz.
486
489509f4
VS
4872012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
488
489 Apple fixes.
490
491 * grub-core/lib/i386/relocator16.S: Use correct __APPLE__ and not
492 __APPLE_
493 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Fix gdtdesc
494 definition.
495 * grub-core/lib/i386/relocator64.S [__APPLE__]: Assemble jmp manually.
496
9f3fc883
VS
4972012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
498
499 Handle slash in HFS label.
500
501 * grub-core/fs/hfs.c (macroman_to_utf8): New argument slash_translate.
502 (grub_hfs_dir): Tanslate slash.
503 (grub_hfs_label): Don't translate slash.
504
54853fd7
VS
5052012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
506
507 * grub-core/commands/ls.c (grub_ls_list_devices): Disable
508 network protocol listing since it introduces problematic dependency on
509 net module.
510
4dc02ddf
VS
5112012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
512
513 * util/grub-mkimage.c (generate_image): Add Yeeloong verified hash.
514
c50c867d
VS
5152012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
516
517 Init video early on yeeloong to avoid being rebooted by watchdog.
518
519 * grub-core/Makefile.am (gensm712): New target.
520 (sm712_start.S): Likewise.
521 (boot/mips/loongson/fwstart.S): Depend on sm712_start.S
522 * grub-core/boot/mips/loongson/fwstart.S [!FULOONG2F]: Init SM712.
523 * grub-core/video/sm712.c [GENINIT]: Generate compact init procedure
524 description.
525 * include/grub/vga.h: Move registry definitions to...
526 * include/grub/vgaregs.h: ... here.
527
5f92c8a1
VS
5282012-06-26 Vladimir Serbinenko <phcoder@gmail.com>
529
530 * grub-core/boot/decompressor/minilib.c (grub_memcmp): Fix the compare
531 signedness.
532
e9e6f111
VS
5332012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
534
535 * util/grub-install.in: Fix dvhtool invocation. Add arc to the list of
536 platforms with firmware disk drivers in the core.
537
754ad9eb
VS
5382012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
539
540 * grub-core/disk/diskfilter.c (scan_disk) [GRUB_UTIL]: Put more
541 informative verbose message.
542 (read_lv): Handle 64-bit segment size.
543
315654c2
VS
5442012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
545
546 * grub-core/disk/lvm.c (grub_lvm_getvalue): Handle 64-bit values.
547
fb022c79
VS
5482012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
549
550 * grub-core/fs/fat.c (grub_fat_iterate_dir_next): Don't stop on a space
551 character but still remove trainling spaces.
552 (grub_fat_label): Ignore archive flag.
553
8645f72c
VS
5542012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
555
556 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Avoid unnecessarry
557 cast between linux_kernel_header and linux_kernel_params.
558
36498496
VS
5592012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
560
561 * include/grub/diskfilter.h (grub_raid5_recover_func_t): Use proper
562 type for size.
563 (grub_raid6_recover_func_t): Likewise.
564 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Likewise.
565 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
566
0b5ea6b8
VS
5672012-06-25 Vladimir Serbinenko <phcoder@gmail.com>
568
569 * util/grub-mkimage.c (generate_image): Add Fuloong2F verified hash.
570
650cfcfe
GS
5712012-06-25 Grégoire Sutre <gregoire.sutre@gmail.com>
572
573 Fix overflow.
574
575 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size)
576 [__NetBSD__]: Add explicit cast before bitshift.
577
8a4d6a44
VS
5782012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
579
580 * configure.ac: Bump to 2.00~rc1.
581
2fb97ed3
VS
5822012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
583
584 * grub-core/boot/mips/loongson/fwstart.S: Add missing setting of high
585 half of $a0.
586
1fa097dc
VS
5872012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
5882012-06-23 Jordan Uggla <jordan.uggla@gmail.com>
589
590 * docs/grub.texi: Fix search syntax.
591 (Multi-boot manual config): Put msdos rather than GPT example.
592 Grammar corrections.
593
c890ba78
VS
5942012-06-23 Vladimir Serbinenko <phcoder@gmail.com>
595
596 * docs/grub.texi (Multi-boot manual config): Use --set. Improve remark.
597
0f92dca7
VS
5982012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
599
600 * grub-core/kern/mm.c (grub_free): Fix agglomerating of free regions.
601
3988c4a0
VS
6022012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
603
604 * grub-core/kern/mm.c (get_header_from_pointer): Put a more informative
605 message on double free. Put the value of magic in case of mismatch.
606
9e86d4c5
VS
6072012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
608
609 Speed-up video on yeeloong.
610
611 * grub-core/video/sm712.c (framebuffer): Remove render_target and
612 add cached_ptr.
613 (grub_video_sm712_video_fini): Unmap cached_ptr.
614 (grub_video_sm712_setup): Use cache address and grub_video_fb_setup.
615 (grub_video_sm712_set_active_render_target): Removed.
616 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
617 (grub_video_sm712_swap_buffers): Call grub_video_fb_swap_buffers and
618 sync caches.
619
ed24c312
VS
6202012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
621
622 Avoid flushing the same line multiple times on loongson.
623
624 * grub-core/kern/mips/cache.S [GRUB_MACHINE_MIPS_LOONGSON]:
625 Step in 32 bytes and not 1 byte.
626 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]:
627 Likewise.
628
d1718e7d
VS
6292012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
630
631 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle btrfs
632 subvolumes.
633
982f1909
VS
6342012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
635
636 Implement flow control for http.
637
638 * grub-core/net/http.c (parse_line): Handle response 206.
639 (http_receive): Stall if too many packets are in the queue.
640 (http_establish): Fix range header.
641 (http_seek): Fix double free.
642 (http_close): Likewise.
643 (http_packets_pulled): New function.
644 (grub_http_protocol): Set http_seek
645 * grub-core/net/tcp.c (grub_net_tcp_socket): New field `i_stall'.
646 (ack_real): Set window depending on i_stall.
647 (grub_net_send_tcp_packet): Likewise.
648 (grub_net_tcp_stall): New function.
649 (grub_net_tcp_unstall): Likewise.
650 * include/grub/net/tcp.h (grub_net_tcp_stall): New proto.
651 (grub_net_tcp_unstall): Likewise.
652
bd407d6e
VS
6532012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
654
655 * grub-core/net/tftp.c: Decrease stall to 50 packets.
656
c7564b8e
VS
6572012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
658
659 * grub-core/net/net.c (grub_net_fs_open): Free resources on failed open.
660
a3706162
VS
6612012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
662
663 * tests/util/grub-shell.in: Fix a typo.
664
b27069e0
VS
6652012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
666
667 Implement flow control for tftp.
668
669 * grub-core/net/net.c (receive_packets): Decrease the stop to 10
670 packets but stop only if stop condition is satisfied.
671 (grub_net_fs_read_real): Call packets_pulled after real read. Use
672 `stall' instead of `eof' as stop condition.
673 * grub-core/net/http.c (parse_line): Set `stall' on EOF.
674 (http_err): Likewise.
675 * grub-core/net/tftp.c (ack): Replace the first argument with data
676 instead of socket.
677 (tftp_receive): Stall if too many packets are in wait queue.
678 (tftp_packets_pulled): New function.
679 (grub_tftp_protocol): Set packets_pulled.
680 * include/grub/net.h (grub_net_packets): New field count.
681 (grub_net_put_packet): Increment count.
682 (grub_net_remove_packet): Likewise.
683 (grub_net_app_protocol): New field `packets_pulled'.
684 (grub_net): New field `stall'.
685
6b9cfac6
VS
6862012-06-22 Vladimir Serbinenko <phcoder@gmail.com>
687
688 * grub-core/net/net.c (receive_packets): Stop after 100 packets to let
689 sync part to handle them.
690
f35abd81
VS
6912012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
692
693 * grub-core/kern/main.c (grub_set_prefix_and_root): Fix memory leak.
694 * grub-core/net/drivers/ieee1275/ofnet.c
695 (grub_ieee1275_net_config_real): Likewise.
696
0e7ec820
VS
6972012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
698
699 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Don't create
700 the direct route for server/gateway.
701
9d611a31
VS
7022012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
703
704 * grub-core/net/bootp.c (grub_net_configure_by_dhcp_ack): Prefer
705 IP address to server name since we may not hame the DNS.
706
418f45ab
VS
7072012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
708
709 * grub-core/net/dns.c (grub_cmd_nslookup): Init addresses to 0 to avoid
710 freeing random buffer on failure.
711 * grub-core/net/net.c (grub_net_resolve_address): Likewise.
712
44a0efc1
VS
7132012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
714
715 * grub-core/net/bootp.c (grub_cmd_bootp): Fix packet allocation size.
716
531e2241
VS
7172012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
718
719 * grub-core/net/drivers/emu/emunet.c (get_card_packet): Allocate the
720 reserved bytes.
721 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Likewise.
722 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Likewise.
723 Handle malloc error correctly.
724
cde393c9
VS
7252012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
726
727 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
728 blocks.
729
538478d0
VS
7302012-06-21 Vladimir Serbinenko <phcoder@gmail.com>
731
732 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix double
733 increment.
734
9b55efe0
VS
7352012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
736
737 * grub-core/net/dns.c (grub_cmd_nslookup): Use configured DNS servers if
738 none is explicitly specified.
739
9eb832c3
VS
7402012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
741
742 * grub-core/net/dns.c (grub_net_add_dns_server): Don't erase old servers
743 while reallocating.
744
d6b7c7c9
VS
7452012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
746
747 Respect netmask from bootp/dhcp.
748
749 * grub-core/net/bootp.c (parse_dhcp_vendor): Parse mask.
750 (grub_net_configure_by_dhcp_ack): Use mask and grub_net_add_ipv4_local.
751 * grub-core/net/net.c (grub_net_add_addr): Split creating local route
752 into ...
753 (grub_net_add_ipv4_local): ... this.
754 (grub_cmd_addaddr): Use grub_net_add_ipv4_local.
755 * include/grub/net.h (GRUB_NET_BOOTP_NETMASK): New enum value.
756 (grub_net_add_ipv4_local): New proto.
757
67caf9eb
VS
7582012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
759
760 * grub-core/loader/i386/linux.c (grub_linux_boot): Setup video before
761 determining EFI memory map size.
762
43657558
VS
7632012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
764
765 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Escape commas.
766
eb6d0dd3
VS
7672012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
768
769 * grub-core/kern/main.c (grub_set_prefix_and_root): Skip escaped commas
770 when looking for partition separator.
771
31230544
VS
7722012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
773
774 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
775 Escape commas.
776
918a2517
VS
7772012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
778
779 Restructure FAT driver to avoid hook in label reading as it hits a
780 GCC bug.
781
782 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_EOF.
783 * grub-core/fs/fat.c (grub_fat_iterate_context): New struct.
784 (grub_fat_iterate_dir): Split into ...
785 (grub_fat_iterate_init): ... this, ...
786 (grub_fat_iterate_fini): ... this, ...
787 (grub_fat_iterate_dir_next): ... and this. All users updated.
788
9f1d654e
VS
7892012-06-20 Vladimir Serbinenko <phcoder@gmail.com>
790
791 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
792 GRUB_IEEE1275_FLAG_BROKEN_REPEAT.
793 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
794 GRUB_IEEE1275_FLAG_BROKEN_REPEAT on PowerBook3,3.
795 * include/grub/terminfo.h (grub_terminfo_input_state) [__powerpc__]:
796 New fields last_key and last_key_time.
797 * grub-core/term/terminfo.c (grub_terminfo_getkey): Transform
798 extended key-esc into extended key-extended key.
799
52f0f643
VS
8002012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
801
802 Avoid unnecessary memcpy of whole video buffer.
803
804 * grub-core/video/fb/video_fb.c (dirty): New struct.
805 (framebuffer): Add members current_dirty and previous_dirty.
806 (dirty): New function.
807 (grub_video_fb_fill_rect): Update dirty.
808 (common_blitter): Likewise.
809 (grub_video_fb_scroll): Likewise.
810 (doublebuf_blit_update_screen): Copy only dirty part.
811 (doublebuf_pageflipping_update_screen): Likewise.
812 (grub_video_fb_doublebuf_blit_init): Init dirty.
813 (doublebuf_pageflipping_init): Likewise.
814 (grub_video_fb_setup): Likewise.
815
e169a180
VS
8162012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
817
818 * grub-core/net/drivers/ieee1275/ofnet.c (search_net_devices): Decrease
819 poll rate.
820
48556879
VS
8212012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
822
823 Fix wildcard regexp dot and other special characters handling.
824 Reported by: Robert Mabee.
825
826 * grub-core/commands/wildcard.c (isregexop): Add "|+{}[]?".
827 (make_regex): Escape "|+{}[]". Transform '?' to '.?'.
828 (split_path): Trigger expansion on '?'.
829 (unescape): New function.
830 (wildcard_expand): Unescape parts copied without globbing.
831 * grub-core/script/execute.c (wildcard_escape): Escape '?'.
832 (grub_script_arglist_to_argv): Don't unescape expansions.
833
0494408e
VS
8342012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
835
836 * include/grub/net.h (grub_net_card): New member txbufsize.
837 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum values
838 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
839 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN.
840 * grub-core/net/drivers/efi/efinet.c (grub_efinet_findcards): Use
841 txbufsize.
842 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Use
843 compatible property to check for macs. Set
844 GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX and
845 GRUB_IEEE1275_FLAG_VIRT_TO_REAL_BROKEN on macs.
846 * grub-core/net/drivers/ieee1275/ofnet.c (card_open): Don't add suffix
847 if GRUB_IEEE1275_FLAG_NO_OFNET_SUFFIX is set.
848 (send_card_buffer): Use txbuf.
849 (grub_ofnet_findcards): Allocate txbuf. Simplify code flow and move
850 nested function out of the parent while on it.
851
cc35fe8f
VS
8522012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
853
854 * grub-core/net/drivers/ieee1275/ofnet.c (get_card_packet): Fix packet
855 presence check.
856 (grub_ieee1275_net_config_real): Fix config pointer.
857
970a0a09
VS
8582012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
859
860 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Extend
861 filename parsing to non-block devices.
862
3e19bf87
VS
8632012-06-19 Vladimir Serbinenko <phcoder@gmail.com>
864
865 * grub-core/kern/device.c (grub_device_open): Remove dead code.
866
c62d1a0c
VS
8672012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
868
869 * include/grub/elf.h: Rename R_PPC to GRUB_R_PPC to avoid collisions.
870 All users updated.
871
ef76bec3
VS
8722012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
873
874 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Generate
875 UUID search command even if hints probing failed.
876
8772012-06-18 Vladimir Serbinenko <phcoder@gmail.com>
555c786d
VS
878
879 * po/POTFILES.in: Regenerated.
880
70aaf305
VS
8812012-06-17 Vladimir Serbinenko <phcoder@gmail.com>
882
883 Speed-up video on fuloong.
884
885 * grub-core/bus/bonito.c (grub_pci_device_map_range_cached):
886 New function.
887 (grub_pci_device_unmap_range): Handle non-cached address.
888 * grub-core/video/sis315pro.c (framebuffer): Remove render_target and
889 add direct_ptr.
890 (grub_video_sis315pro_video_fini): Unmap direct_ptr.
891 (grub_video_sis315pro_setup): Use cache address and grub_video_fb_setup.
892 (grub_video_sis315pro_set_active_render_target): Removed.
893 (grub_video_sis315pro_get_info_and_fini): Use uncached address.
894 (grub_video_adapter): Use grub_video_fb_set_active_render_target.
895 (grub_video_sis315pro_swap_buffers): Call grub_video_fb_swap_buffers and
896 sync caches.
897 * include/grub/mips/loongson/pci.h (grub_pci_device_map_range_cached):
898 New proto.
899
10400f0b
VS
9002012-06-16 Vladimir Serbinenko <phcoder@gmail.com>
901
902 * docs/grub.texi (Multi-boot manual config): New section.
903
ba67e2c6
VS
9042012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
905
906 Avoid slow read-back from VRAM.
907
908 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
909 Move from here ...
910 * grub-core/video/fb/video_fb.c
911 (grub_video_fb_doublebuf_update_screen_t): ... here. Remove arguments.
912 * grub-core/video/fb/video_fb.c (framebuf_t): New type.
913 (front_target): Remove front_target. Add pages.
914 (grub_video_fb_init): Skip setting front_pages.
915 (grub_video_fb_fini): Likewise.
916 (doublebuf_blit_update_screen): Use pages.
917 (grub_video_fb_doublebuf_blit_init): Likewise.
918 (doublebuf_pageflipping_init): Allocate offscreen buffer.
919 (doublebuf_pageflipping_update_screen): Use offscreen buffer.
920 (grub_video_fb_setup): Prefer doublebuffing.
921
377c98cb
VS
9222012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
923
924 * grub-core/normal/main.c (GRUB_MOD_INIT): Ignore errors when loading
925 gzio.
926
eac49cff
VS
9272012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
928
929 Add loongson tests.
930
931 * tests/util/grub-shell.in: Handle loongson.
932 * tests/partmap_test.in: Add loongson to the list of platform using ATA
933 drivers.
934 * grub-core/tests/boot/linux.init-mips.S (SHUTDOWN_MAGIC3) [REBOOT]:
935 Reboot instead of shutdown if REBOOT is defined.
936
0321415e
VS
9372012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
938
939 * grub-core/lib/mips/loongson/reboot.c (grub_reboot): Use 32-bit
940 sized ports since unlike on real hardware qemu supports only 32-bit
941 regs.
942
3f2bdd8f
VS
9432012-06-15 Vladimir Serbinenko <phcoder@gmail.com>
944
945 * Makefile.util.def (grub-mkrescue): Enable on loongson.
946 * util/grub-mkrescue.in: Handle loongson.
947
29a049c9
VS
9482012-06-14 Vladimir Serbinenko <phcoder@gmail.com>
949
950 * util/getroot.c (convert_system_partition_to_system_disk) [__APPLE__]:
951 Set is_part appropriately.
952 (grub_util_biosdisk_get_grub_dev): Use is_part rather than comparing
953 names. Canonicalize partition without full disk.
954
4abde346
VS
9552012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
956
957 Revert usb-quiesce since it's wrong.
958
959 * grub-core/disk/ieee1275/ofdisk.c (quiesce): Removed.
960 (grub_ofdisk_init): Don't do quiesce.
961
61f1d93b
VS
9622012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
963
964 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Apply
965 PowerMac workaround to Xserves as well.
966 Information supplied by: Benjamin Herrenschmidt.
967
a09eb541
VS
9682012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
969
970 Don't assume that beginning address is also the entry point on ppc.
971
972 * grub-core/loader/powerpc/ieee1275/linux.c (linux_entry): New variable.
973 (grub_linux_boot): Use linux_entry.
974 (grub_linux_load32): Fill linux_entry. Fix setting linux_addr.
975 (grub_linux_load64): Likewise.
976
505b3c9b
VS
9772012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
978
979 * util/grub-install.in: Fix cross-disk check on non-PreP machines.
980
cbe0b4ef
VS
9812012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
982
983 * grub-core/term/ieee1275/console.c (grub_console_fini): Don't
984 needlessly lose the console.
985
3006e981
VS
9862012-06-13 Vladimir Serbinenko <phcoder@gmail.com>
987
988 * grub-core/normal/dyncmd.c (read_command_list): Don't access freed
989 space.
990
4e5a96b0
VS
9912012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
992
7da036bb
VS
993 Remove non-functional EFI grub_get_rtc. Put a better fatal message
994 than current grub_get_rtc() not implemented when booted with
995 coreboot without TSC.
996
997 * grub-core/Makefile.am: Exclude efi/time.h from kernel headers.
998 Add machine/time.h to kernel headers on loongson.
999 * grub-core/Makefile.core.def (kernel): Remove
1000 kern/generic/rtc_get_time_ms.c on qemu-multiboot-coreboot.
1001 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms): Removed.
1002 (grub_get_rtc): Likewise.
1003 * grub-core/kern/generic/rtc_get_time_ms.c: Include grub/machine/time.h.
1004 * grub-core/kern/i386/coreboot/init.c (grub_get_rtc): Removed.
1005 * grub-core/kern/i386/pc/init.c: Include grub/machine/init.h.
1006 * grub-core/kern/i386/tsc.c (grub_tsc_init)
1007 [!GRUB_MACHINE_PCBIOS && !GRUB_MACHINE_IEEE1275]: Call grub_fatal
1008 rather than installing known non-working time source.
1009 * grub-core/kern/ieee1275/init.c (grub_get_rtc): Removed.
1010 * grub-core/kern/mips/loongson/init.c: Include grub/machine/time.h.
1011 * include/grub/time.h: Don't include machine/time.h.
1012 * include/grub/efi/time.h: Removed.
1013 * include/grub/i386/efi/time.h: Likewise.
1014 * include/grub/i386/ieee1275/time.h: Likewise.
1015 * include/grub/powerpc/ieee1275/time.h: Likewise.
1016 * include/grub/sparc64/ieee1275/time.h: Likewise.
1017 * include/grub/x86_64/efi/time.h: Likewise.
1018
10192012-06-11 Vladimir Serbinenko <phcoder@gmail.com>
1020
1021 Remove dot on i and j when combining with above diacritics.
4e5a96b0
VS
1022
1023 * include/grub/unicode.h (GRUB_UNICODE_DOTLESS_LOWERCASE_I): New enum
1024 value.
1025 (GRUB_UNICODE_DOTLESS_LOWERCASE_J): Likewise.
1026 * grub-core/font/font.c (grub_font_construct_dry_run): Replace i and j
1027 with dotless variants when any combining above is present.
1028
5561c22d
VS
10292012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1030
1031 * tests/grub_script_expansion.in: Explicitly tell grep that we handle
1032 text and not binary.
1033
96f7e60e
VS
10342012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1035
1036 Stop polling as soon as we have the packet we were waiting for.
1037
1038 * include/grub/net.h (grub_net_poll_cards): New argument stop_condition.
1039 All users updated.
1040 * grub-core/net/arp.c (have_pending): New var.
1041 (pending_req): Likewise.
1042 (grub_net_arp_send_request): Fill pending_req and use have_pending as
1043 stop indicator.
1044 (grub_net_arp_receive): Set have_pending.
1045 * grub-core/net/dns.c (recv_data): New field stop.
1046 (recv_hook): Set stop.
1047 (grub_net_dns_lookup): Init stop and use as stop condition.
1048 * grub-core/net/http.c (http_establish): Use headers_recv as stop
1049 condition.
1050 * grub-core/net/net.c (grub_net_poll_cards): New argument
1051 stop_condition. Stop when it goes true.
1052 * grub-core/net/tcp.c (grub_net_tcp_open): Use `established' as stop
1053 indicator.
1054 * grub-core/net/tftp.c (tftp_open): Use `have_oack' as stop indicator.
1055
3e747239
VS
10562012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1057
1058 Keep TX and RX buffers on EFI rather than always allocate new ones.
1059
1060 * include/grub/net.h (grub_net_card_driver): Allow driver to modify
1061 card. All users updated.
1062 (grub_net_card): New members txbuf, rcvbuf, rcvbufsize and txbusy.
1063 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Reuse buffer.
1064 (get_card_packet): Likewise.
1065 (grub_efinet_findcards): Init new fields.
1066
f695e99a
VS
10672012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1068
1069 * grub-core/term/ieee1275/serial.c (do_real_config): Fix cast to fix
1070 compilation error on sparc64.
1071
9e5e66d1
VS
10722012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1073
1074 Use ITC on IA64 rather than broken routine based on daytime.
1075
1076 * grub-core/kern/efi/efi.c (grub_rtc_get_time_ms) [__ia64__]: Remove on
1077 ia64.
1078 (grub_get_rtc) [__ia64__]: Likewise.
1079 * grub-core/kern/ia64/efi/init.c (divisor): New variable.
1080 (get_itc): New function.
1081 (grub_rtc_get_time_ms): Likewise.
1082 (grub_machine_init): Calibrate ITC.
1083 * include/grub/efi/time.h (grub_get_rtc), (GRUB_TICKS_PER_SECOND):
1084 Keep only on non-ia64. Don't export since it's broken and used only
1085 if TSC is unavailable.
1086
a1767404
VS
10872012-06-09 Vladimir Serbinenko <phcoder@gmail.com>
1088
1089 * grub-core/disk/efi/efidisk.c (find_parent_device): Return the parent
1090 even if it's used.
1091 (name_devices): Replace #if 0 with #ifdef DEBUG_NAMES.
1092 Skip if parent is unused.
1093
34b2bced
VS
10942012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1095
1096 * tests/partmap_test.in: Skip on ppc due to serious firmware bug.
1097
5e619f40
VS
10982012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1099
1100 Fix wildcard escaping.
1101
1102 * grub-core/commands/wildcard.c (wildcard_escape): Moved from here ...
1103 * grub-core/script/execute.c (wildcard_escape): .. to here.
1104 Don't escape dot.
1105 * grub-core/commands/wildcard.c (wildcard_unescape): Moved from here ...
1106 * grub-core/script/execute.c (wildcard_unescape): .. to here.
1107 Don't escape dot.
1108 * grub-core/script/execute.c (gettext_append): Always escape.
1109 (grub_script_arglist_to_argv): Always handle escaping/unescaping.
1110 * grub-core/script/yylex.l: Don't cut away the escaping.
1111 * tests/grub_script_echo1.in: Add tests with wildcard.
1112
c8ca5855
VS
11132012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1114
1115 * grub-core/bus/usb/serial/ftdi.c (real_config): Handle 1.5 stop bits.
1116 (ftdi_hw_configure): Likewise.
1117 * grub-core/bus/usb/serial/pl2303.c (GRUB_PL2303_STOP_BITS_1_5): New
1118 define.
1119 (real_config): Handle 1.5 stop bits.
1120 (pl2303_hw_configure): Likewise.
1121
7183452c
VS
11222012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1123
1124 * Makefile.am: Add ppc linux bootcheck.
1125 * grub-core/tests/boot/linux-ppc.cfg: New file.
1126 * grub-core/tests/boot/linux.init-ppc.S: Likewise.
1127
f57c84cd
VS
11282012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1129
1130 * tests/grub_script_expansion.in: Skip network protocols.
1131
ecfc6207
VS
11322012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1133
1134 * tests/util/grub-shell.in: Use escc-ch-a port on ppc.
1135
8d03d284
VS
11362012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1137
1138 * util/powerpc/ieee1275/grub-mkrescue.in: Handle (and ignore)
1139 --rom-directory.
1140 Add -graft-points.
1141
61c42af0
VS
11422012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1143
1144 ESCC serial driver for conducting sautomated tests in qemu.
1145 Not tested on real hardware.
1146
1147 * include/grub/serial.h (grub_serial_port): New field escc_desc.
1148 * grub-core/term/ieee1275/escc.c: New file.
1149 * grub-core/Makefile.core.def (escc): New module.
1150
08fd1291
VS
11512012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1152
1153 * grub-core/term/ieee1275/serial.c (do_real_config): Set handle to
1154 invalid on error.
1155 (serial_hw_fetch): Don't read invalid handle.
1156 (serial_hw_put): Don't write into invalid handle.
1157
08dafeea
VS
11582012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1159
1160 Add a 1.5 stop bits value.
1161
1162 * grub-core/term/serial.c (grub_cmd_serial): Handle 1.5.
1163 * include/grub/serial.h (grub_serial_stop_bits_t): Add
1164 GRUB_SERIAL_STOP_BITS_1_5.
1165
9068fdcf
VS
11662012-06-08 Vladimir Serbinenko <phcoder@gmail.com>
1167
1168 * grub-core/commands/wildcard.c (wildcard_expand): Set default return
1169 value rather than let it uninited.
1170
f4d5820f
VS
11712012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1172
1173 * grub-core/commands/wildcard.c (+check_file): New function.
1174 (wildcard_expand): Don't expand to non-existing files, expand with
1175 suffix and not attempt to expand if not needed.
1176
3d2de9a7
VS
11772012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1178
1179 * grub-core/disk/efi/efidisk.c (name_devices): Don't make disks
1180 out of partitions containing other partitions.
1181
c5c81ff9
VS
11822012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1183
1184 Pass PCIINFO on BIOS to OpenBSD since otherwise it fails to boot
1185 on some qemu versions with GRUB.
1186
1187 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_PCIBIOS): New
1188 define.
1189 (grub_openbsd_bootarg_pcibios): New struct.
1190 * grub-core/loader/i386/bsd.c (grub_openbsd_boot) [GRUB_MACHINE_PCBIOS]:
1191 Add PCIINFO.
1192
08a14e0b
VS
11932012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1194
1195 * tests/util/grub-shell.in: Trim firmware output on EFI.
1196
cede3ca3
VS
11972012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1198
1199 * grub-core/Makefile.core.def (vga_text): Disable on muliboot
1200 and coreboot since it's already in kernel.
1201
558d3a60
VS
12022012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1203
1204 * util/getroot.c (grub_util_get_dm_node_linear_info): Moved from here...
1205 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
1206 to here. New return value start. All users updated.
1207 Recursively scan linear mappings.
1208 * include/grub/emu/hostdisk.h (grub_util_get_dm_node_linear_info): New
1209 proto.
1210 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
1211 Use grub_util_get_dm_node_linear_info.
1212 * util/getroot.c (convert_system_partition_to_system_disk): Use
1213 grub_util_info rather than grub_dprintf.
1214 (grub_util_biosdisk_get_grub_dev): Add a new grub_util_info.
1215
60fde14d
VS
12162012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1217
1218 Move handling of GRUB_QEMU_OPTS to grub-shell so that make check works.
1219
1220 * Makefile.am: Remove GRUB_QEMU_OPTS handling.
1221 * tests/util/grub-shell.in: Add GRUB_QEMU_OPTS handling.
1222
24bd8838
VS
12232012-06-07 Vladimir Serbinenko <phcoder@gmail.com>
1224
1225 * include/grub/types.h (grub_set_unaligned64): New function.
1226 * util/grub-setup.c (write_rootdev): Use unaligned access functions.
1227 (setup): Likewise.
1228
7bc06a49
VS
12292012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1230
1231 * grub-core/disk/ieee1275/ofdisk.c (quiesce): New function.
1232 (grub_ofdisk_fini): Quiesce USB devices.
1233
49cea015
VS
12342012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1235
1236 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_boot): Sync
1237 caches.
1238
8dcbe03b
VS
12392012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1240
1241 * util/grub-fstest.c (cmd_crc): Use grub_get_unaligned32 for safety.
1242
5b258735
VS
12432012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1244
1245 * grub-core/disk/pata.c (grub_pata_pio_read)
1246 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't byteswap even on mipseb.
1247 (grub_pata_pio_write) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
1248
37ba07eb
VS
12492012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1250
1251 Extend automated tests to qemu-mips.
1252
1253 * Makefile.am: reorganise tests and enable qemu-mips.
1254 * configure.ac (COND_mipseb), (COND_mipsel): New conditions.
1255 * grub-core/tests/boot/linux.init-mips.S: New file.
1256 * tests/partmap_test.in: Handle ata0 disks.
1257 * tests/util/grub-shell.in: Handle qemu-mips. Make defaults work on
1258 non-pc i386.
1259
070038f8
VS
12602012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1261
1262 * Makefile.util.def (grub-mkrescue) Anable on mips_qemu_mips and
1263 ia64.
1264 * util/grub-mkrescue.in: Handle qemu-mips and ia64. Add missing
1265 quotes while on it.
1266
004be2cd
VS
12672012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1268
1269 * grub-core/kern/mips/qemu_mips/init.c (grub_exit): Implement.
1270 (grub_halt): Likewise.
1271 * grub-core/lib/mips/qemu_mips/reboot.c (grub_reboot): Likewise.
1272
b1622487
VS
12732012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1274
1275 * grub-core/term/serial.c (grub_serial_register)
1276 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't autostart console in order to bring
1277 the behaviour in line with x86 platforms.
1278
b7b4ab33
VS
12792012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1280
1281 * grub-core/commands/hdparm.c (le16_to_char): Always byte-swap strings.
1282 (grub_ata_strncpy): Likewise.
1283 (grub_ata_identify): Add missing byteswaps.
1284
5e3535ae
VS
12852012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1286
1287 * grub-core/term/i386/pc/vga_text.c (screen_write_char): Add missing
1288 byte-swap.
1289 (screen_read_char): Likewise.
1290 (grub_vga_text_cls): Likewise.
1291
c21b17e6
VS
12922012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1293
1294 * grub-core/loader/efi/chainloader.c (copy_file_path): Handle non-ASCII
1295 filenames.
1296 (make_file_path): Likewise.
1297
bf293dec
VS
12982012-06-06 Vladimir Serbinenko <phcoder@gmail.com>
1299
1300 * grub-core/disk/ieee1275/ofdisk.c (scan): Support vscsi on IBM
1301 machines.
1302 Tested by: Paulo Flabiano Smorigo.
1303 Crucial information about API supplied by: Coleen <Last name unknown>.
1304 Reviewed by: Coleen <Last name unknown>.
1305
81f6ef0e
VS
13062012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1307
1308 * util/grub-mkimage.c: Disable -Wcast-align.
1309
7284143a
VS
13102012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1311
1312 * grub-core/genmod.sh.in: Enable objconv errors 2030, 2050 and 2031
1313 as they are fatal.
1314
b99f3e00
VS
13152012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1316
1317 * grub-core/Makefile.am (rs_decoder.S): Add missing -ffreestanding.
1318
944f752d
VS
13192012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1320
1321 * util/grub-probe.c (escape_of_path): Fix double free.
1322
6cce6f38
VS
13232012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1324
1325 * grub-core/commands/videoinfo.c (hook): Show pitch.
1326
1e1eb50e
VS
13272012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1328
1329 * util/grub.d/20_linux_xen.in: Skip xen-syms.
1330
1c715b5a
VS
13312012-06-05 Vladimir Serbinenko <phcoder@gmail.com>
1332
1333 * util/grub-probe.c (escape_of_path): Don't add ieee1275/.
1334 (probe): Add ieee1275 to OFW devices.
1335
007ae52d
VS
13362012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
1337
1338 * util/ieee1275/ofpath.c (of_path_of_scsi): Fix wrong format specifier.
1339
4557a36d
VS
13402012-06-04 Vladimir Serbinenko <phcoder@gmail.com>
1341
1342 Handle IBM OFW path.
1343
1344 * util/ieee1275/ofpath.c (find_obppath): Use devspec if obppath isn't
1345 available.
1346 (of_path_of_scsi): Handle vdevice.
1347
efbeefe9
VS
13482012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
1349
1350 * grub-core/mmap/i386/pc/mmap.c (malloc_hook):
1351 Allocate in multiples of 16 to avoid adding a few bytes free region the
1352 windows bugs upon.
1353
15a940bb
VS
13542012-06-03 Vladimir Serbinenko <phcoder@gmail.com>
1355
1356 * grub-core/commands/i386/pc/drivemap.c (install_int13_handler):
1357 Allocate in multiples of 16 to avoid adding a few bytes free region the
1358 windows bugs upon.
1359 * grub-core/mmap/i386/pc/mmap.c (malloc_hook): Likewise.
1360
6e5efd60
VS
13612012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1362
1363 * grub-core/video/efi_gop.c (grub_video_gop_setup): Reject invalid
1364 resolutions.
1365 * grub-core/video/i386/pc/vbe.c (grub_vbe_get_preferred_mode): Likewise.
1366 * grub-core/video/video.c (grub_video_edid_preferred_mode): Likewise.
1367
0d3d137e
IS
13682012-06-02 Isao Shimizu <isaoshimizu@gmail.com>
1369
1370 * util/ieee1275/ofpath.c (check_sas): Fix sas path.
1371
45dbe300
VS
13722012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1373
1374 * grub-core/normal/menu_entry.c (print_line): Fix off-by-one error which
1375 resulted in \\ at the end of the line.
1376
6d8db947
VS
13772012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1378
1379 * grub-core/kern/parser.c (grub_parser_state_transitions): Handle \t.
1380 (grub_parser_cmdline_state): Likewise.
1381 (grub_parser_split_cmdline): Likewise.
1382
de89d338
VS
13832012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1384
1385 * util/getroot.c (grub_guess_root_devices): Don't canonicalise
1386 /dev/root and /dev/dm-*.
1387
00d41dee
VS
13882012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1389
1390 * grub-core/normal/menu_entry.c (update_screen): Fix loop condition to
1391 fix partially stale display.
1392
f95d1f11
VS
13932012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1394
1395 * grub-core/normal/menu_entry.c (backward_char): Use right line for
1396 substraction.
1397
6297e197
VS
13982012-06-02 Vladimir Serbinenko <phcoder@gmail.com>
1399
1400 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write) [__linux__]:
1401 Fix MBR remapping workaround.
1402 (grub_util_biosdisk_read) [__linux__]: Likewise.
1403
8a7ecad3
VS
14042012-06-01 Vladimir Serbinenko <phcoder@gmail.com>
1405
1406 * util/grub-install.in: Check for ieee1275 and not ieee1276.
1407
2b34f944
VS
14082012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1409
1410 * configure.ac: Bump to beta6.
1411
684aef11
CW
14122012-05-31 Christer Weinigel <christer@weinigel.se>
1413
1414 * grub-core/normal/main.c (grub_file_getline): Fix off-by-one error.
1415
05b0bb91
VS
14162012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1417
1418 * grub-core/loader/i386/linux.c (grub_linux_boot): Use right version.
1419 (grub_cmd_linux): Likewise.
1420
bda36bfa
CW
14212012-05-31 Christer Weinigel <christer@weinigel.se>
1422
1423 Fix EHCI low-speed.
1424
1425 * grub-core/bus/usb/ehci.c (GRUB_EHCI_MULT_ONE): Fix the value.
1426 (GRUB_EHCI_MULT_TWO): Likewise.
1427 (GRUB_EHCI_MULT_THREE): Likewise.
1428 (GRUB_EHCI_CMASK_MASK): New enum value.
1429 (GRUB_EHCI_SMASK_MASK): Likewise.
1430 (GRUB_EHCI_CMASK_OFF): Likewise.
1431 (GRUB_EHCI_SMASK_OFF): Likewise.
1432 (grub_ehci_pci_iter): Enable periodic schedule.
1433 (grub_ehci_parse_notrun): Likewise.
1434 (grub_ehci_restore_hw): Likewise.
1435 (grub_ehci_setup_qh): Set flags for low speed transfers.
1436 (grub_ehci_find_qh): Use periodic list for low speed.
1437 (grub_ehci_setup_transfer): Check periodic queue as well.
1438 (grub_ehci_check_transfer): Likewise.
1439 (grub_ehci_cancel_transfer): Cancel periodic transfer.
1440
e12bcb1c
PFS
14412012-05-31 Paulo Flabiano Smorigo <pfsmorigo@br.ibm.com>
1442
1443 * util/grub-install.in: Write core.elf in PReP even if the --no-nvram
1444 parameter is used.
1445
bcc75fb3
PJ
14462012-05-31 Peter Jones <pjones@redhat.com>
1447
1448 * include/grub/i386/linux.h (linux_kernel_params): Add v206.
1449 * grub-core/loader/i386/linux.c (grub_linux_boot): Use v206.
1450 (grub_cmd_linux) [__x86_64__]: Validate grub_efi_system_table.
1451
f19cb95e
VS
14522012-05-31 Vladimir Serbinenko <phcoder@gmail.com>
1453
1454 * grub-core/loader/i386/linux.c (grub_linux_boot): Fix overflow and
1455 uninited variable. Allocate at least setup_sects.
1456
a4e5ca80
VS
14572012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1458
1459 Fix handling of EFI with big memory maps.
1460
1461 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_OFFSET): Removed.
1462 (real_mode_mem): Likewise.
1463 (real_mode_target): Likewise.
1464 (real_mode_pages): Likewise.
1465 (prot_mode_pages): Likewise.
1466 (linux_params): New var.
1467 (linux_cmdline): Likewise.
1468 (free_pages): Don't set real mode variables.
1469 (allocate_pages): Don't allocate real mode memory.
1470 (grub_e820_add_region): Remove the limit.
1471 (grub_linux_boot): Allocate and copy real mode memory.
1472 (grub_linux_unload): Free linux_cmdline.
1473 (grub_cmd_linux): Use temporary storage for parameters.
1474 (grub_cmd_initrd): Likewise.
1475 * include/grub/i386/linux.h (GRUB_E820_MAX_ENTRY): Removed.
1476 (linux_kernel_params): Make it 1K big.
1477
ddb73558
VS
14782012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1479
1480 * Makefile.util.def: Remove -Wno-format.
1481 * grub-core/Makefile.core.def: Likewise.
1482
1c4afb60
VS
14832012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1484
1485 * tests/cmp_unit_test.c: Add missing failure message.
1486 * tests/example_unit_test.c: Likewise.
1487 * tests/printf_unit_test.c: Likewise.
1488
941e3a6d
VS
14892012-05-30 Vladimir Serbinenko <phcoder@gmail.com>
1490
1491 * grub-core/commands/gptsync.c (grub_cmd_gptsync): Propagate the
1492 relaxation of protective MBR requirements.
1493
b105df76
VS
14942012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
1495
1496 * configure.ac: Add condition for COND_HOST_XNU.
1497 * Makefile.util.def (10_xnu): New script.
1498 * util/grub.d/10_xnu.in: New file, extracted from 30_os_prober.in.
1499
84e1569e
VS
15002012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
1501
1502 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Add a workaround for
1503 objconv bug.
1504
130c0f77
VS
15052012-05-29 Vladimir Serbinenko <phcoder@gmail.com>
1506
1507 * grub-core/gdb/i386/machdep.S: Make usable with Apple assembler.
1508 Binary on other platforms stays identical.
1509
6fd0b143
VS
15102012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1511
1512 * configure.ac: Remove APPLE_CC and add -Wl,-allow_stack_execute on
1513 Apple.
1514
0af1751d
VS
15152012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1516
1517 * gentpl.py: Ignore error 2022 in objconv since it's irrelevant for us.
1518
176d5f7d
VS
15192012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1520
1521 * grub-core/lib/posix_wrap/sys/types.h [__APPLE__]: Include stddef
1522 rather than defining size_t ourselves to avoid conflict.
1523
7de5e20a
VS
15242012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1525
1526 * grub-core/fs/hfs.c (grub_hfs_dir): Use memset instead of
1527 initialisation to avoid __bzero reference.
1528
f7143efe
VS
15292012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1530
1531 * grub-core/boot/i386/pc/startup_raw.S [__APPLE__]: Add Apple assembly
1532 version.
1533 * grub-core/commands/i386/pc/drivemap_int13h.S [__APPLE__]: Likewise.
1534 * grub-core/kern/i386/pc/startup.S [__APPLE__]: Likewise.
1535 * grub-core/lib/i386/relocator16.S [__APPLE__]: Likewise.
1536 * grub-core/lib/i386/relocator_common.S [__APPLE__]: Likewise.
1537 * grub-core/mmap/i386/pc/mmap_helper.S [__APPLE__]: Likewise.
1538
e6ad0555
VS
15392012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1540
1541 * grub-core/efiemu/runtime/efiemu.c: Replace APPLE_CC with __APPLE__.
1542 * grub-core/kern/misc.c: Likewise.
1543 * grub-core/loader/i386/xnu.c: Likewise.
1544 * include/grub/i386/tsc.h: Likewise.
1545 * include/grub/symbol.h: Likewise.
1546
4a5a3c4a
VS
15472012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1548
1549 * include/grub/list.h (grub_bad_type_cast_real): Remove return.
1550 * include/grub/misc.h (ATTRIBUTE_ERROR): Make into noreturn attribute
1551 on older compiler.
1552
037f6d90
VS
15532012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1554
1555 * util/getroot.c (grub_util_biosdisk_get_grub_dev) [__APPLE__]:
1556 Implement Apple flavour.
1557 (convert_system_partition_to_system_disk) [__APPLE__]: Likewise.
1558
f7194551
VS
15592012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1560
1561 * include/grub/misc.h (memcmp) [__APPLE__]: Mark as regparm 0.
1562 (memmove) [__APPLE__]: Likewise.
1563 (memcpy) [__APPLE__]: Likewise.
1564 (memset) [__APPLE__]: Likewise.
1565 * grub-core/kern/misc.c (memcmp) [__APPLE__]: Likewise.
1566 (memmove) [__APPLE__]: Likewise.
1567 (memcpy) [__APPLE__]: Likewise.
1568 (memset) [__APPLE__]: Likewise.
1569
85a730ca
VS
15702012-05-28 Vladimir Serbinenko <phcoder@gmail.com>
1571
1572 * grub-core/genmod.sh.in: Fix a bug in Apple part which caused
1573 dependency discard.
1574
40e80b94
VS
15752012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1576
1577 * grub-core/normal/main.c (read_config_file): Provide config_file and
1578 config_directory.
1579 * util/grub.d/41_custom.in: Use config_directoy when available.
1580
9da59c32
VS
15812012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1582
1583 * grub-core/fs/bfs.c (iterate_in_b_tree): Add missing NESTED_FUNC_ATTR.
1584 (grub_bfs_dir): Likewise.
1585
2787ae53
PJ
15862012-05-27 Peter Jones <pjones@redhat.com>
1587
1588 The old code gives arguments to a printf function which can't work
1589 correctly, and the compiler complains.
1590
1591 * grub-core/tests/example_functional_test.c (example_test): Add
1592 missing text.
1593 * grub-core/tests/lib/test.c (add_failure): Rewrite.
1594 * include/grub/test.h (grub_test_assert_helper): New declaration.
1595 (grub_test_assert): Use grub_test_assert_helper.
1596
526ef13d
VS
15972012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1598
1599 * grub-core/Makefile.core.def (example_functional_test): Rename to ...
1600 (exfctest): ... this to avoid overlong filenames.
1601 All users updated.
1602
20dd511c
VS
16032012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1604
1605 Handle "." and ".." on squashfs.
1606
1607 * grub-core/fs/squash4.c (grub_fshelp_node): New field stsize.
1608 Make inode numbers into stack.
1609 (grub_squash_read_symlink): Use stack.
1610 (grub_squash_iterate_dir): Use stack. Create "." and ".." nodes.
1611 (make_root_node): Fill stack.
1612 (grub_squash_open): Use stack.
1613
1d80c62a
VS
16142012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1615
1616 * grub-core/kern/emu/hostdisk.c (open_device): Set dest->dev to 0 after
1617 freeing.
1618
d336f652
VS
16192012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1620
1621 * util/grub-mkconfig_lib.in (print_option_help): Properly redirect
1622 stderr on test calls.
1623
8b43f587
VS
16242012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1625
1626 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle "." and "..".
1627
80a3dc3f
VS
16282012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1629
1630 * grub-core/fs/ntfs.c (list_file): Set mtime to correct value.
1631
47e297d4
VS
16322012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1633
1634 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't skip "." and
1635 "..".
1636
df042ccb
VS
16372012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1638
1639 * grub-core/fs/hfsplus.c (grub_hfsplus_catfile): New field parentid.
1640 (grub_hfsplus_iterate_dir): Add "." and "..".
1641
fc977f48
VS
16422012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1643
1644 * grub-core/fs/cpio.c (canonicalize): Handle "..".
1645 (grub_cpio_find_file) [MODE_USTAR]: Handle hardlinks.
1646
f3250e5f
VS
16472012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1648
1649 * grub-core/fs/btrfs.c (GRUB_BTRFS_ITEM_TYPE_INODE_REF): New enum value.
1650 (find_path): Handle "." and "..".
1651
fd8ed4c5
VS
16522012-05-27 Vladimir Serbinenko <phcoder@gmail.com>
1653
1654 * grub-core/fs/affs.c (grub_affs_file): New field hardlink.
1655 (GRUB_AFFS_FILETYPE_HARDLINK): New enum value.
1656 (grub_affs_iterate_dir): Handle hardlinks.
1657
4ce776d2
MG
16582012-05-26 Matthew Garrett <mjg@redhat.com>
1659
1660 * grub-core/term/efi/console.c (grub_efi_console_init): Set text mode.
1661 (grub_efi_console_fini): Likewise.
1662 * grub-core/video/efi_gop.c (framebuffer): New field offscreen.
1663 (grub_video_gop_fill_mode_info): Rename to ...
1664 (grub_video_gop_fill_real_mode_info): ... this.
1665 (grub_video_gop_fill_mode_info): New function.
1666 (grub_video_gop_setup): Setup double framebuffer.
1667 (grub_video_gop_get_info_and_fini): Use original framebuffer.
1668 Free offscreen.
1669 (grub_video_gop_swap_buffers): Copy framebuffer.
1670 (grub_video_gop_fini): Free offscreen buffer.
1671 * include/grub/efi/graphics_output.h (grub_efi_gop_blt_operation_t):
1672 New enum.
1673 (grub_efi_gop_blt_pixel): New struct.
1674
683031ba
VS
16752012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
1676
1677 * gentpl.py: Remove error disabling for objconv.
1678
c2deb798
VS
16792012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
1680
1681 * configure.ac: Remove -Wunitialized as it's not available on older
1682 compilers.
1683
16842012-05-26 Vladimir Serbinenko <phcoder@gmail.com>
77ceedb6
VS
1685
1686 Fix extent overflow comparator.
1687
1688 * grub-core/fs/hfsplus.c (grub_hfsplus_extkey_internal): Add type.
1689 (grub_hfsplus_read_block): Set type.
1690 (grub_hfsplus_cmp_extkey): Compare type.
1691
d6b1fd36
VS
16922012-05-25 Vladimir Serbinenko <phcoder@gmail.com>
1693
1694 * util/grub-fstest.c (cmd_cmp): Fix stat'ing of wrong file.
1695
0a9aa0f6
VS
16962012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
1697
1698 * grub-core/fs/hfsplus.c (grub_hfsplus_label): Use found ptr rather
1699 than 0.
1700
8360e159
VS
17012012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
1702
1703 * Makefile.am (starfield_DATA): Add dejavu_bold_14.pf2.
1704 (dejavu_bold_14.pf2): New target.
1705
501b9e4b
VS
17062012-05-24 Vladimir Serbinenko <phcoder@gmail.com>
1707
1708 * configure.ac: Fix djvu font detection.
1709
7026b0e2
VS
17102012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1711
1712 * grub-core/normal/misc.c (grub_normal_print_device_info): Dsiplay
1713 ext* instead of ext2.
1714
c2a51ade
VS
17152012-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1716
1717 * grub-core/normal/term.c (read_terminal_list): Terminate the terminal
1718 name with \0.
1719
8f803a5d
JU
17202012-05-22 Jordan Uggla <jordan.uggla@gmail.com>
1721
1722 * docs/grub-dev.texi: Remove dot from .png.
1723
13c6353f
VS
17242012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1725
1726 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Accept
1727 protective entry in any slot.
1728 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Reject
1729 if protective entry is found in any slot.
1730
1731 Protective entry in non-first slot make no sense but is a widespread
1732 brain damage.
1733
4cf6be1b
VS
17342012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1735
1736 * grub-core/fs/squash4.c (grub_squash_read_data): Add missing byte-swap.
1737
937d1c44
VS
17382012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1739
1740 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Fix size byteswap
1741 with old reiserfs.
1742 (grub_reiserfs_open): Don't free root.
1743
021d90ec
VS
17442012-05-22 Vladimir Serbinenko <phcoder@gmail.com>
1745
1746 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Set currnode to 0
1747 after freeing for safety.
1748
967b2b64
VS
17492012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1750
1751 * grub-core/commands/sleep.c (do_print): Add missing grub_refresh.
1752 Reported by: Jordan Uggla.
1753
34274d02
JU
17542012-05-21 Jordan Uggla <jordan.uggla@gmail.com>
1755
967b2b64
VS
1756 * docs/grub.texi Fix documentation of GRUB_HIDDEN_TIMOUNT to match the
1757 actual implementation. Specifically, clarify that the grub menu will
1758 be displayed for GRUB_TIMOUT seconds after the hidden timeout has
1759 passed.
34274d02 1760
dcaaae9d
BH
17612012-05-21 Benjamin Herrenschmidt <benh@kernel.crashing.org>
1762
1763 * grub-core/kern/powerpc/dl.c (trampoline_template): Use r12 instead
1764 of r0.
1765
7086ad52
VS
17662012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1767
1768 Remove unjustified hard dependency of normal.mod on gfxterm.
1769
1770 * include/grub/term.h (grub_term_output): New member fullscreen.
1771 * include/grub/gfxterm.h (grub_gfxterm_fullscreen): Removed.
1772 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Make static.
1773 (grub_gfxterm): Set .fullscreen.
1774 * grub-core/normal/menu.c (menu_init): Use fullscreen.
1775 * grub-core/gfxmenu/gfxmenu.c (GRUB_MOD_INIT): Likewise.
1776
37ed2c9b
VS
17772012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1778
1779 * docs/grub.texi (Internationalisation/Filesystems): Add precisions
1780 mentioning possible problems with non-ASCII (non-compliant) ISOs.
7086ad52 1781 Mention case-insensitive AFFS, SFS and JFS.
37ed2c9b 1782
a4469c88
VS
17832012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1784
1785 * grub-core/fs/affs.c (grub_affs_mtime): Add missing grub_dl_ref.
1786
4e461486
VS
17872012-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1788
1789 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
1790 a bad FS.
1791
aa78f5c4
VS
17922012-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1793
1794 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Mark plain
1795 ISO9660 names as case-insensitive, lowercase it and remove trailing dot.
1796
197626b5
VS
17972012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1798
1799 * grub-core/fs/jfs.c (grub_jfs_data): New field caseins.
1800 (grub_jfs_mount): Fill caseins.
1801 (grub_jfs_find_file): Respect caseins.
1802
8ad3f28c
VS
18032012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1804
1805 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Don't strrchr
1806 through UTF-16.
1807
0c6c324e
VS
18082012-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1809
1810 * grub-core/fs/fat.c (grub_fat_find_dir): Fix error message.
1811 New argument origpath. All users updated.
1812
c6666ba6
VS
18132012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1814
1815 * grub-core/fs/ntfs.c (read_data): Prevent overflow.
1816 (read_attr): Ensure that we read start of possibly compressed block.
1817
e28e5fe5
VS
18182012-05-15 Vladimir Serbinenko <phcoder@gmail.com>
1819
1820 * include/grub/ntfs.h (grub_ntfs_comp_table_element): New struct.
1821 (grub_ntfs_comp): Use grub_ntfs_comp_table_element for comp_table.
1822 All users updated.
1823
5fc23ab2
VS
18242012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1825
1826 * Makefile.am (starfield_DATA): Replace dejavu.pf2 with dejavu_10.pf2,
1827 dejavu_12.pf2, dejavu_14.pf2 and dejavu_16.pf2.
1828 (dejavu.pf2): Replace with ...
1829 (dejavu_10.pf2), (dejavu_12.pf2), (dejavu_14.pf2), (dejavu_16.pf2):
1830 this.
1831
79dbc21c
VS
18322012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1833
1834 * util/grub.d/20_linux_xen.in: Add missing line.
1835
d2fcfb0c
VS
18362012-05-14 Vladimir Serbinenko <phcoder@gmail.com>
1837
1838 * include/grub/charset.h (GRUB_UTF16_UPPER_SURROGATE): Fix mask sizes.
1839 (GRUB_UTF16_LOWER_SURROGATE): Likewise.
1840 (grub_utf16_to_utf8): Likewise.
1841
5560e9d6
VS
18422012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
1843
1844 * grub-core/disk/ieee1275/ofdisk.c (scan): Don't scan device tree if
1845 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS is set.
1846 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
1847 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS on IBM hardware.
1848 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
1849 GRUB_IEEE1275_FLAG_NO_TREE_SCANNING_FOR_DISKS.
1850
18512012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
bfb320c6
VS
1852
1853 * grub-core/kern/fs.c (grub_fs_probe): Handle GRUB_ERR_OUT_OF_RANGE as
1854 a bad FS.
1855
5560e9d6 18562012-05-13 Vladimir Serbinenko <phcoder@gmail.com>
def3df75
VS
1857
1858 * grub-core/fs/udf.c (read_string): Bail out on size=0.
1859 (grub_udf_read_symlink): Handle read_string failure.
1860
5eae3175
VS
18612012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1862
1863 * grub-core/kern/emu/hostdisk.c (read_device_map): Improve TRANSLATORS
1864 comment.
1865
c1ad82db
VS
18662012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1867
1868 Fix handling of UDF symlinks.
1869
1870 * grub-core/fs/udf.c (read_string): New argument outbuf.
1871 All users updated.
1872 (grub_ufs_read_symlink): Rename to ...
1873 (grub_udf_read_symlink): ... this. All users updated.
1874 Handle symlinks with more than one component.
1875
33eca6e0
VS
18762012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1877
1878 * grub-core/fs/affs.c (grub_affs_read_symlink): Fix handling of long
1879 symlinks. Replace leading colon with a slash.
1880
57f4a70b
VS
18812012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1882
1883 * grub-core/fs/jfs.c (grub_jfs_find_file): Handle multiple slashes in
1884 filename.
1885
38c8ee20
VS
18862012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1887
1888 * grub-core/fs/bfs.c (find_in_b_tree) [MODE_AFS]: Fix handling of exact
1889 match in inner node.
1890
2e57f28f
VS
18912012-05-12 Vladimir Serbinenko <phcoder@gmail.com>
1892
1893 * grub-core/fs/bfs.c (mount): Improve filesystem detection reliability.
1894 * grub-core/fs/ext2.c (grub_ext2_mount): Likewise.
1895 * grub-core/fs/hfs.c (grub_hfs_mount): Likewise.
1896 * grub-core/fs/hfsplus.c (grub_hfsplus_mount): Likewise.
1897 * grub-core/fs/jfs.c (grub_jfs_mount): Likewise.
1898 * grub-core/fs/minix.c (grub_minix_mount): Likewise.
1899 * grub-core/fs/ntfs.c (grub_ntfs_mount): Likewise.
1900 * grub-core/fs/romfs.c (grub_romfs_mount): Likewise.
1901 * grub-core/fs/xfs.c (grub_xfs_mount): Likewise.
1902
fe8c2f11
VS
19032012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
1904
1905 Use grub-probe and not cmp to check that disk is empty.
1906
1907 * util/grub-install.in: Use grub-probe for zero-check.
1908 * util/grub-probe.c (PRINT_ZERO_CHECK): New enum value.
1909 (probe): Handle PRINT_ZERO_CHECK.
1910 (argp_parser): Handle -t zero_check.
1911
19122012-05-11 Vladimir Serbinenko <phcoder@gmail.com>
f1a6254c
VS
1913
1914 Flush block cache on adding disk to device map.
1915
1916 * grub-core/kern/emu/hostdisk.c (flush_initial_buffer): New function.
1917 (grub_hostdisk_os_dev_to_grub_drive): Call flush_initial_buffer on
1918 adding.
1919 (read_device_map): Likewise.
1920 (open_device): Flush on opening.
1921
690434e8
VS
19222012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1923
1924 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle prefix.
1925 (handle_symlink): Fix off-by-one error.
1926 Canonicalize the target.
1927 (grub_cpio_dir): Canonicalize the name.
1928 Fix memory leak.
1929 Set directory.
1930 (grub_cpio_open): Canonicalize the name.
1931
742d2be6
VS
19322012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1933
1934 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix symlink
1935 handling.
1936
3244fe96
VS
19372012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1938
1939 * grub-core/fs/ufs.c (grub_ufs_find_file): Fix handling of double slash.
1940 * grub-core/fs/minix.c (grub_minix_find_file): Likewise.
1941
8aeb1837
VS
19422012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1943
1944 * util/grub-menulst2cfg.c (main): Check return value of fwrite.
1945 * util/grub-mklayout.c (write_file): Likewise. New argument fname.
3244fe96 1946 All users updated.
8aeb1837 1947
9133fd05
VS
19482012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1949
1950 * util/grub.d/20_linux_xen.in: Update initrd list based on 10_linux.in
1951 counterpart.
1952
6d521c5b
VS
19532012-05-10 Vladimir Serbinenko <phcoder@gmail.com>
1954
1955 Fix UFS1 big file support.
1956
1957 * grub-core/fs/ufs.c (INODE): Removed.
1958 (INODE_SIZE): Always use 64-bit byte-swap since size field is always
1959 64-bit.
1960 (INODE_MODE): Simplify.
1961 (grub_ufs_inode): Use uint64_t for size and not int64_t.
1962 (grub_ufs_lookup_symlink): Don't use INODE.
1963
21b82e17
VS
19642012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1965
1966 Fix minixfs with non-power-of-two blocks since it's supported by minix.
1967
1968 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use block_size.
1969 (grub_minix_data): Replace log_block_size with block_size.
1970 (grub_minix_read_file): Use block_size but avoid 64-bit division.
1971 (grub_minix_mount): Fill block_size.
1972
19732012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
319621d0
VS
1974
1975 * configure.ac: Bump to beta5.
1976
f417ed04
VS
19772012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1978
1979 Fix wrapped HFS+ handling.
1980
1981 * grub-core/fs/fshelp.c (grub_fshelp_read_file): New argument
1982 blocks_start. All users updated.
1983 * grub-core/fs/hfsplus.c (grub_hfsplus_read_block): Don't add
1984 wrapping offset.
1985 (grub_hfsplus_read_file): Pass embedding offset to fshelp_read_file.
1986
607d282b
VS
19872012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1988
1989 Fix long symlinks on reiserfs.
1990
1991 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field size.
1992 (grub_reiserfs_read_symlink): Use grub_reiserfs_read_real.
1993 (grub_reiserfs_iterate_dir): Save size for non-directories.
1994 (grub_reiserfs_open): Don't reread stat block as we already know the
1995 size.
1996 (grub_reiserfs_read): Split into...
1997 (grub_reiserfs_read_real): ... and ...
1998 (grub_reiserfs_read): ...this.
1999
ae16024d
VS
20002012-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2001
2002 Fix non-indexed JFS.
2003
2004 * grub-core/fs/jfs.c (grub_jfs_sblock): New field flags.
2005 (grub_jfs_data): New field namecomponentlen.
2006 (grub_jfs_mount): Fill namecomponentlen.
2007 (grub_jfs_getent): Use namecomponentlen rather than hardcoded 11.
2008
eea1e26e
VS
20092012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2010
2011 * grub-core/script/yylex.l: Ugly fix for "\\\n ".
2012 * tests/grub_script_echo1.in: Add tests.
2013
df760f77
VS
20142012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2015
2016 * util/grub-install.in: Ignore empty devicetree directory.
2017
5efb817d
B
20182012-05-08 Bean <bean123ch@gmail.com>
2019
2020 * grub-core/net/ip.c (reassemble): Make asm_buffer into asm_netbuff.
2021 All users updated.
2022 (free_rsm): Free header as well.
2023 (free_old_fragments): Fix memory leak.
2024 * grub-core/net/netbuff.c (grub_netbuff_free): Make return void.
2025 * grub-core/net/tftp.c (tftp_receive): Fix memory leak.
2026 (destroy_pq): Likewise.
2027 * include/grub/net/netbuff.h (grub_netbuff_free): Make return void.
2028
668ea6d2
VS
20292012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2030
2031 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Align space for
2032 resulting hash as a precaution.
2033
1739b1fe
VS
20342012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2035
2036 * grub-core/net/bootp.c (set_env_limn_ro): Replace reserved ':' with
2037 '_' in variable names.
2038 * grub-core/net/net.c (grub_net_network_level_interface_register):
2039 Likewise.
2040
6ae485aa
VS
20412012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2042
2043 Fix AFFS with non-512B blocks.
2044
2045 * grub-core/fs/affs.c (grub_affs_rblock): Make type uint32_t.
2046 (AFFS_MAX_LOG_BLOCK_SIZE): New definition.
2047 (grub_affs_data): Replace blocksize with log_blocksize.
2048 (grub_affs_read_block): Fix non-512B blocks.
2049 (grub_affs_read_symlink): Likewise.
2050 (grub_affs_iterate_dir): Likewise. Fix freeing corruption.
2051 (grub_affs_read): Fix non-512B blocks.
2052 (grub_affs_label): Likewise.
2053 (grub_affs_mtime): Likewise.
2054 (grub_affs_mount): Fix block detection routine.
2055
d20fab84
VS
20562012-05-08 Vladimir Serbinenko <phcoder@gmail.com>
2057
2058 Add filesystem mtime to AFFS.
2059
2060 * grub-core/fs/affs.c (grub_affs_file): Make type unsigned.
2061 (aftime2ctime): New function.
2062 (grub_affs_dir): Use aftime2ctime.
2063 (grub_affs_label): Fix return value.
2064 (grub_affs_mtime): New function.
2065 (grub_affs_fs): Add mtime.
2066
e87b10f5
VS
20672012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2068
2069 * grub-core/fs/affs.c (grub_affs_read_symlink): Convert latin1 into
2070 UTF-8.
2071
7dceec9b
VS
20722012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2073
2074 * grub-core/fs/sfs.c (grub_sfs_read_symlink): Convert latin1 into
2075 UTF-8.
2076
2f48221f
VS
20772012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2078
2079 * grub-core/fs/affs.c (grub_affs_iterate_dir): Mark as case insensitive.
2080
dacd85cf
VS
20812012-05-07 Vladimir Serbinenko <phcoder@gmail.com>
2082
2083 * grub-core/fs/sfs.c (grub_sfs_rblock): New fields createtime and
2084 flags.
2085 (FLAGS_CASE_SENSITIVE): New enum value.
2086 (cache_entry): New struct.
2087 (grub_fshelp_node): Add fields cache_off, next_extent, cache_allocated,
2088 cache_size and cache.
2089 (grub_sfs_data): Remove blocksize. All users switched to log_blocksize.
2090 Add log_blocksize and fshelp_flags.
2091 (grub_sfs_read_extent): Handle non-512 blocks.
2092 (grub_sfs_read_block): Add cаche and handle non-512 blocks.
2093 (grub_sfs_read_file): Handle non-512 blocks.
2094 (grub_sfs_mount): Handle non-512 blocks. Fill log_blocksize and
2095 fshelp_flags.
2096 (grub_sfs_read_symlink): Handle non-512 blocks.
2097 (grub_sfs_iterate_dir): Init new fields. Mark as case-insensitive.
2098 (grub_sfs_dir): Free cache.
2099 (grub_sfs_close): Likewise.
2100
24e9a854
VS
21012012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
2102
2103 * grub-core/fs/bfs.c (read_bfs_file): Fix overflow with over 2TiB
2104 filesystems.
2105
62ace64d
VS
21062012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
2107
2108 * grub-core/fs/affs.c (grub_affs_read_block): Fix theoretical overflow.
2109
83b2e89c
VS
21102012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
2111
2112 * grub-core/commands/ls.c (grub_ls_list_files): Fix overflow.
2113
75ccaea3
VS
21142012-05-06 Vladimir Serbinenko <phcoder@gmail.com>
2115
2116 * grub-core/fs/sfs.c (grub_fshelp_node): Fix types.
2117 (grub_sfs_read_extent): Likewise.
2118 (grub_sfs_read_block): Likewise.
2119 (grub_sfs_mount): Likewise.
2120 (grub_sfs_iterate_dir): Likewise.
2121 (grub_sfs_read_symlink): Use strncpy instead of strcpy.
2122 (grub_sfs_read): Remove unnecessarry and wrong temporary variable.
2123
1b8463f2
VS
21242012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2125
2126 Fix errors on compressed NTFS with 512B clusters.
2127
2128 * include/grub/ntfs.h (grub_ntfscomp_func_t): Use appropriately sized
2129 types.
2130 * grub-core/fs/ntfs.c (grub_ntfs_read): Return correct -1 on error and
2131 not 0.
2132 * grub-core/fs/ntfscomp.c (read_block): Use appropriately-sized types.
2133 Relax check for inline extents.
2134 (ntfscomp): Return correct -1 on error and not 0.
2135
4f8e368f
VS
21362012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2137
2138 * util/grub-install.in: Fix handling of prefix containing spaces.
2139
6f5d5ee8
VS
21402012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2141
2142 * grub-core/fs/squash4.c (grub_squash_inode): Fix offset field.
2143 (grub_squash_read_data): Fix offset byte-swapping.
2144
ce41ab7a
VS
21452012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2146
2147 * grub-core/kern/misc.c (grub_strcmp): Use unsigned comparison as
2148 per common usage and preffered in several parts of code.
2149 (grub_memcmp): Likewise.
2150 (grub_strncmp): Likewise.
2151 * include/grub/misc.h (grub_strcasecmp): Likewise.
2152 (grub_strncasecmp): Likewise.
2153 * Makefile.util.def (cmp_test): New test.
2154 (grub_script_strcmp): Likewise.
2155 * tests/cmp_unit_test.c: New file.
2156 * tests/grub_script_strcmp.in: Likewise.
2157 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Add a comment.
2158
49717bf4
VS
21592012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2160
2161 * include/grub/pci.h: Move enums into no-asm part.
2162
0a308f64
VS
21632012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2164
2165 * grub-core/fs/bfs.c (bfs_strcmp) [MODE_AFS]: Use signed comparison.
2166
1796965f
ST
21672012-05-04 Samuel Thibault <samuel.thibault@ens-lyon.org>
2168
2169 * util/getroot.c (find_hurd_root_device): Try to make error message
2170 and comments to translators clearer.
2171
4e9b2819
VS
21722012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2173
2174 * grub-core/commands/menuentry.c: Fix typo in TRANSLATORS comments.
2175
076aeb50
VS
21762012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2177
2178 * grub-core/kern/fs.c (grub_fs_probe) [GRUB_UTIL]: Add workaround for
2179 btrfs.
2180
19424d94
VS
21812012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2182
2183 * docs/grub.cfg: Update.
2184
ebb73076
VS
21852012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2186
2187 * docs/grub.texi (PXE): Remove not present variables.
2188
9a1b669c
VS
21892012-05-04 Vladimir Serbinenko <phcoder@gmail.com>
2190
2191 * grub-core/net/net.c (defserver_set_env): New function.
2192 (defserver_get_env): Likewise.
2193 (GRUB_MOD_INIT): Register net_default_server and pxe_default_server.
2194
d38bf7d3
VS
21952012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2196
2197 * grub-core/kern/emu/hostdisk.c (read_device_map): Skip invalid Fedora
2198 entries.
2199
22002012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11858300
VS
2201
2202 * grub-core/commands/menuentry.c: Add TRANSLATORS comments.
2203 * grub-core/kern/emu/hostdisk.c: Likewise.
2204
e5e4ca48
ST
22052012-05-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
2206
2207 Handle hurd userspace partitions.
2208
2209 * util/getroot.c (find_hurd_root_device): New function.
2210 (grub_guess_root_devices): Use find_hurd_root_device on Hurd.
2211
56bb5dd5
VS
22122012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2213
2214 * util/getroot.c (convert_system_partition_to_system_disk); Add etherd
2215 names.
2216 Reported by: Bastian Blank.
2217
9e8bc27a
VS
22182012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2219
2220 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Fix offset when
2221 crossing page boundary.
2222
aa01499d
VS
22232012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2224
2225 Fix B-tree search in BFS, especially in presence of non-ASCII
2226 characters.
2227
2228 * grub-core/fs/bfs.c (bfs_strcmp): New function.
2229 (find_in_b_tree): Use standard bsearch + btree algorithm.
2230
57006035
VS
22312012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2232
2233 * util/grub-fstest.c (cmd_cmp): Avoid comparing devices, pipes
2234 and so on.
2235
9d34bb85
MG
22362012-05-03 Matthew Garrett <mjg@redhat.com>
22372012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2238
2239 Suspend broadcom cards in order to stop their DMA.
2240
2241 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add pci.h on x86 EFI.
2242 * grub-core/Makefile.core.def (kernel): Add pci.c on x86 EFI.
2243 (pci): Don't build on x86 EFI.
2244 * grub-core/bus/pci.c (grub_pci_find_capability): New function.
2245 * grub-core/kern/efi/mm.c (stop_broadcom) [__i386__ || __x86_64__]:
2246 New function.
2247 (grub_efi_finish_boot_services) [__i386__ || __x86_64__]: Call
2248 stop_broadcom if running on EFI.
2249 * include/grub/pci.h (GRUB_PCI_CLASS_NETWORK): New enum value.
2250 (GRUB_PCI_CAP_POWER_MANAGEMENT): Likewise.
2251 (GRUB_PCI_VENDOR_BROADCOM): Likewise.
2252 (grub_pci_find_capability): New proto.
2253
01aab997
VS
22542012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2255
2256 * docs/grub.texi: Remove dot from the extension as it apparently
2257 doesn't work with some makeinfo versions.
2258
fbd8dca6
VS
22592012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2260
2261 * po/Makefile.in.in: Make msgfmt output in little-endian in accordance
2262 with GRUB expectance.
2263
dab797f4
VS
22642012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2265
2266 * util/grub-fstest.c (cmd_cmp): Compare directories recursively.
2267
1516bfb4
VS
22682012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2269
2270 * grub-core/fs/reiserfs.c (grub_reiserfs_iterate_dir): Put a trailing
2271 zero after directory block since last entry may be not 0-terminated if
2272 it ends on block boundary. Use continue instead of if spanning whole
2273 loop.
2274
a3a0eace
VS
22752012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2276
2277 Support 4K sectors UDF inline files.
2278
2279 * grub-core/fs/udf.c (grub_udf_file_entry): Don't specify padding size.
2280 (grub_udf_extended_file_entry): Likewise.
2281 (grub_fshelp_node): Name the anonymous union. Put block at the end.
2282 All users updated.
2283 (get_fshelp_size): New function.
2284 (grub_udf_read_icb): Read whole block.
2285 (grub_udf_iterate_dir): Likewise.
2286 (grub_udf_dir): Likewise.
2287 (grub_udf_open): Likewise.
2288
c82f16c1
VS
22892012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2290
2291 * grub-core/fs/ufs.c (grub_ufs_get_file_block): Support triple indirect.
2292
59fd2aac
VS
22932012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2294
2295 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Use proper check for
2296 inline symlinks in addition to workaround.
2297
3b4afb4d
VS
22982012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2299
2300 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Handle read_inode errors.
2301
f45c794a
VS
23022012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2303
2304 * grub-core/fs/xfs.c (GRUB_XFS_EXTENT_BLOCK): Fix bitmask.
2305
f25cecbd
VS
23062012-05-03 Vladimir Serbinenko <phcoder@gmail.com>
2307
2308 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Fix return value.
2309
bb9a34e8
VS
23102012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2311
2312 Fix reiserfs big seek times.
2313
2314 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): New argument
2315 exact. All users updated.
2316 (grub_reiserfs_read): Use nearest btree search for seeking.
2317 Fix return value on error.
2318
dc478aea
VS
23192012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2320
2321 * grub-core/commands/legacycfg.c (legacy_file): Default to restricted
2322 entries.
2323 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Likewise.
2324 * docs/grub.texi: Update menuentry description.
2325
8db10f47
VS
23262012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2327
2328 * util/grub-setup.c (setup): Remove duplicate call to embed. Fixes
2329 crash when embedding onto filesystem.
2330
bcb288ed
VS
23312012-05-02 Vladimir Serbinenko <phcoder@gmail.com>
2332
2333 * util/getroot.c (find_root_devices_from_poolname): Handle spaces in the
2334 name.
2335
a626fdd7
VS
23362012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2337
2338 * grub-core/net/ip.c (handle_dgram): Fix undeclared variable.
2339
b2f68477
VS
23402012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2341
2342 * grub-core/normal/autofs.c (read_fs_list): Revert accidental wrong
2343 commit.
2344
ba15b2af
B
23452012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
23462012-05-01 Bean <bean123ch@gmail.com>
2347
2348 * grub-core/net/ip.c (handle_dgram): Fix DHCP mac comparison.
2349
a188012e
VS
23502012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2351
2352 * grub-core/kern/file.c (grub_file_read): Read nothing if len = 0.
2353 Special behaviour for len = 0 to read whole file isn't used anywhere and
2354 can cause buffer ovewrflows in several places.
2355
f0a53ed2
VS
23562012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2357
2358 * grub-core/normal/autofs.c (read_fs_list): Fix memory leak.
2359
5ed554f0
VS
23602012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2361
2362 Handle RAIDZ on non-512B sectors.
2363
2364 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member
2365 max_children_ashift.
2366 (fill_vdev_info_real): Fill max_children_ashift.
2367 (read_device): Use max_children_ashift.
2368
ddc58357
VS
23692012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2370
2371 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Fix memory leak.
2372
e3282399
VS
23732012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2374
2375 * grub-core/kern/emu/hostdisk.c (read_device_map): Reject non-standard
2376 disk names.
2377 * docs/grub.texi: Update device.map parts.
2378
ee618bd4
VS
23792012-05-01 Vladimir Serbinenko <phcoder@gmail.com>
2380
2381 Don't scan into non-diskfilter devices having diskfilter names.
2382
2383 * grub-core/disk/diskfilter.c (is_valid_diskfilter_name): New function.
2384 (scan_disk): New argument accept_diskfilter. Fix recursion depth
2385 handling.
2386 (scan_disk_hook): New function.
2387
bdf88864
B
23882012-04-29 Bean <bean123ch@gmail.com>
2389
2390 * grub-core/net/drivers/efi/efinet.c (get_card_packet): Fix buffer
2391 allocation.
2392
32745f51
MK
23932012-04-29 Mads Kiilerich <mads@kiilerich.com> (tiny)
2394
2395 * configure.ac: Detect starfield theme font path
2396 /usr/share/fonts/dejavu/DejaVuSans.ttf for Fedora.
2397
bc95c8c0
VS
23982012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2399
2400 * grub-core/term/ieee1275/console.c (grub_console_dimensions): Use 80x24
2401 geometry on serial consoles.
2402
147fbcab
VS
24032012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2404
2405 * grub-core/term/terminfo.c (grub_terminfo_readkey): Increase timeout
2406 because of network consoles.
2407
0f42c889
VS
24082012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2409
2410 * grub-core/term/terminfo.c (grub_terminfo_getkey): Fix incorrect queue
2411 handling.
2412
4a3594c9
VS
24132012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2414
2415 * grub-core/disk/diskfilter.c (read_segment): Fix the case when disknr
2416 falls on Q syndrom.
2417
5cb53879
VS
24182012-04-26 Vladimir Serbinenko <phcoder@gmail.com>
2419
2420 * grub-core/fs/nilfs2.c (grub_nilfs2_palloc_entry_offset_log):
2421 Fix argument to grub_nilfs2_palloc_bitmap_block_offset.
2422
b282dfe5
VS
24232012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2424
2425 * grub-core/fs/squash4.c (lzo_decompress): Set grub_errno on error.
2426 Allocate at lest 8192 for temporary buffer as required for lzo.
2427
daa59f47
VS
24282012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2429
2430 * grub-core/fs/fat.c (grub_fat_mount): Don't add logical_sector_bits
2431 to cluster_bits, since it's already added in.
2432 (grub_fat_read_data): Likewise.
2433
986748ce
VS
24342012-04-25 Vladimir Serbinenko <phcoder@gmail.com>
2435
2436 * grub-core/fs/ntfs.c (grub_ntfs_mount): Support 256-byte sectors,
2437 as long as cluster size is multiple of 512 bytes.
2438
a20f6ad0
VS
24392012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
2440
2441 * util/grub-mkrescue.in: Fix locale directory.
2442
385f9abb
VS
24432012-04-23 Vladimir Serbinenko <phcoder@gmail.com>
2444
2445 * grub-core/kern/emu/hostdisk.c (map): Make static.
2446
1c557d30
B
24472012-04-23 Bean <bean123ch@gmail.com>
2448
2449 * util/grub-fstest.c (fstest): Add missing break.
2450
524b5d3a
ST
24512012-04-22 Samuel Thibault <samuel.thibault@ens-lyon.org>
2452
2453 Fix hurd build.
2454
2455 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_size) [__GNU__]: Do
2456 not define nr variable.
fe4824e9 2457 * util/getroot.c [__GNU__] (strip_extra_slashes, xgetcwd, exec_pipe,
2458 find_root_devices_from_poolname, find_root_devices_from_libzfs,
2459 grub_find_device): Do not define.
524b5d3a 2460
9a06490c
VS
24612012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
2462
2463 Fix kfreebsd compile and behaviour.
2464
2465 * grub-core/kern/emu/hostdisk.c (grub_util_follow_gpart_up): Fix
2466 format-security.
2467 * util/getroot.c: Fix wait.h include.
2468 (grub_guess_root_devices): Error if grub_find_device fails.
2469 (grub_util_get_geom_abstraction): Fix shadowing and format-security.
2470 (grub_util_get_dev_abstraction): Likewise.
2471 (grub_util_pull_device): Likewise.
2472 (grub_util_get_grub_dev): Likewise.
2473 * util/lvm.c (grub_util_lvm_isvolume): Likewise.
2474
48143d96
VS
24752012-04-21 Vladimir Serbinenko <phcoder@gmail.com>
2476
2477 Fix and unify wholedisk detection.
2478
2479 * util/getroot.c (convert_system_partition_to_system_disk): New argument
2480 is_part. All users updated.
2481 (device_is_wholedisk): Removed.
2482 (grub_util_biosdisk_get_grub_dev): Use is_part.
2483
ebbd24f3
VS
24842012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2485
2486 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix opening
2487 mode.
2488
56f7aa1e
VS
24892012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2490
2491 * configure.ac: Bump to beta4.
2492
9c815e01
VS
24932012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2494
2495 * grub-core/commands/search_wrap.c (grub_cmd_search): Handle old
2496 --fs-uuid --set UUID syntax.
2497
59e2651a
VS
24982012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2499
2500 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_write): Fix message
2501 disunification.
2502
54e03cfc
VS
25032012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2504
2505 * conf/Makefile.common (LDFLAGS_PLATFORM): Use explicit -Wl.
2506
81092a75
MK
25072012-04-18 Mads Kiilerich <mads@kiilerich.com>
2508
2509 * grub-mkconfig_lib.in: Ignore *.rpmnew and *.rpmsave.
2510
f8315e14
MG
25112012-04-18 Mike Gilbert <floppym@gentoo.org>
2512
2513 * util/grub.d/10_linux.in: Fix detection of genkernel initramfs.
2514
1501ac21
B
25152012-04-18 Bean <bean123ch@gmail.com>
2516
2517 * grub-core/disk/ata.c (grub_ata_strncpy): Put terminating zero at right
2518 place.
2519
cb7f944e
VS
25202012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2521
2522 * grub-core/kern/emu/hostdisk.c (open_device): New argument max. All
2523 users updated.
2524 (grub_util_biosdisk_read): Handle Linux partitions not exactly
2525 corresponding to GRUB partitions.
2526 (grub_util_biosdisk_write): Likewise.
2527
b72d44a1
VS
25282012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2529
2530 Scan mdraid before LVM.
2531
2532 * include/grub/diskfilter.h (grub_diskfilter_register): Renamed to ..
2533 (grub_diskfilter_register_front): ... this.
2534 (grub_diskfilter_register_back): New function.
2535 All users of grub_diskfilter_register updated.
2536
33d918b8
VS
25372012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2538
2539 * util/grub-install.in: Fix an automatic target detection bug.
2540
c6ca973d
VS
25412012-04-18 Vladimir Serbinenko <phcoder@gmail.com>
2542
2543 * util/grub-install.in: New option --efi-directory.
2544
b41be562
VS
25452012-04-17 Vladimir Serbinenko <phcoder@gmail.com>
2546
2547 * grub-core/loader/i386/linux.c (allocate_pages): Overwrite low memory
2548 boot services if we have no other choice.
2549
25502012-04-14 Vladimir Serbinenko <phcoder@gmail.com>
2551
2552 * util/grub-mknetdir.in: Rename --override-directory to --directory and
2553 document it.
2554 * tests/util/grub-shell.in: Update to --directory.
2555
e0595a73
VS
25562012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2557
2558 * grub-core/fs/zfs/zfs.c: Disable -Wstrict-aliasing.
2559
4ed80652
VS
25602012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2561
2562 * grub-core/fs/minix.c (grub_minix_data): Fix ino type.
2563 (grub_minix_read_file): Likewise.
2564 (grub_minix_read_inode): Likewise.
2565 (grub_minix_find_file): Likewise.
2566 (grub_minix_dir): Likewise.
2567
56008077
VS
25682012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2569
2570 * util/grub-setup.c (setup): Fix partition handling and blocklist
2571 check.
2572
ee520775
VS
25732012-04-13 Vladimir Serbinenko <phcoder@gmail.com>
2574
2575 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Remove
2576 redundant buggy overlap check.
2577
16fc9293
VS
25782012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2579
2580 * tests/util/grub-shell.in: Set pkgdatadir when calling grub-mkrescue
2581 and grub-mknetdir.
2582
9bab65c4
VS
25832012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2584
2585 * grub-core/loader/i386/linux.c (grub_cmd_linux): Avoid accessing
2586 kh.loadflags on pre-2.00 kernels.
2587
3c491b47
VS
25882012-04-11 Vladimir Serbinenko <phcoder@gmail.com>
2589
2590 Terminate UNDI and PXE before launching the payload to avoid problems
2591 with DMA.
2592
2593 * grub-core/commands/boot.c (grub_loader_noreturn): Rename to ...
2594 (grub_loader_flags): ... this. All users updated.
2595 (grub_loader_boot): Check for GRUB_LOADER_FLAG_NORETURN.
2596 * grub-core/loader/i386/pc/pxechainloader.c (grub_cmd_pxechain): Mark
2597 loader as GRUB_LOADER_FLAG_PXE_NOT_UNLOAD.
2598 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_shutdown): New
2599 function.
2600 (grub_pxe_restore): Likewise.
2601 (fini_hnd): New var.
2602 (GRUB_MOD_INIT): Register shutdown hook.
2603 (GRUB_MOD_FINI): Shutdown and unregister shutdown hook.
2604 * include/grub/loader.h (GRUB_LOADER_FLAG_NORETURN): New const.
2605 (GRUB_LOADER_FLAG_PXE_NOT_UNLOAD): Likewise.
2606 (grub_loader_set): Rename second argument to flags.
2607
851ffada
VS
26082012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2609
2610 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Return number of
2611 written bytes.
2612 (grub_get_num_of_utf8_bytes): New function.
2613 (grub_ucs4_to_utf8_alloc): Use grub_get_num_of_utf8_bytes.
2614 * grub-core/normal/menu_entry.c (run): Convert entry to UTF-8 before
2615 executing it.
2616 * include/grub/charset.h (grub_get_num_of_utf8_bytes): New proto.
2617 (grub_ucs4_to_utf8): Change return type.
2618
491c57a8
VS
26192012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2620
2621 * grub-core/commands/usbtest.c (usb_print_str): Silence spurious
2622 warning.
851ffada
VS
2623 * grub-core/fs/bfs.c (hop_level): Likewise.
2624 * grub-core/net/bootp.c (grub_cmd_bootp): Likewise.
491c57a8 2625
756773df
VS
26262012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2627
2628 * grub-core/lib/adler32.c: Recode due to license unclearness.
2629
fd556a96
VS
26302012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2631
2632 * grub-core/io/lzopio.c (read_block_header): Fix incorrect byte swapping
2633 (test_header): Likewise.
2634
9f9d3f69
VS
26352012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2636
2637 Fix --help formatting.
2638
2639 * util/grub-mkconfig_lib.in (print_option_help): New function.
2640 (grub_fmt): Likewise.
2641 * util/grub-install.in: Use print_option_help and grub_fmt.
2642 * util/grub-kbdcomp.in: Likewise.
2643 * util/grub-mkconfig.in: Likewise.
2644 * util/grub-mknetdir.in: Likewise.
2645 * util/grub-mkrescue.in: Likewise.
2646 * util/grub-mkstandalone.in: Likewise.
2647 * util/grub-reboot.in: Likewise.
2648 * util/grub-set-default.in: Likewise.
2649 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
2650
561ec77e
VS
26512012-04-07 Vladimir Serbinenko <phcoder@gmail.com>
2652
2653 * linguas.sh: Remove autogenerated *.po.
2654
7ec2b021
VS
26552012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2656
2657 * po/README: Move language fetcing to ...
2658 * linguas.sh: ... here.
2659 * po/README: Point to linguas.sh.
2660
a88f3270
VS
26612012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2662
2663 * po/README: Exclude ko.po due to disclaimer problems.
2664
d61357ce
VS
26652012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2666
2667 * grub-core/gettext/gettext.c (grub_gettext_pread): Fix the case when
2668 len = 0.
2669 (grub_gettext_translate_real): Handle 0th string.
2670 (grub_gettext_translate): Ensure that "" isn't translated.
2671
505e41dc
VS
26722012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2673
2674 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add
2675 TRANSLATORS comment.
2676 (grub_diskfilter_print_partmap): Propagate changing of error into
2677 warning.
2678
e44092db
VS
26792012-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2680
2681 * include/grub/diskfilter.h (grub_diskfilter_vg): Increase extent_size
2682 to uint64_t to prevent overflow.
2683 (grub_diskfilter_lv): Increase start_extent and extent_count
2684 to uint64_t to prevent overflow.
2685
9b83956a
VS
26862012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2687
2688 * configure.ac: Increase version.
2689
da0d5b3f
VS
26902012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2691
2692 Introduce en@cyrillic en@hebrew en@arabic and en@greek.
2693
2694 * po/Rules-translit: New file.
2695 * po/arabic.sed: Likewise.
2696 * po/cyrillic.sed: Likewise.
2697 * po/greek.sed: Likewise.
2698 * po/hebrew.sed: Likewise.
2699 * po/README: Add en@cyrillic en@hebrew en@arabic and en@greek.
2700 * po/Makefile.in.in: Add extra_dist4.
2701
ac66b453
VS
27022012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2703
2704 Handle big-endian minixfs (fixes minixfs tests on bigendian).
2705
2706 * grub-core/fs/minix.c: Replace le with minix. Add necessary defines,
2707 modify names. Introduce MODE_BIGENDIAN.
2708 * grub-core/fs/minix_be.c: New file.
2709 * grub-core/fs/minix2_be.c: Likewise
2710 * grub-core/fs/minix3_be.c: Likewise.
2711 * Makefile.util.def (libgrubmods): Add minix_be, minix2_be and
2712 minix3_be.
2713 * grub-core/Makefile.core.def (minix_be): New module.
2714 (minix2_be): Likewise.
2715 (minix3_be): Likewise.
2716
27172012-04-01 Felix <email@hamburg.de>
2718
2719 * grub-core/loader/efi/appleloader.c (devpath_7): New var.
2720 (devs): Add MBP 2011.
2721
0a2d5a82
VS
27222012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2723
2724 * grub-core/font/font.c (blit_comb): Handle dagesh somewhat.
2725
d1625889
VS
27262012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2727
2728 * grub-core/normal/cmdline.c (print_completion): New field
2729 prompt_len.
2730 (grub_cmdline_get): Handle width properly.
2731
6d36a236
VS
27322012-04-01 Vladimir Serbinenko <phcoder@gmail.com>
2733
2734 * grub-core/commands/lsacpi.c (options): Add missing terminator.
2735
9576977e
VS
27362012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2737
2738 * include/grub/datetime.h (grub_datetime2unixtime): Fix handling of days
6d36a236 2739 after 29th of February.
9576977e 2740
d73ff15d
VS
27412012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2742
2743 Fix exfat endianness handling.
2744
2745 * grub-core/fs/fat.c (grub_fat_data): Make fat_sector 32-bit.
2746 (grub_fat_mount) [MODE_EXFAT]: Fix bpb.num_reserved_sectors byte-swap.
2747 (grub_fat_iterate_dir) [MODE_EXFAT]: Fix attr byte-swap.
2748 Byte-swap utf16 when necessary.
2749 (grub_fat_label) [MODE_EXFAT]: Byte-swap utf16 when necessary.
2750
bbb39a45
AB
27512012-03-31 Anton Blanchard <anton@samba.org>
27522012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2753
2754 Fix btrfs endianness handling.
2755
2756 * grub-core/fs/btrfs.c (key_cmp): Use grub_le_to_cpu for clarity.
2757 (lower_bound): Make root uint64_t. Use root in le.
2758 (grub_btrfs_read_logical): Fix template key init. Fix address byteswap.
2759 (find_path): Fix template key init.
2760 (grub_btrfs_dir): Fix mtime byteswap.
2761 * include/grub/types.h (grub_cpu_to_le64_compile_time): New macro.
2762
354e0af7
VS
27632012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2764
2765 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): New argument
2766 recursion_depth. Break infinite resursions. All users updated.
2767
4e75f21c
VS
27682012-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2769
2770 * util/getroot.c (convert_system_partition_to_system_disk): Fix use
2771 after free.
2772 Reported by: Peter Jones.
2773
25581802
AB
27742012-03-31 Anton Blanchard <anton@samba.org>
2775
2776 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Do not byteswap
2777 8 bit values.
2778
08fbf92e
VS
27792012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2780
2781 * util/grub-install.in: Fix nvram call for PreP.
2782
5d1182a6
VS
27832012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2784
2785 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Degrade
2786 the error when some elements are missing into a warning.
2787
3f8cdd90
VS
27882012-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2789
2790 * grub-core/normal/charset.c (bidi_line_wrap): Fix out-of-range swap.
2791
51006716
CW
27922012-03-28 Colin Watson <cjwatson@ubuntu.com>
2793
2794 * docs/grub.texi (Invoking grub-probe): New section.
2795 Reported by: Filipus Klutiero. Fixes Debian bug #666031.
2796
e1bd676b
VS
27972012-03-27 Vladimir Serbinenko <phcoder@gmail.com>
2798
2799 Fix tab and wide character handling in editor and menu.
2800
2801 * grub-core/normal/charset.c (grub_unicode_aglomerate_comb): Don't
2802 agglomerate control characters with combining marks.
2803 (bidi_line_wrap): Allow break on tab.
2804 (grub_unicode_get_comb_start): New function.
2805 * grub-core/normal/menu_entry.c: Restructure to handle wide characters
2806 and tab correctly.
2807 * grub-core/normal/menu_text.c (print_entry): Replace \n, \r, \b and \e
2808 with a space.
2809 * grub-core/normal/term.c (print_ucs4_terminal): New argument
2810 fixed_tab_size. All users updated.
2811 * include/grub/term.h (GRUB_TERM_TAB_WIDTH): New const.
2812 (grub_term_getcharwidth): Handle \t.
2813 * include/grub/unicode.h (grub_unicode_glyph_dup): Fix allocation
2814 and copy.
2815
22e6a774
VS
28162012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2817
2818 Handle big-endian mdraid.
2819
2820 * Makefile.util.def (libgrubkern): Add mdraid_linux_be.c.
2821 * grub-core/Makefile.core.def (mdraid09_be): New module.
2822 * grub-core/disk/mdraid_linux.c: Use grub_md_to_cpu* and grub_cpu_to_md*
2823 rather than grub_le_to_cpu* and grub_cpu_to_le*.
2824 * grub-core/disk/mdraid_linux_be.c: New file.
2825
3c0eae66
VS
28262012-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2827
2828 * grub-core/gettext/gettext.c (GRUB_MOD_INIT): Handle errors.
2829
b6cf74c9
VS
28302012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2831
2832 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
2833 missing quotes which caused confusion among translators.
2834
83c93b9c
VS
28352012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2836
2837 * util/grub-mkconfig_lib.in: Fix typo.
2838
ac6fd218
VS
28392012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2840
2841 * grub-core/script/argv.c (grub_script_argv_split_append): Skip leading
2842 spaces.
2843 * tests/grub_script_leading_whitespace.in: New file.
2844 * Makefile.util.def (grub_script_leading_whitespace): New test.
2845
ba287dd8
VS
28462012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2847
2848 * grub-core/kern/dl.c (grub_dl_add): Make global in order for gdb_grub
2849 to work.
2850
d2d58d0a
VS
28512012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2852
2853 * grub-core/fs/jfs.c (grub_jfs_label): Use first label if second one
2854 starts with control character.
2855
0382d9bb
VS
28562012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2857
2858 * grub-core/gdb/cstub.c (grub_gdb_inbuf): Increase the size to avoid
2859 overflow.
2860 (grub_gdb_outbuf): Likewise.
2861
d83ff9f9
VS
28622012-03-19 Vladimir Serbinenko <phcoder@gmail.com>
2863
2864 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): Add
2865 zero terminator. Fixes a crash.
2866
2282da4a
VS
28672012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2868
2869 * grub-core/loader/i386/linux.c (allocate_pages): Don't allocate
2870 beyond 4 GiB.
2871 (grub_cmd_linux): Use GRUB_LINUX_BZIMAGE_ADDR for non-relocatable
2872 images independently of preffered adderss field.
2873
0ae4f0bd
VS
28742012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2875
2876 * grub-core/commands/i386/pc/play.c: Improve TRANSLATORS comments.
2877 * grub-core/commands/regexp.c: Likewise.
2878 * grub-core/loader/i386/linux.c: Likewise.
2879 * grub-core/partmap/msdos.c: Likewise.
2880 * grub-core/script/execute.c: Likewise.
2881 * grub-core/term/gfxterm.c: Likewise.
2882
546fbe9b
VS
28832012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2884
2885 Add variable parsing in $"..." and fix several mismatches with bash.
2886
2887 * Makefile.util.def (grub_script_gettext): New test.
2888 * grub-core/script/execute.c (parse_string): New function.
2889 (gettext_append): Likewise.
2890 (grub_script_arglist_to_argv): Use gettext_append.
2891 * grub-core/script/yylex.l: Fix slash and newline handling in $"...".
2892 * tests/grub_script_gettext.in: New file.
2893
9fdb2d7b
VS
28942012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2895
2896 Fix handling of leading spaces in scripts.
2897
2898 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't strip leading
2899 spaces.
2900 * grub-core/normal/main.c (grub_file_getline): Remove all preprocessing
2901 other than skipping \r. All users updated.
2902 * tests/grub_script_echo1.in: Add space-related tests.
2903 * util/grub-menulst2cfg.c (main): Remove useless space skipping.
2904
1a1ac4f6
VS
29052012-03-11 Vladimir Serbinenko <phcoder@gmail.com>
2906
2907 * grub-core/commands/cat.c (grub_cmd_cat): Fix termination key check.
2908
b63d89b6
VS
29092012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2910
2911 * configure.ac: Bump up the version to beta2.
2912
17f38c0f
VS
29132012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2914
2915 Fix gettext reload bugs (e.g. inability to disable gettext
2916 once enabled).
2917
2918 * grub-core/gettext/gettext.c: Encapsulate all static variables in
2919 main_context and secondary_context. All functions updated.
2920 (grub_gettext_translate): Rename to ...
2921 (grub_gettext_translate_real): ... this. Return NULL on failed
2922 translate.
2923 (grub_gettext_translate): Handle secondary context.
2924 (grub_gettext_delete_list): Close file and zero-out the context.
2925 (grub_mofile_open): Don't call grub_gettext_delete_list.
2926 Don't close file.
2927 (grub_gettext_init_ext): Call grub_gettext_init_ext. Skip loading
2928 if locale="" to avoid pointless error message.
2929 (grub_gettext_env_write_lang): Update lang even if load fails.
2930 Handle secondary context.
2931 (grub_gettext_reread_prefix): New function.
2932 (read_main): Likewise.
2933 (read_secondary): Likewise.
2934 (GRUB_MOD_INIT): Handle secondary context. Hook and export variables.
2935 (GRUB_MOD_FINI): Handle secondary context. Don't close file.
2936 * grub-core/normal/main.c (read_lists): Call grub_gettext_reread_prefix.
2937 * include/grub/normal.h (grub_gettext_reread_prefix): New proto.
2938
8e56f870
VS
29392012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2940
2941 * configure.ac: Decrease warning level to avoid spurious warnings and
2942 to be able to compile with GCC 4.2.
2943 * Makefile.util.def: Remove -Wno-error=logical-op.
2944
82f6d455
WB
29452012-03-10 William Bittner <william.bittner@gmail.com>
2946
2947 * util/import_unicode.py: Add missing brackets around string for
2948 python 3 support.
2949
1ecd61a4
VS
29502012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2951
2952 Fix efi chainloader on network root.
2953
2954 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Handle
2955 network devices.
2956 * grub-core/net/drivers/efi/efinet.c (grub_efinet_get_device_handle):
2957 New function.
2958
14361ee8
VS
29592012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2960
2961 * grub-core/gfxmenu/gui_progress_bar.c (grub_gui_progress_bar): Remove
2962 unused show_text member.
2963 * docs/grub.texi: Document "text" property.
2964
922aabf3
VS
29652012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2966
2967 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Fix format
2968 in dprintf.
2969
ec316771
VS
29702012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2971
2972 Fix IMSM handling on Fedora.
2973
2974 * util/getroot.c (grub_util_is_imsm): New function.
2975 (grub_util_get_dev_abstraction): Treat IMSM as simple device, not RAID.
2976
0f021838
VS
29772012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2978
2979 * Makefile.am: Strip gold section.
2980 * conf/Makefile.common: Likewise.
2981 * gentpl.py: Likewise.
2982 * grub-core/Makefile.core.def: Likewise.
2983 * grub-core/genmod.sh.in: Likewise.
2984
1039c8eb
VS
29852012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2986
2987 * util/grub.d/10_linux.in: Use stat if grub-probe on root fails.
2988 * util/grub.d/20_linux_xen.in: Likewise.
2989 Based on Debian patch.
2990
6dd412cd
VS
29912012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2992
2993 * util/grub.d/10_linux.in: Fix syntax error resulting in
2994 Richard Laager's patch.
2995 * util/grub.d/20_linux_xen.in: Propagate Richard Laager's patch.
2996
3fd8bae5
VS
29972012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
2998
2999 * tests/partmap_test.in: Replace qemu-img usage with dd to decrease
3000 dependencies.
3001
7eea1671
RL
30022012-03-10 Richard Laager <rlaager@wiktel.com>
3003
3004 * util/grub.d/10_linux.in: Fix ZFS root passing.
3005
e8e0566b
VS
30062012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3007
3008 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
3009 * grub-core/commands/xnu_uuid.c: Likewise.
3010 * grub-core/loader/efi/appleloader.c: Likewise.
3011 * grub-core/script/execute.c: Likewise.
3012 * grub-core/script/main.c: Likewise.
3013 * util/grub-mkfont.c: Likewise.
3014
1acc5b1f
VS
30152012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3016
3017 * util/grub-mkfont.c (options): Use more appropriate "select" that
3018 "set" for face index.
3019
35d70620
VS
30202012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3021
3022 * util/grub-editenv.c (options): Gettextize command summaries.
3023
c9eb96b5
VS
30242012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3025
3026 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Use
3027 "out of memory" error messagge.
3028
1f493136
VS
30292012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3030
3031 * grub-core/disk/diskfilter.c (grub_diskfilter_memberlist): Add scanning
3032 of diskfilter for diskfilter on diskfilter support.
3033
6d790129
VS
30342012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3035
3036 * util/getroot.c (exec_pipe): Ensure that the child is not localised.
3037
005f46c9
VS
30382012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3039
3040 * util/grub-install.in: Check for themes/starfield/theme.txt and not
3041 themes/starfield.
3042
c8f778a0
VS
30432012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3044
3045 * grub-core/gnulib/regcomp.c (regerror): Fix out-of-range array lookup.
3046
de1e64eb
VS
30472012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3048
3049 * grub-core/gdb/i386/idt.c (grub_gdb_breakpoint): Remove old debug code.
3050
c6d54211
VS
30512012-03-10 Vladimir Serbinenko <phcoder@gmail.com>
3052
3053 * grub-core/commands/hashsum.c (grub_cmd_hashsum): Remove dot at the end
3054 of error message.
3055
dd390777
VS
30562012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
3057
3058 * util/grub-install.in: Fix install non-PreP IEEE1275 install.
3059
5fd1c522
VS
30602012-03-09 Vladimir Serbinenko <phcoder@gmail.com>
3061
3062 * grub-core/commands/i386/pc/sendkey.c (GRUB_MOD_INIT): Fix confusing
3063 message.
c6d54211 3064 * util/grub-install.in: Fix and gettextize error message.
5fd1c522 3065
fae01f6c
VS
30662012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3067
3068 * util/grub-fstest.c (options): Replace N with NUM and S with STRING.
3069 Gettextize.
3070 * util/grub-mount.c (options): Likewise.
3071
292fdaff
VS
30722012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3073
3074 * grub-core/commands/probe.c (options): Replace VAR with VARNAME and
3075 gettextize.
3076 * grub-core/commands/search_wrap.c (options): Likewise.
3077
ecdbae77
VS
30782012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3079
3080 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning.
3081
52bfedfa
VS
30822012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3083
3084 * grub-core/boot/i386/pc/startup_raw.S (multiboot_trampoline): Fix
3085 size calculation.
3086 * grub-core/kern/i386/realmode.S (realidt): Assume default BIOS IDT if
3087 none is known.
3088
55b20e58
VS
30892012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3090
3091 * grub-core/net/net.c (grub_net_addr_to_str): Don't translate
3092 "temporary" since it's used in identifier and is limited in space.
3093
fda9d101
VS
30942012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3095
3096 * po/POTFILES.in: Regenerate. Include *.h since they contain
3097 translatable strings as well.
3098
6a0295e2
VS
30992012-03-08 Vladimir Serbinenko <phcoder@gmail.com>
3100
3101 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
3102 byte-swap on big-endian.
3103 Reported by: Lennart Sorensen
3104
807fb77c
VS
31052012-03-07 Vladimir Serbinenko <phcoder@gmail.com>
3106
3107 * grub-core/loader/i386/linux.c (prot_init_space): New variable.
3108 (allocate_pages): Improve dprintf.
3109 (grub_cmd_linux): Fill prot_init_space. Fix improper usage of
3110 code32_start. Fill code32_start and kernel_alignment in params.
3111 (grub_cmd_initrd): Use prot_init_space.
3112
61ac50ba
VS
31132012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3114
3115 * util/grub-mkstandalone.in: Propagate grub-mkimage.c change.
3116
abdd26dd
VS
31172012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3118
3119 * util/grub-install.in: Add missing dot at the end of sentence.
3120
6e69da9c
VS
31212012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3122
3123 * grub-core/commands/videoinfo.c: Add TRANSLATORS comments.
3124 * grub-core/commands/videotest.c: Likewise.
3125 * grub-core/loader/i386/linux.c: Likewise.
3126
4a929343
VS
31272012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3128
3129 * grub-core/commands/acpi.c (options): Fix a dot in the middle of the
3130 sentence.
3131 Reported by: Milo Casagrande.
3132
bb51c6c6
VS
31332012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3134
3135 * grub-core/commands/acpi.c: Add TRANSLATORS comments.
3136 * grub-core/commands/gptsync.c: Likewise.
3137 * grub-core/commands/hashsum.c: Likewise.
3138 * grub-core/commands/i386/pc/sendkey.c: Likewise.
3139 * grub-core/commands/legacycfg.c: Likewise.
3140 * grub-core/io/gzio.c: Likewise.
3141 * grub-core/net/net.c: Likewise.
3142 * grub-core/term/gfxterm.c: Likewise.
3143 * grub-core/term/terminfo.c: Likewise.
3144 * grub-core/tests/test_blockarg.c: Likewise.
3145 * grub-core/video/video.c: Likewise.
3146 * util/grub-install.in: Likewise.
3147 * util/grub-mkfont.c: Likewise.
3148
b2b149cb
VS
31492012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3150
3151 * util/grub-mkimage.c (help_filter): Add missing capitalisation.
3152
c7c080ad
VS
31532012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3154
3155 * grub-core/commands/search_wrap.c (options): Fix a typo.
bb51c6c6 3156 Reported by: David Prévot.
c7c080ad 3157
f2e243c0
VS
31582012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3159
3160 * util/grub-kbdcomp.in: Change "layout" to "keyboard layout" in
3161 description.
3162
09963c76
VS
31632012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3164
3165 * util/grub-script-check.c (main): Fix a syntax error message which was
3166 unclear.
3167
a50514a8
VS
31682012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3169
3170 * util/grub-mkrescue.in (usage): Fix ROM capitalisation.
3171
4650daec
VS
31722012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
3173
3174 * grub-core/commands/search_wrap.c (options): Fix wrong copy-paste in
3175 messages.
3176
31772012-03-06 Vladimir Serbinenko <phcoder@gmail.com>
97ebda9b
VS
3178
3179 * util/grub-fstest.c (options): Remove OPTION_ARG_OPTIONAL from options
3180 without argument.
3181 * util/grub-mount.c (options): Likewise.
3182
bbc5a342
VS
31832012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3184
3185 * util/grub-mkimage.c (generate_image): Unify diskboot.img size message.
3186
ef292a87
VS
31872012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3188
3189 * grub-core/net/http.c: Add TRANSLATORS comments.
3190 * grub-core/normal/cmdline.c: Likewise.
3191 * grub-core/normal/misc.c: Likewise.
3192 * grub-core/partmap/msdos.c: Likewise.
3193 * grub-core/parttool/msdospart.c: Likewise.
3194 * grub-core/script/execute.c: Likewise.
3195 * grub-core/script/main.c: Likewise.
3196 * grub-core/term/terminfo.c: Likewise.
3197 * grub-core/video/bitmap.c: Likewise.
3198 * util/grub-install.in: Likewise.
3199 * util/grub-mkimage.c: Likewise.
3200 * util/grub-mklayout.c: Likewise.
3201 * util/grub-setup.c: Likewise.
3202
0fc19bd0
VS
32032012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3204
3205 * util/grub-mount.c (fuse_init): Unify cryptomount and loopback messages
3206 with similar messages in grub-fstest.
3207
d95862ef
VS
32082012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3209
3210 * util/grub-install.in: Unify "option requires an argument" message
3211 with similar messages in other files.
3212 * util/grub-mkconfig.in: Likewise.
3213
b7308f90
VS
32142012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3215
3216 * util/grub-set-default.in: Replace printf with gettext_printf (the
3217 string in in question is already translated from grub-reboot)
3218
559dc587
VS
32192012-03-05 Vladimir Serbinenko <phcoder@gmail.com>
3220
3221 * configure.ac: Bump up the version to beta1.
3222
1a11761f
VS
32232012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3224
3225 * grub-core/loader/i386/linux.c (allocate_pages): Fix handling of the
3226 case when min_align = 0.
3227
24539abd
VS
32282012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3229
3230 * grub-core/normal/charset.c (bidi_line_wrap): Fix a spurious warning
3231 and fix a case when line_start overflows.
3232
32bd735b
VS
32332012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3234
3235 * util/grub-reboot.in (usage): Mention id posibility.
3236 * util/grub-set-default.in (usage): Likewise.
3237
1a2fd1e6
VS
32382012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3239
3240 * include/grub/misc.h (ALIGN_UP_OVERHEAD): New define.
3241 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Align initrds at 4.
3242 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
3243 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
3244 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
3245 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3246 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
3247
90eeab76
VS
32482012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3249
3250 * grub-core/commands/menuentry.c (options): Remove
3251 GRUB_ARG_OPTION_REPEATABLE.
3252 Reported by: Andreas Vogel
3253
5ad1be82
AV
32542012-03-04 Andreas Vogel <Andreas.Vogel@anvo-it.de>
3255
3256 * grub-core/normal/main.c (grub_normal_free_menu): Fix memory leak.
3257
cb055286
HE
32582012-03-04 Hideki EIRAKU <hdk1983@gmail.com>
3259
3260 * grub-core/normal/menu_entry.c (kill_line): Fix a crash and off-by-one
3261 error.
3262
93b1cd79
VS
32632012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3264
3265 Use sort -V by the idea of Georgi Georgiev.
3266
3267 * util/grub-mkconfig_lib.in (version_sort): New function.
3268 (version_test_numeric): Use version_sort.
3269
0cdc126c
VS
32702012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3271
3272 Use submenus in grub-mkconfig.
3273
3274 * util/grub-mkconfig.in: Define GRUB_ACTUAL_DEFAULT.
3275 * util/grub-mkconfig_lib.in (grub_quote): New function.
3276 (gettext_printf): Use gettext and not gettext_quoted to fix several
3277 messages.
3278 * util/grub.d/10_hurd.in: Use submenus.
3279 * util/grub.d/10_kfreebsd.in: Likewise.
3280 * util/grub.d/10_linux.in: Likewise.
3281 * util/grub.d/10_netbsd.in: Likewise.
3282 * util/grub.d/20_linux_xen.in: Likewise.
3283 * util/grub.d/30_os-prober.in: Likewise.
3284 * util/grub.d/10_illumos.in: Add missing quoting.
3285 * util/grub.d/10_windows.in: Likewise.
3286
d9bef9bc
VS
32872012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
3288
3289 Fix menu title instability bug.
3290
3291 * grub-core/commands/menuentry.c (options): New option --id.
3292 (grub_normal_add_menu_entry): New argument id. All users updated.
3293 (grub_cmd_menuentry): Handle --id.
3294 (grub_menu_init): Accept unknown arguments.
3295 * grub-core/normal/main.c (features): Add feature_menuentry_id and
3296 feature_menuentry_options.
3297 * grub-core/normal/menu.c (grub_menu_execute_entry): Use id for
3298 saved_entry.
3299 (get_entry_number): Match with id as well.
3300 * include/grub/menu.h (grub_menu_entry): New member id.
3301 * util/grub-mkconfig_lib.in (grub_get_device_id): New function.
3302 * util/grub.d/00_header.in: Define menuentry_id_option.
3303 * util/grub.d/10_hurd.in: Define id.
3304 * util/grub.d/10_illumos.in: Likewise.
3305 * util/grub.d/10_kfreebsd.in: Likewise.
3306 * util/grub.d/10_linux.in: Likewise.
3307 * util/grub.d/10_netbsd.in: Likewise.
3308 * util/grub.d/10_windows.in: Likewise.
3309 * util/grub.d/20_linux_xen.in: Likewise.
3310 * util/grub.d/30_os-prober.in: Likewise.
3311
33122012-03-04 Vladimir Serbinenko <phcoder@gmail.com>
0d31b7df
VS
3313
3314 * grub-core/script/execute.c (grub_script_return): Replace ambiguous
3315 "scope" with "body".
3316
7c8d0ce7
VS
33172012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3318
3319 * include/grub/i386/linux.h (linux_kernel_header): Fix init_size type.
3320 * grub-core/loader/i386/linux.c (grub_cmd_linux): Differentiate between
3321 prot_size and prot_file_size.
3322
49de079b
VS
33232012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3324
3325 * grub-core/disk/diskfilter.c (is_lv_readable): New argument "easily".
3326 All users updated. If easily=1 require raid-5/-6 to be full.
3327 (is_node_readable): Likewise.
3328 (scan_devices): Scan incomplete but readable LVs at the end.
3329 (grub_diskfilter_memberlist): Pull missing devices.
3330 (insert_array): Skip scanning until device is complete or scan is
3331 done otherwise.
3332 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix wrong
3333 check.
3334 * include/grub/diskfilter.h (grub_diskfilter_lv): New member scanned.
3335 * util/raid.c (grub_util_raid_getmembers): Handle "removed" disks.
3336
aff05d45
MG
33372012-03-03 Matthew Garrett <mjg@redhat.com>
33382012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3339
3340 Avoid EFI boot services when loading Linux.
3341
3342 * grub-core/lib/i386/relocator.c (grub_relocator32_boot): New argument
3343 avoid_efi_bootservices. All users updated.
3344 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): New
3345 argument avoid_efi_bootservices. All users updated.
3346 Use grub_efi_mmap_iterate on EFI, grub_mmap_iterate if available.
3347 * grub-core/loader/i386/linux.c (allocate_pages): New arguments
3348 align, min_align, relocatable, prefered_address. All users updated.
3349 Allocate avoiding boot services if kernel is relocatable.
3350 (grub_cmd_linux): Check if kernel is relocatable.
3351 * grub-core/mmap/efi/mmap.c (grub_machine_mmap_iterate): Move most to ..
3352 (grub_efi_mmap_iterate): ... here. New argument avoid_efi_boot_services.
3353 Skip GRUB_EFI_BOOT_SERVICES_DATA and GRUB_EFI_BOOT_SERVICES_CODE if
3354 avoid_efi_boot_services.
3355 (grub_machine_mmap_iterate): Wrap grub_efi_mmap_iterate.
3356 * include/grub/i386/linux.h (linux_kernel_header): Update to 2.10.
3357 (linux_kernel_params): Likewise.
3358
3935dde2
MG
33592012-03-03 Matthew Garrett <mjg@redhat.com>
33602012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3361
3362 Use EDID on EFI.
3363
3364 * grub-core/kern/efi/efi.c (grub_efi_get_variable): New argument
3365 datasize_out.
3366 * grub-core/video/efi_gop.c (check_protocol): Check that GOP has usable
3367 modes. Set gop_handle.
3368 (grub_video_gop_get_edid): New function.
3369 (grub_gop_get_preferred_mode): Likewise.
3370 (grub_video_gop_setup): Use grub_gop_get_preferred_mode.
3371 (grub_video_efi_gop_adapter): Set .get_edid.
3372 * include/grub/efi/edid.h: New file.
3373 * include/grub/efi/efi.h (grub_efi_get_variable): Update proto.
3374
32107ec0
VS
33752012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3376
3377 * util/grub-install.in: Load efivars unconditionally.
3378
e70a2c50
VS
33792012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3380
3381 * po/Rules-piglatin: Change suffix from .po-update-en to
3382 .po-update-en-piglatin.
3383
8f9cace1
VS
33842012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3385
3386 Add a pig farm.
3387
3388 * po/piglatin.sed: New file.
3389 * po/en@piglatin.header: Likewise.
3390 * po/Rules-piglatin: Likewise.
3391 * po/README: Add en@piglatin to autogenerated languages.
3392
8f95d002
VS
33932012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3394
3395 * grub-core/commands/date.c (GRUB_MOD_INIT): Remove non-uniform
3396 "Command for ...".
3397 * grub-core/commands/hdparm.c (options): Use "Display" rather than
3398 "Check" since we don't check anything.
3399 * grub-core/commands/i386/cpuid.c (options): Clarify that long mode
3400 is 64-bit one.
3401 * grub-core/commands/search_wrap.c (options): Clarify the conditions.
3402 * grub-core/disk/geli.c (grub_md_sha256_real): Fix typo.
3403 (grub_md_sha512_real): Likewise.
3404
805a8dcc
VS
34052012-03-03 Vladimir Serbinenko <phcoder@gmail.com>
3406
3407 * grub-core/commands/gptsync.c: Fix typographic quoting.
3408 * grub-core/commands/ieee1275/suspend.c: Likewise.
3409 * grub-core/commands/parttool.c: Likewise.
3410 * grub-core/commands/search_wrap.c: Likewise.
3411 * grub-core/commands/videoinfo.c: Likewise.
3412 * grub-core/gfxmenu/gui_label.c: Likewise.
3413 * grub-core/hello/hello.c: Likewise.
3414 * grub-core/kern/emu/main.c: Likewise.
3415 * grub-core/net/net.c: Likewise.
3416 * grub-core/normal/menu.c: Likewise.
3417 * grub-core/normal/menu_text.c: Likewise.
3418 * grub-core/normal/misc.c: Likewise.
3419 * util/grub-editenv.c: Likewise.
3420 * util/grub-install.in: Likewise.
3421 * util/grub-kbdcomp.in: Likewise.
3422 * util/grub-mkconfig.in: Likewise.
3423 * util/grub-mknetdir.in: Likewise.
3424 * util/grub-mkrescue.in: Likewise.
3425 * util/grub-mkstandalone.in: Likewise.
3426 * util/grub-reboot.in: Likewise.
3427 * util/grub-set-default.in: Likewise.
3428 * util/grub-setup.c: Likewise.
3429 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3430
40211ab8
VS
34312012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3432
3433 * grub-core/commands/acpihalt.c: Add TRANSLATORS comments.
3434 * grub-core/commands/keystatus.c: Likewise.
3435 * grub-core/commands/loadenv.c: Likewise.
3436 * grub-core/commands/probe.c: Likewise.
3437 * grub-core/commands/regexp.c: Likewise.
3438 * grub-core/commands/true.c: Likewise.
3439 * grub-core/commands/videoinfo.c: Likewise.
3440 * grub-core/disk/cryptodisk.c: Likewise.
3441 * grub-core/disk/ldm.c: Likewise.
3442 * grub-core/disk/loopback.c: Likewise.
3443 * grub-core/disk/luks.c: Likewise.
3444 * grub-core/fs/zfs/zfsinfo.c: Likewise.
3445 * grub-core/kern/disk.c: Likewise.
3446 * grub-core/kern/emu/hostdisk.c: Likewise.
3447
0c7d99c7
VS
34482012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3449
3450 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS comment.
3451 * util/grub-install.in: Add missing quote in the comment.
3452
e7d2559b
VS
34532012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3454
3455 * grub-core/commands/i386/pc/drivemap.c: Add TRANSLATORS comments.
3456 * grub-core/commands/lsmmap.c: Likewise.
3457 * grub-core/commands/minicmd.c: Likewise.
3458 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
3459 * grub-core/commands/regexp.c: Likewise.
3460 * grub-core/gdb/gdb.c: Likewise.
3461 * grub-core/term/gfxterm.c: Likewise.
3462 * util/grub-mkconfig.in: Likewise.
3463 * util/grub-mkfont.c: Likewise.
3464 * util/grub-mklayout.c: Likewise.
3465 * util/grub-mknetdir.in: Likewise.
3466 * util/grub-mkrescue.in: Likewise.
3467 * util/grub.d/30_os-prober.in: Likewise.
3468
49ce9e50
VS
34692012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3470
3471 * grub-core/commands/videoinfo.c (hook): Replace "Direct"
3472 with "Direct color" and "Packed" with "Packed pixel".
3473 (grub_cmd_videoinfo): Simplify legend.
3474
e4b791fa
VS
34752012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3476
3477 * util/getroot.c (grub_make_system_path_relative_to_its_root): Fix
3478 absolutely unclear error message.
3479
fd1265cb
VS
34802012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3481
3482 * util/grub-mkstandalone.in: Remove confusing leftover print.
3483
8822a8a0
VS
34842012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3485
3486 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add TRANSLATORS
3487 comments.
3488 * grub-core/gdb/gdb.c (grub_cmd_gdbstub): Likewise.
3489 (GRUB_MOD_INIT): Likewise.
3490 * grub-core/loader/i386/linux.c (grub_cmd_linux): Clarify that it's
3491 VGA mode.
3492 * grub-core/net/net.c (grub_net_route_address): Add TRANSLATORS
3493 comments.
3494 * util/grub-install.in (usage): Likewise.
3495 Spell ID in whole letters.
3496 Add missing ending dot.
3497 Quote variables.
3498 * util/grub-reboot.in: Fix capitalisation.
3499 * util/grub-set-default.in: Likewise.
3500
937fd0cc
VS
35012012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3502
3503 * util/getroot.c (strip_extra_slashes) [CYGWIN]: #ifdef-out.
3504 (exec_pipe) [CYGWIN || MINGW32]: Likewise.
3505 (find_root_devices_from_poolname) [CYGWIN || MINGW32]: Likewise.
3506 (find_root_devices_from_libzfs) [CYGWIN || MINGW32]: Likewise.
3507 Disable -Werror for -Wdeprecated-declarations.
3508 (grub_guess_root_devices) [CYGWIN || MINGW32]: #ifdef-out.
3509 (get_dm_uuid) [!HAVE_DEVICE_MAPPER]: Likewise.
3510 (grub_util_get_dm_abstraction) [! __linux__]: #ifdef-out.
3511 (grub_util_get_grub_dev): Make luks handling dependent on
3512 HAVE_DEVICE_MAPPER and not __linux__.
3513 (get_win32_path): Fix format security.
3514 (grub_find_zpool_from_dir) [CYGWIN || MINGW32]: #ifdef-out.
3515 (grub_make_system_path_relative_to_its_root) [CYGWIN || MINGW32]:
3516 Don't try grub_find_zpool_from_dir.
3517 (grub_make_system_path_relative_to_its_root) [!__linux__]:
3518 #ifdef-out paresdir.
3519
1bab1ae3
VS
35202012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3521
3522 * util/grub-pe2elf.c (usage): Add missing noreturn.
3523 (write_section_data): Rename name to shname to avoid shadowing.
3524 (write_symbol_table): Rename name to symname to avoid shadowing.
3525 Fix write_reloc_section call.
3526
ef023e42
VS
35272012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3528
3529 * grub-core/boot/i386/pc/startup_raw.S: Move decompressor_end to .bss
3530 to ensure that it's after the last byte of .text.
3531
48afcb75
VS
35322012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3533
3534 * util/ieee1275/ofpath.c (my_isdigit): New function.
3535 (trailing_digits): Use my_isdigit.
3536 (strip_trailing_digits): Likewise.
3537
88d51eff
VS
35382012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3539
3540 * util/resolve.c (read_dep_list): Use grub_isspace instead of isspace.
3541 * grub-core/kern/emu/hostdisk.c (read_device_map): Likewise.
3542
17edc2ba
VS
35432012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3544
3545 * grub-core/kern/i386/pc/startup.S: Define __start.
3546
ad5518d7
VS
35472012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3548
3549 * gentpl.py (kernel): Remove the use of TARGET_OBJ2ELF after strip since
3550 strip already transforms he format.
3551
9e95e1bf
VS
35522012-03-02 Vladimir Serbinenko <phcoder@gmail.com>
3553
3554 * conf/i386-pc-cygwin-img-ld.sc: Define also _edata and __edata.
3555
9cc3ee5c
VS
35562012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3557
3558 * util/grub-install.in: Add missing gettext init.
3559 * util/grub-kbdcomp.in: Likewise.
3560 * util/grub-mkconfig.in: Likewise.
3561 * util/grub-mknetdir.in: Likewise.
3562 * util/grub-mkrescue.in: Likewise.
3563 * util/grub-mkstandalone.in: Likewise.
3564 * util/grub-reboot.in: Likewise.
3565 * util/grub-set-default.in: Likewise.
3566 * util/grub.d/00_header.in: Likewise.
3567 * util/grub.d/10_hurd.in: Likewise.
3568 * util/grub.d/10_windows.in: Likewise.
3569 * util/grub.d/30_os-prober.in: Likewise.
3570 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
3571
49e08a06
VS
35722012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3573
3574 * po/Rules-swiss: Fix header comment.
3575
3809cb41
AV
35762012-02-29 Andreas Vogel <anvoit>
3577
3578 * grub-core/kern/misc.c (grub_xvasprintf): Fix an exit path which
3579 resulted in leak of arguments.
3580
fa6ec573
VS
35812012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3582
3583 * grub-core/boot/i386/pc/startup_raw.S: Use separate
3584 reed_solomon_size const definition instead of computing it since
3585 Apple assembler doesn't support the later.
3586
22899b9c
VS
35872012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3588
3589 * gentpl.py (kernel): Rewrite Apple part.
3590
a132afc3
VS
35912012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3592
3593 * include/grub/kernel.h (FOR_MODULES): Check module magic.
3594
9d742bd4
VS
35952012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3596
3597 * util/grub-mkimagexx.c (locate_sections): Support non-standard
3598 ELF section gap.
3599 (load_image): Likewise.
3600
f04a9a21
VS
36012012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3602
3603 * configure.ac: Fix a typo in previous commit.
3604
46cf439c
VS
36052012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3606
3607 Don't add -Wl,-N on Apple platform.
3608
3609 * configure.ac (TARGET_LDFLAGS_OLDMAGIC): New subst.
3610 * conf/Makefile.common: Use TARGET_LDFLAGS_OLDMAGIC instead of -Wl,-N
3611
c4c48c54
VS
36122012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3613
3614 * grub-core/Makefile.core.def (lzma_decompress): Use
3615 TARGET_IMG_BASE_LDOPT rather than hardcoding -Wl,-Ttext.
3616
31a12124
VS
36172012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3618
3619 * grub-core/genmod.sh.in: Rewrite the Apple part.
3620
4f3aa1af
VS
36212012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3622
3623 * grub-core/loader/machoXX.c (grub_macho_load): Fix signed vs unsigned
3624 comparison.
3625
7bd8b0c7
VS
36262012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3627
3628 * acinclude.m4 (grub_CHECK_PIC): New test.
3629 * configure.ac: Add -fno-PIC to TARGET_CFLAGS if -fPIC is default.
3630
97304d7c
VS
36312012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3632
3633 * include/grub/libgcc.h (__STDC_VERSION__): Define if it's not yet so
3634 to avoid the warning.
3635
fb883812
VS
36362012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3637
3638 * grub-core/boot/i386/pc/diskboot.S (firstlist): Rename to ...
3639 (LOCAL(firstlist)): ... this. Move it before the firstlist and not
3640 after. All users updated.
3641
a121c964
VS
36422012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3643
3644 Use the common size routine in hostfs so we can read disks as well.
3645
3646 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Rename to ..
3647 (grub_util_get_fd_size): ... this. Return size in bytes.
3648 All users updated.
3649 * grub-core/kern/emu/hostfs.c (grub_hostfs_open): Use
3650 grub_util_get_fd_size.
3651
c66d6410
VS
36522012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3653
3654 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__APPLE__]:
3655 Add blocksize retrieval.
3656
dfc8aeb0
VS
36572012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3658
3659 * configure.ac: Restore CFLAGS after efiemu check.
3660
403e25a5
VS
36612012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3662
3663 * configure.ac: Move -fnested-functions to CPPFLAGS to workaround
3664 Apple bug.
3665
382775d1
VS
36662012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3667
3668 * grub-core/Makefile.am (MACHO2IMG): Add missing variable.
3669
6fd4e6e4
VS
36702012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3671
3672 * grub-core/commands/i386/pc/halt.c (grub_halt): Add noreturn attribute.
3673 (grub_cmd_halt): Likewise.
3674
bea359d6
VS
36752012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3676
3677 * grub-core/lib/i386/relocator16.S: Declare LOCAL(relocator16_end)
3678 for local arithmetics.
3679 Break %sp init into 2 instructions.
3680 Add 0 byte at the end.
3681
32eb6ee1
VS
36822012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3683
3684 * grub-core/disk/diskfilter.c (read_segment): Initialise err
3685 before loops.
3686
e8377389
VS
36872012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3688
3689 * grub-core/lib/xzembed/xz_dec_stream.c (hash_validate): Use void *
3690 for context.
3691
8cb17de7
VS
36922012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3693
3694 * grub-core/disk/ldm.c (make_vg): Init part.name.
3695 (grub_ldm_detect): Silence spurious warning.
3696 (grub_util_is_ldm): Likewise.
3697
595717e6
VS
36982012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3699
3700 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Init fsbfreq to
3701 sane value to avoid a spurious warning.
3702
c4b7e588
VS
37032012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3704
3705 * include/grub/dl.h: Switch from APPLE_CC to __APPLE__.
3706 (GRUB_MOD_LICENSE) [ASM_FILE]: Make into macro. All users updated.
3707
59824957
VS
37082012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3709
3710 * include/grub/symbol.h (EXT_C) [!ASM_FILE]: Redefine with strings.
3711 * grub-core/lib/i386/backtrace.c (grub_backtrace): Use EXT_C.
3712
70115b99
VS
37132012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3714
3715 * grub-core/gdb/i386/machdep.S: Use VARIABLE and EXT_C instead of
3716 hardcoding the relevant info.
3717
56733740
VS
37182012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3719
3720 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Add
3721 missing const qualifiers.
3722 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): Likewise.
3723
43481481
VS
37242012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3725
3726 * util/getroot.c [__APPLE__]: Add missing includes.
3727 (grub_util_biosdisk_is_floppy): Fix usage of undefined variable.
3728
3cb38f01
VS
37292012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3730
3731 * util/grub-mkimage.c (generate_image): Silence spurious warning.
3732
d9dbf11e
VS
37332012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3734
3735 * util/ieee1275/ofpath.c: Rename devname to sys_devname everywhere to
3736 avoid conflicts.
3737
0c42a45d
VS
37382012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3739
3740 * util/ieee1275/grub-ofpathname.c: Add missing config.h include.
3741
46c34eb0
VS
37422012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3743
3744 * util/grub-setup.c (setup) [!__linux__]: Add missing file declaration
3745 and grub_file_close call.
3746
99ce1597
VS
37472012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3748
3749 Add LZSS Mach-O support (needed for new xnu kernelcache).
3750
3751 * grub-core/Makefile.core.def (xnu): Add file lzss.c
3752 * grub-core/loader/lzss.c: New file.
3753 * grub-core/loader/xnu.c (grub_xnu_load_driver): Close binaryfile
3754 on Mach-O open failure.
3755 * grub-core/loader/macho.c (grub_macho_close): Free uncompressedXX.
3756 Don't free cmdsXX in uncompressedXX is set.
3757 (grub_macho_file): Init new fields.
3758 New argument is_64bit. All users updated.
3759 Handle compressed. Error out if no suitable architecture is found.
3760 Don't close file.
3761 (grub_macho_open): New argument is_64bit. All users updated.
3762 * grub-core/loader/macho32.c: Add defines for new fields.
3763 * grub-core/loader/macho64.c: Likewise.
3764 * grub-core/loader/machoXX.c (grub_macho_contains_macho): Make static.
3765 (grub_macho_parse): Handle compressed.
3766 Defer actual processing if compressed.
3767 (grub_macho_cmds_iterate): Decompress if compressed. New argument
3768 "filename". All users updated.
3769 (grub_macho_size): New argument "filename". All users updated.
3770 (grub_macho_get_entry_point): Likewise.
3771 (grub_macho_load): Handle compressed.
3772 * include/grub/macho.h (grub_macho_lzss_header): New struct.
3773 (GRUB_MACHO_LZSS_OFFSET): New define.
3774 (grub_decompress_lzss): New proto.
3775 * include/grub/machoload.h (grub_macho_file): New fields to handle
3776 compressed.
3777 (grub_macho_contains_macho64): Remove proto.
3778 (grub_macho_contains_macho32): Likewise.
3779 * util/grub.d/30_os-prober.in: Use kernel cache if available.
3780
ebd17d6f
VS
37812012-02-29 Vladimir Serbinenko <phcoder@gmail.com>
3782
3783 * grub-core/disk/pata.c (grub_pata_readwrite): Fix ATAPI protocol error.
3784
2702b4e4
VS
37852012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3786
3787 Fix make dist.
3788
3789 * Makefile.am (starfield_theme_files): New var.
3790 (starfield_DATA): Use starfield_theme_files.
3791 (EXTRA_DIST): Add starfield_theme_files. Add starfield source files.
3792 Add bootcheck-related files.
3793 * conf/Makefile.extra-dist (EXTRA_DIST): Add several missing files.
3794 * docs/Makefile.am (EXTRA_DIST): Add font_char_metrics.png
3795 and font_char_metrics.txt.
3796 * grub-core/Makefile.core.def (kernel): Update extra_dist.
3797 (setjmp): Add lib/ia64/longjmp.S.
3798 * po/Makefile.in.in (DISTFILES): Add POTFILES-shell.in and grub.d.sed.
3799 * po/POTFILES.in: Regenerate.
3800 * po/Rules-swiss: use DISTFILES.common.extra2 and not
3801 DISTFILES.common.extra1.
3802 * util/devicemap.c: Removed.
3803 * grub-core/lib/i386/relocator_backward.S: Likewise.
3804 * util/import_gcry.py: Remove unused files. Add extra_dist for
3805 ChangeLog.
3806
cf1adfdf
VS
38072012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
3808
3809 * grub-core/gettext/gettext.c (grub_mofile_open): Call
3810 grub_gettext_delete_list before changing grub_gettext_max to avoid
3811 running out of array bounds.
3812
38132012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
7acd2ae1
VS
3814
3815 * grub-core/term/i386/pc/vga_text.c: Add GRUB_MACHINE_MULTIBOOT to
3816 grub_vga_text_init/grub_vga_text_fini.
3817
cf1adfdf 38182012-02-28 Vladimir Serbinenko <phcoder@gmail.com>
629e6a33
VS
3819
3820 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix format specification.
3821
541d92e9
VS
38222012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3823
3824 * configure.ac: Bump to 2.00~beta0.
3825
7931dddf
VS
38262012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3827
3828 * util/getroot.c (grub_find_root_devices_from_btrfs): Add
3829 missing initialisation.
3830
f1b16fa3
VS
38312012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3832
3833 * grub-core/partmap/msdos.c (message_warn): Clarify messages.
3834
83ddae23
VS
38352012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3836
3837 Support v2 xnu boot arguments.
3838
3839 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree):
3840 New argument fsbfreq_out.
3841 (grub_xnu_set_video): Receive an argument grub_xnu_boot_params_common.
3842 (grub_xnu_boot): Support v2 arguments. Disable PIC so that APIC can
3843 be used.
3844 * grub-core/loader/machoXX.c (grub_macho_load): New argument
3845 darwin_version.
3846 * grub-core/loader/xnu.c (grub_xnu_darwin_version): New variable.
3847 * include/grub/i386/xnu.h (grub_xnu_boot_params_common): New struct.
3848 (grub_xnu_boot_params): Rename to ...
3849 (grub_xnu_boot_params_v1): ...this. Use grub_xnu_boot_params_common.
3850 (grub_xnu_boot_params_v2): New struct.
3851
dc693fe6
VS
38522012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3853
3854 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Add missing
3855 zeroing of CRC field before computing CRC.
3856
5a6e39c2
VS
38572012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3858
3859 * grub-core/lib/relocator.c (malloc_in_range): Fix memory leak.
3860 Change order of allocations to decrease fragmentation.
3861
6c21f5d7
VS
38622012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3863
3864 * Makefile.util.def (grub-ofpathname): Enable on all platforms.
3865
cfe456dc
CW
38662012-02-27 Colin Watson <cjwatson@ubuntu.com>
3867
3868 Use write-combining MTRR to speed up video with buggy BIOSes.
3869
3870 * grub-core/video/i386/pc/vbe.c (framebuffer): New member mtrr.
3871 (cpuid): New define.
3872 (rdmsr): Likewise.
3873 (wrmsr): Likewise.
3874 (mtrr_base): Likewise.
3875 (mtrr_mask): Likewise.
3876 (grub_vbe_enable_mtrr_entry): New function.
3877 (grub_vbe_enable_mtrr): Likewise.
3878 (grub_vbe_disable_mtrr): Likewise.
3879 (grub_vbe_bios_set_display_start): Disable mtrr when handing the
3880 control off to BIOS.
3881 (grub_video_vbe_init): Fill mtrr.
3882 (grub_video_vbe_fini): Disable mtrr.
3883 (grub_video_vbe_get_info_and_fini): Likewise.
3884 (grub_video_vbe_setup): Enable mtrr.
3885
e3c78337
CW
38862012-02-27 Colin Watson <cjwatson@ubuntu.com>
3887
3888 * include/grub/partition.h (grub_partition_map): Change prototype of
3889 embed to take a maximum value for nsectors.
3890 * include/grub/emu/hostdisk.h (grub_util_ldm_embed): Likewise.
3891 * include/grub/fs.h (grub_fs): Likewise.
3892 * grub-core/partmap/msdos.c (embed_signatures): New array.
3893 (pc_partition_map_embed): Check for and avoid sectors matching any
3894 of the signatures in embed_signatures, up to max_nsectors.
3895 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restrict
3896 returned sector map to max_nsectors.
3897 * grub-core/disk/ldm.c (grub_util_ldm_embed): Likewise.
3898 * grub-core/fs/btrfs.c (grub_btrfs_embed): Likewise.
3899 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): Likewise.
3900 * util/grub-setup.c (setup): Allow for the embedding area being
3901 split into multiple blocklists. Tell dest_partmap->embed the
3902 maximum number of sectors we care about.
3903
39042012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3905
3906 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: Add blocklist_install field.
3907 Specify blocklist_install and reserver_first_sector for all fs.
3908 * util/grub-setup.c (setup): Use FIBMAP/FIEMAP on Linux. Check resulting
3909 blocklists.
3910
984b973f
VS
39112012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3912
3913 * util/grub-install.in: Clarify strings.
3914 Fix source dir check.
3915
f122e0d6
RL
39162012-02-27 Richard Laager <rlaager@wiktel.com>
3917
3918 * util/getroot.c (grub_find_root_devices_from_mountinfo): Handle
3919 "zfs" and "fuse.zfs" as synonyms.
3920
071114bb
VS
39212012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3922
3923 * configure.ac: Put platform and target_cpu substitutions back since
3924 they are used for directories.
3925
817e6abc
RL
39262012-02-27 Richard Laager <rlaager@wiktel.com>
39272012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3928
3929 * util/grub.d/10_linux.in: Add ZFS-related arguments.
3930 * util/grub.d/20_linux_xen.in: Likewise.
3931
897b7419
RL
39322012-02-27 Richard Laager <rlaager@wiktel.com>
3933
3934 * util/getroot.c (find_root_devices_from_poolname): Handle vdevs
3935 with full paths.
3936
a414bd15
RL
39372012-02-27 Richard Laager <rlaager@wiktel.com>
3938
3939 * util/getroot.c (grub_find_root_devices_from_mountinfo): Add missing
3940 unescape.
3941
30ac48c4
VS
39422012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3943
3944 Don't use insecure popen in getroot.
3945
3946 * util/getroot.c (get_mdadm_uuid): Move pipe logic to ...
3947 (exec_pipe): ... here.
3948 (find_root_devices_from_poolname): Use exec_pipe.
3949
53f13848
VS
39502012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3951
3952 Remove platform and target_cpu replacement.
3953
3954 * configure.ac: Remove platform and target_cpu substitutions.
3955 * tests/util/grub-shell.in: Use modinfo.
3956 * util/powerpc/ieee1275/grub-mkrescue.in: Specify powerpc-ieee1275
3957 explicitly.
3958
90cb2803
VS
39592012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3960
3961 Autodetect platform in grub-install but allow override.
3962
3963 * util/grub-install.in: Autodetect platform. Support --target and
3964 --directory. Read platform from modinfo.sh.
3965
b9136427
VS
39662012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3967
3968 Support btrfs multi-volume probe.
3969
3970 * util/getroot.c (btrfs_ioctl_dev_info_args) [__linux__]: New struct.
3971 (btrfs_ioctl_fs_info_args) [__linux__]: Likewise.
3972 (BTRFS_IOC_DEV_INFO) [__linux__]: New define.
3973 (BTRFS_IOC_FS_INFO) [__linux__]: Likewise.
3974 (grub_find_root_devices_from_btrfs) [__linux__]: New function.
3975 (grub_find_root_devices_from_mountinfo) [__linux__]: Use
3976 grub_find_root_devices_from_btrfs if on btrfs.
3977
c36e5cd1
VS
39782012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
3979
3980 Remove any awareness of *.c util files about target.
3981
3982 * Makefile.util.def (grub-setup): Split to ...
3983 (grub-bios-setup): ... and this.
3984 (grub-sparc64-setup): ... and this.
3985 * configure.ac: Don't add machine_CPPFLAGS into HOST_CPPFLAGS.
3986 * docs/man/grub-setup.h2m: Split into ...
3987 * docs/man/grub-sparc64-setup.h2m: ... this.
3988 * docs/man/grub-bios-setup.h2m: ... and this.
3989 * include/grub/dl.h (grub_dl) [GRUB_UTIL]: Remove struct.
3990 * include/grub/elf.h (Elf_*) [GRUB_UTIL]: Remove types.
3991 (GRUB_TARGET_WORDSIZE) [GRUB_UTIL]: Remove.
3992 (grub_target_addr_t): Remove.
3993 (grub_target_size_t): Remove.
3994 (grub_target_ssize_t): Remove.
3995 * util/grub-install.in: Use new grub-*-setup.
3996 * util/grub-mkimagexx.c (Elf_Word): New define.
3997 (Elf_Half): Likewise.
3998 (Elf_Section): Likewise.
3999 (ELF_ST_TYPE): Likewise.
4000 * util/grub-setup.c: Switch from GRUB_MACHINE_SPARC64 to
4001 GRUB_SETUP_SPARC64 and from GRUB_MACHINE_PCBIOS to GRUB_SETUP_BIOS.
4002
584b2f8a
VS
40032012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4004
4005 Replace grub_target_addr with more appropriate types.
4006
4007 * grub-core/commands/efi/fixvideo.c (scan_card): Replace
4008 grub_target_addr with grub_addr.
4009 * grub-core/commands/iorw.c (grub_cmd_read): Replace
4010 grub_target_addr with grub_port.
4011 (grub_cmd_write): Likewise.
4012 * grub-core/commands/memrw.c (grub_cmd_read): Replace
4013 grub_target_addr with grub_addr.
4014 (grub_cmd_write): Likewise.
4015 * grub-core/video/efi_uga.c (find_line_len): Likewise.
4016
5a0dc6fb
VS
40172012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4018
4019 * include/grub/efi/api.h (grub_efi_runtime_services): Add missing
4020 const qualifier for vendor_guid.
4021
786aff6e
VS
40222012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4023
4024 * grub-core/efiemu/runtime/efiemu.c (efiemu_get_variable): Add missing
4025 const qualifier.
4026 (efiemu_memequal): Likewise.
4027 (find_variable): Likewise.
4028
49017b17
VS
40292012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4030
4031 Fix missing console prototype on qemu-mips.
4032
4033 * include/grub/mips/qemu_mips/console.h: New file.
4034
c5988629
MG
40352012-02-27 Matthew Garrett <mjg@redhat.com>
40362012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4037
4038 * grub-core/kern/efi/efi.c (grub_efi_get_variable): Add new function.
4039 * include/grub/efi/efi.h: Likewise.
4040 * include/grub/efi/api.h: Add guid for EFI-specified variables.
4041 * include/grub/charset.h (GRUB_MAX_UTF16_PER_UTF8): New definition.
4042 * grub-core/normal/charset.c (grub_utf8_process): Move from here ...
4043 * include/grub/charset.h (grub_utf8_process): ... to here. Inline.
4044 * grub-core/normal/charset.c (grub_utf8_to_utf16): Move from here ...
4045 * include/grub/charset.h (grub_utf8_to_utf16): ... to here. Inline.
4046
e33f8d69
MG
40472012-02-27 Matthew Garrett <mjg@redhat.com>
4048
4049 * include/grub/efi/pci.h: New file to define EFI PCI protocols.
4050
fb312cd9
VS
40512012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4052
4053 * grub-core/disk/diskfilter.c (grub_diskfilter_iterate): Fix off-by-one
4054 error.
4055
7134247c
VS
40562012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4057
4058 * configure.ac: Remove inappropriate use of program_transform_name
4059 on grubdir and bootdir but allow explicit specification of those
4060 variables.
4061
6a313124
VS
40622012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4063
4064 * util/grub-mknetdir.in (grub_prefix): Removed.
4065 (subdir): Use @bootdirname@ and @grubdirname@.
4066
2311c5ca
VS
40672012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4068
4069 Replace PACKAGE_TARNAME with PACKAGE in pkglibdir and pkgdatadir.
4070
7d5d60f7
VS
40712012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4072
4073 * po/POTFILES.in: Regenerated.
4074
8151bc82
VS
40752012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4076
4077 Remove improper use of program_transform_name on pkglibrootdir.
4078
4079 * configure.ac (pkglibrootdir): Removed.
4080 (grub-mkimage): Replace PKGLIBROOTDIR with PKGLIBDIR.
4081 * util/grub-mkimage.c: Likewise.
4082
b4a6a533
VS
40832012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4084
4085 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Fix a
4086 warning.
4087
668f304f
VS
40882012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
4089
4090 * util/grub-install.in: Use file identifier if no UUID is available
4091 or user explicitly prompted for it.
4092
665f2341
NP
40932012-02-27 Navdeep Parhar <nparhar@gmail.com>
4094
4095 * grub-core/loader/i386/bsd.c (freebsd_zfsguid): New variable.
4096 (freebsd_get_zfs): New function.
4097 (grub_freebsd_boot): Pass zfs UUID.
4098 (grub_cmd_freebsd): Set zfs UUID.
4099
8151bc82 41002012-02-27 Vladimir Serbinenko <phcoder@gmail.com>
1240a58a
VS
4101
4102 * conf/Makefile.common (platformdir): Base on pkglibdir and not
4103 pkglibrootdir.
4104
e4c498a1
MG
41052012-02-27 Mike Gilbert <floppym@gentoo.org>
4106
4107 Add configure flag to control libzfs integration.
4108
4109 * configure.ac: Add AC_ARG_ENABLE(libzfs ...) and associated logic.
4110
1e9a9a3f
VS
41112012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4112
4113 * grub-core/disk/diskfilter.c (insert_array): Choose the smallest
4114 device.
4115 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Reject too
4116 small devices.
4117
036985b8
VS
41182012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4119
4120 Remove grub_{modname}_init and grub_{modname}_fini. They should never
4121 be used directly if it's really a module and GRUB_MOD_INIT shouldn't
4122 be used on non-modules.
4123
4124 * grub-core/commands/boot.c (GRUB_MOD_INIT) [LOONGSON || QEMU_MIPS]:
4125 Rename to grub_boot_init.
4126 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_boot_fini.
4127 * grub-core/commands/keylayouts.c (GRUB_MOD_INIT)
4128 [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_init.
4129 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_keylayouts_fini.
4130 * grub-core/font/font_cmd.c (GRUB_MOD_INIT)
4131 [LOONGSON || QEMU_MIPS]: Rename to grub_font_init.
4132 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to grub_font_fini.
4133 * grub-core/kern/mips/loongson/init.c: Replace explicit protos with
4134 includes.
4135 (grub_machine_init): Remove empty inits.
4136 * grub-core/kern/mips/qemu_mips/init.c: Replace explicit protos with
4137 includes.
4138 (grub_machine_init): Remove empty inits.
4139 * grub-core/term/arc/console.c: Remove explicit proto.
4140 * grub-core/term/at_keyboard.c (GRUB_MOD_INIT)
4141 [LOONGSON || QEMU_MIPS]: Rename to grub_at_keyboard_init.
4142 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4143 grub_at_keyboard_fini.
4144 * grub-core/term/gfxterm.c (GRUB_MOD_INIT)
4145 [LOONGSON || QEMU_MIPS]: Rename to grub_gfxterm_init.
4146 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4147 grub_gfxterm_fini.
4148 * grub-core/term/i386/pc/vga_text.c (GRUB_MOD_INIT)
4149 [LOONGSON || QEMU_MIPS]: Rename to grub_vgatext_init.
4150 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4151 grub_vgatext_fini.
4152 * grub-core/term/ieee1275/console.c: Remove explicit proto.
4153 * grub-core/term/serial.c (GRUB_MOD_INIT)
4154 [LOONGSON || QEMU_MIPS]: Rename to grub_serial_init.
4155 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4156 grub_serial_fini.
4157 * grub-core/term/terminfo.c (GRUB_MOD_INIT)
4158 [LOONGSON || QEMU_MIPS]: Rename to grub_terminfo_init.
4159 (GRUB_MOD_FINI) [LOONGSON || QEMU_MIPS]: Rename to
4160 grub_terminfo_fini.
4161 * grub-core/video/bitmap.c (GRUB_MOD_INIT): Removed.
4162 (GRUB_MOD_FINI): Likewise.
4163 * grub-core/video/radeon_fuloong2e.c (GRUB_MOD_INIT)
4164 [LOONGSON]: Rename to grub_video_radeon_fuloong2e_init.
4165 (GRUB_MOD_FINI) [LOONGSON]: Rename to
4166 grub_video_radeon_fuloong2e_fini.
4167 * grub-core/video/sis315pro.c (GRUB_MOD_INIT)
4168 [LOONGSON]: Rename to grub_video_sis315pro_init.
4169 (GRUB_MOD_FINI) [LOONGSON]: Rename to
4170 grub_video_sis315pro_fini.
4171 * grub-core/video/sm712.c (GRUB_MOD_INIT)
4172 [LOONGSON]: Rename to grub_video_sm712_init.
4173 (GRUB_MOD_FINI) [LOONGSON]: Rename to
4174 grub_video_sm712_fini.
4175 * include/grub/at_keyboard.h (grub_at_keyboard_init): New proto.
4176 (grub_at_keyboard_fini): Likewise.
4177 * include/grub/dl.h (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]:
4178 Don't declare grub_{modname}_init.
4179 (GRUB_MOD_INIT) [!GRUB_UTIL && !EMU]: Don't declare grub_{modname}_fini.
4180 * include/grub/keyboard_layouts.h (grub_keylayouts_init) [!EMU]:
4181 New proto.
4182 (grub_keylayouts_fini) [!EMU]: Likewise.
4183 * include/grub/serial.h (grub_serial_init) [!EMU]:
4184 New proto.
4185 (grub_serial_fini) [!EMU]: Likewise.
4186 * include/grub/terminfo.h (grub_terminfo_init) [!EMU]:
4187 New proto.
4188 (grub_terminfo_fini) [!EMU]: Likewise.
4189 * include/grub/video.h (grub_font_init) [!EMU]:
4190 New proto.
4191 (grub_font_fini) [!EMU]: Likewise.
4192 (grub_gfxterm_init) [!EMU]: Likewise.
4193 (grub_gfxterm_fini) [!EMU]: Likewise.
4194 (grub_video_sm712_init) [!EMU]: Likewise.
4195 (grub_video_sm712_fini) [!EMU]: Likewise.
4196 (grub_video_sis315pro_init) [!EMU]: Likewise.
4197 (grub_video_sis315pro_fini) [!EMU]: Likewise.
4198 (grub_video_radeon_fuloong2e_init) [!EMU]: Likewise.
4199 (grub_video_radeon_fuloong2e_fini) [!EMU]: Likewise.
4200
d5534665
VS
42012012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4202
4203 Make nand a prefix for nand devices.
4204
4205 * grub-core/disk/ieee1275/nand.c (grub_nand_open): Use prefix nand.
4206
10133b5f
VS
42072012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4208
4209 * grub-core/kern/misc.c (grub_stpcpy): Move from here ...
4210 * include/grub/misc.h (grub_stpcpy): ... to here. Inlined.
4211
8e307a62
VS
42122012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4213
4214 * include/grub/env.h (grub_env_find): Remove prototype.
4215 * grub-core/kern/env.c (grub_env_find): Make static.
4216 (grub_env_set): Remove useless set.
4217
a4c65f34
VS
42182012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4219
4220 * grub-core/kern/i386/realmode.S: Remove useless align.
4221
d87893d5
VS
42222012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4223
4224 * include/grub/dl.h (grub_dl_load_file): Don't export.
4225
50159add
VS
42262012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4227
4228 * grub-core/disk/diskfilter.c (grub_diskfilter_open): Remove useless
4229 grub_dprintf.
4230
b2582b84
VS
42312012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4232
4233 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Remove useless
4234 grub_errors.
4235 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Simplify by
4236 not reloading whole superblock but only the part which is really needed.
4237 Remove useless grub_errors.
4238 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Remove useless
4239 grub_errors.
4240
e2a83395
VS
42412012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4242
4243 Don't export grub_get_rtc.
4244
4245 * include/grub/i386/pc/time.h (grub_get_rtc): Don't export.
4246 * grub-core/commands/i386/pc/play.c (play): Use grub_get_time_ms.
4247
e7d2a906
VS
42482012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4249
4250 * grub-core/genmod.sh.in: Add -R .note.GNU-stack to strip.
4251
6cf1363b
VS
42522012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4253
4254 * grub-core/disk/diskfilter.c (insert_array): Remove scanner_name
e7d2a906 4255 argument since it can be deduced from diskfilter. All users updated.
6cf1363b 4256
eece3349
VS
42572012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4258
4259 Remove prio_list.
4260
4261 * include/grub/list.h (grub_prio_list): Removed.
4262 (GRUB_PRIO_LIST_PRIO_MASK): Removed. All users switched to
4263 GRUB_COMMAND_PRIO_MASK.
4264 (GRUB_PRIO_LIST_FLAG_ACTIVE): Removed. All users switched to
4265 GRUB_COMMAND_FLAG_ACTIVE.
4266 (grub_prio_list_insert): Removed.
4267 (grub_prio_list_remove): Likewise.
4268 (GRUB_AS_PRIO_LIST): Likewise.
4269 (GRUB_AS_PRIO_LIST_P): Likewise.
4270 * include/grub/command.h (GRUB_COMMAND_PRIO_MASK): New define.
4271 (GRUB_COMMAND_FLAG_ACTIVE): Likewise.
4272 * grub-core/kern/list.c (grub_prio_list_insert): Remove.
4273 * grub-core/kern/command.c (grub_register_command_prio): Inline
4274 the prio_list code.
4275 (grub_unregister_command): Likewise.
4276
94f064b4
VS
42772012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4278
4279 Fix interrupt mixup from previous commit.
4280
4281 * include/grub/i386/pc/int.h (grub_i386_idt): New struct.
4282 (grub_realidt): New var.
4283 * grub-core/lib/i386/relocator16.S (grub_relocator16_idt): New variable
4284 Load idt.
4285 * grub-core/lib/i386/relocator.c (grub_relocator16_idt):
4286 New declaration.
4287 (grub_relocator16_boot): Set grub_relocator16_idt.
4288 * grub-core/kern/i386/realmode.S (realidt): Renamed to ...
4289 (LOCAL(realidt)): ... this.
4290 * grub-core/boot/i386/pc/startup_raw.S: Pass pointer to realidt in eax.
4291 * grub-core/kern/i386/pc/startup.S: Save pointer to realidt.
4292 (grub_realidt): New variable.
4293
27317084
VS
42942012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4295
4296 * grub-core/lib/i386/backtrace.c (grub_cmd_backtrace): Move from ...
4297 * grub-core/lib/backtrace.c (grub_cmd_backtrace): ... to here.
4298 * grub-core/lib/i386/backtrace.c (GRUB_MOD_INIT): Move from ...
4299 * grub-core/lib/backtrace.c (GRUB_MOD_INIT): ... to here.
4300 Gettextize.
4301 * grub-core/lib/i386/backtrace.c (GRUB_MOD_FINI): Move from ...
4302 * grub-core/lib/backtrace.c (GRUB_MOD_FINI): ... to here.
4303 * po/POTFILES.in: Regenerate.
4304
47b40053
VS
43052012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4306
4307 * grub-core/commands/probe.c (grub_cmd_probe): Gettextise UUID and label
4308 errors.
4309
2b343101
VS
43102012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
4311
4312 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len): Stop on
4313 \0.
4314 (add_length): Likewise.
4315
ff27c3dd
LK
43162012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
43172012-02-26 Lubomir Kundrak <lkundrak@redhat.com>
4318
4319 GDB serial and backtrace support.
4320
4321 * grub-core/kern/i386/realmode.S (real_to_prot): Reload IDT.
4322 (prot_to_real): Likewise.
4323 * grub-core/kern/i386/int.S (grub_bios_interrupt): Remove IDT reload.
4324 * grub-core/Makefile.core.def (backtrace): New module.
4325 (gdb): Likewise.
4326 * grub-core/gdb/cstub.c: New file.
4327 * grub-core/gdb/gdb.c: Likewise.
4328 * grub-core/gdb/i386/idt.c: Likewise.
4329 * grub-core/gdb/i386/machdep.S: Likewise.
4330 * grub-core/gdb/i386/signal.c: Likewise.
4331 * grub-core/lib/i386/backtrace.c: Likewise.
4cebfa1a 4332 * grub-core/lib/backtrace.c: Likewise.
ff27c3dd
LK
4333 * include/grub/backtrace.h: Likewise.
4334 * include/grub/gdb.h: Likewise.
4335 * include/grub/i386/gdb.h: Likewise.
4336
43372012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
585031cb
VS
4338
4339 * grub-core/gnulib/argp-fmtstream.c (__argp_get_display_len):
4340 New function.
4341 (add_length): Likewise.
4342 (__argp_fmtstream_update): Handle strings with non-ASCII chars.
4343 * grub-core/gnulib/argp-fmtstream.h (__argp_get_display_len): New
4344 proto.
4345 * grub-core/gnulib/argp-help.c (argp_args_usage): Use
4346 __argp_get_display_len.
4347
ff27c3dd 43482012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
7e8fac16
VS
4349
4350 $"..." support in scripts.
4351
4352 * grub-core/script/execute.c (grub_script_arglist_to_argv): Handle
4353 GRUB_SCRIPT_ARG_TYPE_GETTEXT.
4354 * grub-core/script/yylex.l: Likewise.
4355 * include/grub/script_sh.h (GRUB_SCRIPT_ARG_TYPE_GETTEXT): New enum
4356 value.
4357
ff27c3dd 43582012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
15eff5d9
VS
4359
4360 * gentpl.py: Remove obsolete pkglib_DATA handling.
4361
ff27c3dd 43622012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
fc847818
VS
4363
4364 Don't transform PACKAGE_TARNAME following a discussion on autoconf
4365 mailing list.
4366
4367 * util/grub-install.in: Don't transform PACKAGE_TARNAME.
4368 * util/grub-kbdcomp.in: Likewise.
4369 * util/grub-mkconfig.in: Likewise.
4370 * util/grub-mkconfig_lib.in: Likewise.
4371 * util/grub-mknetdir.in: Likewise.
4372 * util/grub-mkrescue.in: Likewise.
4373 * util/grub-mkstandalone.in: Likewise.
4374 * util/grub-reboot.in: Likewise.
4375 * util/grub-set-default.in: Likewise.
4376 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4377
ff27c3dd 43782012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
47454da5
VS
4379
4380 Remove GRUB_PREFIX.
4381
4382 * util/grub-mkconfig.in: Remove GRUB_PREFIX.
4383 * util/grub.d/00_header.in: Compute prefix in the only place it's still
4384 used for backward compatibility.
4385
ff27c3dd 43862012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
22c7ce85
VS
4387
4388 Add new all_video module.
4389
4390 * grub-core/Makefile.am (moddep.lst): Make dependent on video.lst.
4391 * grub-core/Makefile.core.def (all_video): New module.
4392 * grub-core/genmoddep.awk: Generate dependency of all_video from
4393 video.lst.
4394 * grub-core/lib/fake_module.c: New file.
4395 * grub-core/normal/main.c (features): Add feature_all_video_module.
4396 * util/grub.d/00_header.in: Define locale_dir based on $prefix and
4397 don't do explicit search again.
47454da5 4398 insmod all_video in load_video if available.
22c7ce85 4399
ff27c3dd 44002012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
67093bc0
VS
4401
4402 Another round of string clarification and adding TRANSLATORS comments.
4403
ff27c3dd 44042012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
ad7b7b85
VS
4405
4406 * util/grub-mknetdir.in: Remove erroneous reference to install_device.
4407
ff27c3dd 44082012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
8b282ad2
VS
4409
4410 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Fix return type
4411 to grub_ssize_t.
4412 * grub-core/normal/main.c (grub_normal_init_page): Fix msg_len type.
4413 * include/grub/charset.h (grub_utf8_to_ucs4_alloc): Fix prototype.
4414
ff27c3dd 44152012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
d43ad754
VS
4416
4417 * grub-core/normal/menu_text.c (grub_print_message_indented_real): Add
4418 trailing newline implicitly. All users updated.
4419
ff27c3dd 44202012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
a9c7fd1c
VS
4421
4422 Implement serial on IEEE1275 and EFI.
4423
4424 * docs/grub.texi (Platform-specific limitations): Fix the columen video
4425 on emu. Mention arc and emu as the only platforms without serial
4426 support.
4427 * grub-core/Makefile.core.def (serial): Enable on all terminfomodule and
4428 ieee1275 platforms.
4429 * grub-core/term/efi/serial.c: New file.
4430 * grub-core/term/ieee1275/serial.c: Likewise.
4431 * grub-core/term/serial.c (grub_serial_find): Disable direct port
4432 specification if no ns8250 driver is available.
4433 (grub_cmd_serial): Likewise.
4434 (GRUB_MOD_INIT) [GRUB_MACHINE_IEEE1275]: Init ofserial.
4435 (GRUB_MOD_INIT) [GRUB_MACHINE_EFI]: Init efiserial.
4436 * include/grub/efi/api.h (GRUB_EFI_SERIAL_IO_GUID): New define.
4437 (grub_efi_parity_type_t): New type.
4438 (grub_efi_stop_bits_t): Likewise.
4439 (grub_efi_serial_io_interface): New struct.
4440 * include/grub/serial.h (grub_serial_port): Make 'broken' field
4441 available for all interfaces.
4442 Add EFI and IEEE1275 fields.
4443 (grub_ofserial_init): New proto.
4444 (grub_efiserial_init): Likeiwse.
4445 * util/grub.d/00_header.in: Don't check for the presence of serial
4446 module.
4447
ff27c3dd 44482012-02-26 Vladimir Serbinenko <phcoder@gmail.com>
0ec82090
VS
4449
4450 * grub-core/disk/ieee1275/ofdisk.c (scan): Fix improper use of device
4451 name as if it was an alias.
4452
114076ef
VS
44532012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
4454
4455 * grub-core/commands/lsacpi.c (options): Fix typo.
4456
6a656b0e
VS
44572012-02-25 Vladimir Serbinenko <phcoder@gmail.com>
4458
4459 Convert grub-emu to argp.
4460
4461 * grub-core/Makefile.core.def (kernel): Add kern/emu/argp_common.c on
4462 emu.
4463 * util/argp_common.c: Rename to ...
4464 * grub-core/kern/emu/argp_common.c: ... this. All users updated.
4465 Add missing includes.
4466 * grub-core/kern/emu/main.c: Convert to argp.
4467 * po/POTFILES.in: Regenerate.
4468 * util/grub-install.in (usage): Make first letter lowcase in messages
4469 for uniformity.
4470 * util/grub-setup.c (options): Likewise.
4471
1e3f8ae8
VS
44722012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4473
4474 * grub-core/gfxmenu/gui_progress_bar.c (progress_bar_set_property):
4475 Put back accidently commented-out code.
4476
ed167a80
VS
44772012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4478
4479 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_iterate_node): Add btree
4480 loop check using Brent algorithm.
4481 (grub_hfsplus_btree_search): Likewise.
4482
6753c0ec
VS
44832012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4484
4485 * util/grub-install.in: Fix usage of wrong device for PreP install.
4486
4e27343f
VS
44872012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4488
4489 * conf/Makefile.common (CFLAGS_GNULIB): Add
4490 -Wno-unsafe-loop-optimizations.
4491 * configure.ac: Remove -Wmissing-declarations and -Wmissing-prototypes
4492 on tools.
4493 * grub-core/commands/legacycfg.c: Add pragma to skip
4494 -Wunsafe-loop-optimizations.
4495 (check_password_md5_real): Fix loop counter type.
4496 * grub-core/commands/testload.c (grub_cmd_testload): Fix over the EOF
4497 reading.
4498 * grub-core/disk/ldm.c (grub_util_get_ldm): Fix logic error.
4499 * grub-core/fs/zfs/zfs_sha256.c (zio_checksum_SHA256): Add safety
4500 loop condition.
4501 * grub-core/io/gzio.c: Add pragma to skip -Wunsafe-loop-optimizations.
4502 * grub-core/lib/LzmaEnc.c (GetOptimum): Avoid possible infinite loop.
4503 * grub-core/net/net.c (grub_net_route_address): Add safety loop
4504 condition.
4505 * grub-core/normal/charset.c (bidi_line_wrap): Likewise.
4506 * grub-core/normal/cmdline.c (grub_set_history): Fix loop types and
4507 avoid possible infinite loops.
4508 * grub-core/script/parser.y: Add pragma to skip -Wmissing-declarations
4509 and -Wunsafe-loop-optimizations.
4510 * grub-core/script/yylex.l: Likewise.
4511 * util/grub-mkfont.c: Add pragma to skip -Wunsafe-loop-optimizations.
4512 (print_glyphs): Avoid infinite loops.
4513 * util/grub-mkimage.c (compress_kernel_xz): Fix format security.
4514
697f18b0
GS
45152012-02-24 Grégoire Sutre <gregoire.sutre@gmail.com>
4516
4517 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): Fix loop condition
4518 to avoid infinite loop.
4519 (disp_acpi_rsdt_table): Likewise.
4520
274416e8
VS
45212012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4522
4523 * grub-core/font/font.c (grub_font_load): Add support for default
4524 path for fonts ($prefix/fonts).
4525 * grub-core/kern/corecmd.c (grub_core_cmd_insmod): Unify condition
4526 for checking if string is a path.
4527 * grub-core/normal/main.c (features): Add feature_default_font_path.
4528 * util/grub-mkconfig.in: Skip mangling of GRUB_FONT into GRUB_FONT_PATH.
4529 * util/grub.d/00_header.in: Use default directory if possible.
4530 * util/grub-install.in: Install unicode.pf2.
4531
b3e08622
VS
45322012-02-24 Vladimir Serbinenko <phcoder@gmail.com>
4533
4534 * po/README: Add de_CH and en@quot to po/LINGUAS generation command.
4535 * po/Rules-swiss: New file.
4536 * po/swiss.sed: Likewise.
4537
fe42ce09
VS
45382012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
4539
4540 * grub-core/fs/btrfs.c (find_device): Fix typos.
4541 * grub-core/fs/zfs/zfs.c (read_device): Likewise.
4542 * util/grub-mkrelpath.c (argp_parser): Likewise.
4543 Reported by: Yuri Chornoivan.
4544
72f1d065
DO
45452012-02-23 Dalet Omega <daletomega@gmail.com>
4546
4547 * grub-core/gfxmenu/gui_label.c (label_set_property): Add template
4548 for usual informative messages.
4549
c5884973
DO
45502012-02-23 Dalet Omega <daletomega@gmail.com>
4551
4552 Starfield theme.
4553
4554 * Makefile.am: Define starfield_DATA and dejavu.pf2 generation.
4555 * conf/Makefile.common: Define starfielddir.
4556 * configure.ac: Configure starfield.
4557 * themes/starfield/COPYING.CC-BY-SA-3.0: New file.
4558 * themes/starfield/README: Likewise.
4559 * themes/starfield/blob_w.png: Likewise.
4560 * themes/starfield/boot_menu_c.png: Likewise.
4561 * themes/starfield/boot_menu_e.png: Likewise.
4562 * themes/starfield/boot_menu_n.png: Likewise.
4563 * themes/starfield/boot_menu_ne.png: Likewise.
4564 * themes/starfield/boot_menu_nw.png: Likewise.
4565 * themes/starfield/boot_menu_s.png: Likewise.
4566 * themes/starfield/boot_menu_se.png: Likewise.
4567 * themes/starfield/boot_menu_sw.png: Likewise.
4568 * themes/starfield/boot_menu_w.png: Likewise.
4569 * themes/starfield/slider_c.png: Likewise.
4570 * themes/starfield/slider_n.png: Likewise.
4571 * themes/starfield/slider_s.png: Likewise.
4572 * themes/starfield/src/blob_nw.xcf: Likewise.
4573 * themes/starfield/src/bootmenu/: Likewise.
4574 * themes/starfield/src/bootmenu/center.xcf: Likewise.
4575 * themes/starfield/src/bootmenu/corner.xcf: Likewise.
4576 * themes/starfield/src/bootmenu/side.xcf: Likewise.
4577 * themes/starfield/src/slider_c.xcf: Likewise.
4578 * themes/starfield/src/slider_n.xcf: Likewise.
4579 * themes/starfield/src/slider_s.xcf: Likewise.
4580 * themes/starfield/src/terminalbox/: Likewise.
4581 * themes/starfield/src/terminalbox/center.xcf: Likewise.
4582 * themes/starfield/src/terminalbox/corner.xcf: Likewise.
4583 * themes/starfield/src/terminalbox/side.xcf: Likewise.
4584 * themes/starfield/starfield.png: Likewise.
4585 * themes/starfield/terminal_box_c.png: Likewise.
4586 * themes/starfield/terminal_box_e.png: Likewise.
4587 * themes/starfield/terminal_box_n.png: Likewise.
4588 * themes/starfield/terminal_box_ne.png: Likewise.
4589 * themes/starfield/terminal_box_nw.png: Likewise.
4590 * themes/starfield/terminal_box_s.png: Likewise.
4591 * themes/starfield/terminal_box_se.png: Likewise.
4592 * themes/starfield/terminal_box_sw.png: Likewise.
4593 * themes/starfield/terminal_box_w.png: Likewise.
4594 * themes/starfield/theme.txt: Likewise.
4595
17d73325
VS
45962012-02-23 Vladimir Serbinenko <phcoder@gmail.com>
4597
4598 * util/grub.d/00_header.in: Add missing export theme.
4599
dbebaf92
VS
46002012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4601
4602 * util/ieee1275/ofpath.c: Remove include of malloc.h since stdlib is
4603 already included.
4604 Reported by: Eren D.
4605
3d68bffb
VS
46062012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4607
4608 * conf/Makefile.common (grubdatadir): Removed.
4609 (Makefile.am): Move eveything grubdata to pkgdata.
4610
4b59234d
VS
46112012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4612
4613 * grub-core/commands/acpihalt.c (get_sleep_type):
4614 Remove unused variable.
4615
463dcadc
VS
46162012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4617
4618 * include/grub/acpi.h (GRUB_ASCII_OPCODE): Add
4619 GRUB_ACPI_OPCODE_STRING_CONST, GRUB_ACPI_OPCODE_BUFFER,
4620 GRUB_ACPI_OPCODE_CREATE_WORD_FIELD
4621 and GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD.
4622 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Replace include of
4623 i18n with gettext no-op.
4624 (skip_data_ref_object): Support GRUB_ACPI_OPCODE_BUFFER and
4625 GRUB_ACPI_OPCODE_STRING_CONST.
4626 (get_sleep_type): Support GRUB_ACPI_OPCODE_CREATE_WORD_FIELD and
4627 GRUB_ACPI_OPCODE_CREATE_BYTE_FIELD. Add handling of unknown opcodes.
4628
e5b90c82
VS
46292012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4630
4631 * po/POTFILES.in: Regenerate.
4632
2a704ca9
VS
46332012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4634
4635 * Makefile.util.def (libgrubmods.a): Add -Wno-error=logical-op
4636 -Wno-error=missing-noreturn.
4637
84f9d341
VS
46382012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4639
4640 * grub-core/fs/affs.c (grub_affs_read_block): Avoid <= in loop
4641 condition to avoid possibly infinite loops.
4642 * grub-core/lib/pbkdf2.c (grub_crypto_pbkdf2): Likewise.
4643 * grub-core/lib/xzembed/xz_dec_bcj.c (bcj_powerpc): Likewise.
4644
d46683f9
VS
46452012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4646
4647 * grub-core/normal/charset.c (bidi_line_wrap): Avoid <= in loop
4648 condition to avoid possibly infinite loops.
4649
c44866b2
VS
46502012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4651
4652 * grub-core/kern/emu/hostdisk.c (read_device_map): Add missing noreturn
4653 on show_error.
4654
96790539
VS
46552012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4656
4657 * grub-core/kern/disk.c (grub_disk_write): Add missing const qualifier.
4658
1ba7e295
VS
46592012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4660
4661 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Add missing var init.
4662
21ffe8f1
VS
46632012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4664
4665 * util/bin2h.c (usage): Add missing attribute noreturn.
4666
0ccb6b3c
VS
46672012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4668
4669 * grub-core/commands/testload.c (grub_cmd_testload): Fix overflow
4670 if the size isn't divisible by 512.
4671
b00d7fb6
VS
46722012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4673
4674 Make list_push and list_remove functions rather than inline functions
4675 to decrease size and avoid aliasing violations.
4676
4677 * include/grub/list.h (grub_list_push): Move to ...
4678 * grub-core/kern/list.c (grub_list_push): ... here. Don't inline.
4679 * include/grub/list.h (grub_list_remove): Move to ...
4680 * grub-core/kern/list.c (grub_list_remove): ... here. Don't inline.
4681
9d369087
VS
46822012-02-22 Vladimir Serbinenko <phcoder@gmail.com>
4683
4684 * configure.ac: Disable for now -Wstack-protector, -Wunreachable-code
4685 and -Wunused-result.
4686
af0250d9
VS
46872012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
4688
4689 * grub-core/net/net.c (grub_cmd_deladdr): Fix index.
4690 Reported by: Seth Goldberg
4691
aad32b14
VS
46922012-02-21 Vladimir Serbinenko <phcoder@gmail.com>
4693
4694 * configure.ac: Add -fno-builtin-gettext on host if NLS is disabled.
4695
ac96441c
ST
46962012-02-19 Samuel Thibault <samuel.thibault@ens-lyon.org>
4697
4698 * util/grub-mkconfig.in (GRUB_CMDLINE_GNUMACH): Export variable.
4699 * util/grub.d/10_hurd.in: Include GRUB_CMDLINE_GNUMACH in gnumach
4700 command line.
4701 * docs/grub.texi (Simple configuration): Document
4702 GRUB_CMDLINE_GNUMACH.
4703
47042012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
80a71213
VS
4705
4706 * conf/Makefile.common (platform_SCRIPTS): New variable.
4707 (platform_PROGRAMS): Likewise.
4708 * gentpl.py: Mark *,module and *.image for install.
4709 * grub-core/gdb_grub.in: Add a notice of expected environment.
4710 * grub-core/Makefile.core.def (gdb_grub): Mark for install.
4711 (gmodule.pl): Likewise.
4712
ac96441c 47132012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
a8f16eab
VS
4714
4715 Replace grub_checkkey with grub_getkey_noblock.
4716
4717 * grub-core/kern/term.c (grub_checkkey): Replaced with ...
4718 (grub_getkey_noblock): ... this. All users updated.
4719
ac96441c 47202012-02-18 Vladimir Serbinenko <phcoder@gmail.com>
b500bcfe
VS
4721
4722 * grub-core/kern/emu/console.c: Move to ...
4723 * grub-core/term/emu/console.c: ...here.
4724 (grub_ncurses_getkey): Fix return value if no key is detected.
4725
e51b5666
VS
47262012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4727
4728 * include/grub/test.h (grub_unit_test_init): Add missing prototype.
4729 (grub_unit_test_fini): Likewise.
4730 * tests/lib/unit_test.c (main): Remove extra nested external prototype.
4731
47322012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4733
4734 * include/grub/test.h (GRUB_UNIT_TEST)
4735
d9a62292
VS
47362012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4737
4738 * grub-core/script/execute.c (grub_script_break): Clarify logic.
4739 Better error handling.
4740 (grub_script_return): Likewise.
4741 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
4742
77c9182f
VS
47432012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4744
4745 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (__GNU_LIBRARY__): Avoid
4746 rimplicit redifinition.
4747
edb13cf9
VS
47482012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4749
4750 * docs/grub.texi (Internationalisation): Detail (lack of) collation in
4751 GRUB.
4752
a9e9dc7c
VS
47532012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4754
4755 * grub-core/normal/cmdline.c (grub_cmdline_get): Don't gettext prompt.
4756 * grub-core/normal/main.c (grub_normal_read_line_real): Gettext
4757 prompt here.
4758
b4ba8e02
VS
47592012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4760
4761 * grub-core/fs/zfs/zfs.c (zfs_fetch_nvlist): Mark unknown member here
4762 as GRUB_ERR_BUG. Don't malloc if no device is available.
4763
dded5540
VS
47642012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4765
4766 * grub-core/term/terminfo.c (grub_terminfo_output_unregister):
4767 Mark calling with invalid term as GRUB_ERR_BUG.
4768
0cf69874
VS
47692012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4770
4771 * grub-core/net/tftp.c (tftp_receive): Silently discard too short
4772 packets rather than raising an error.
4773
59bfe502
VS
47742012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4775
4776 * grub-core/loader/xnu.c (grub_xnu_writetree_toheap_real): Avoid set
4777 in if.
4778
db5fc596
VS
47792012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4780
4781 * grub-core/loader/efi/appleloader.c (grub_cmd_appleloader): Move
4782 diagnostic to dprintf.
4783 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
4784
e4b7f404
VS
47852012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4786
4787 * grub-core/kern/corecmd.c (grub_core_cmd_ls): Handle error in parsing
4788 device name.
4789
e7b02f9e
VS
47902012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4791
4792 * grub-core/fs/ntfs.c (locate_attr): Avoid set in if.
4793 (grub_ntfs_iterate_dir): Likewise.
4794
0331e102
VS
47952012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4796
4797 Efiemu stylistic fixes and gettext.
4798
4799 * grub-core/efiemu/i386/loadcore32.c
4800 (grub_arch_efiemu_relocate_symbols32): Avoid set in if.
4801 * grub-core/efiemu/i386/loadcore64.c
4802 (grub_arch_efiemu_relocate_symbols64): Likewise.
4803 * grub-core/efiemu/i386/pc/cfgtables.c
4804 (grub_machine_efiemu_init_tables): Likewise.
4805 * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise.
4806 (grub_efiemu_loadcore_initXX): Add a filename argument.
4807 All users updated.
4808 Improved error message.
4809 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init):
4810 Add a filename argument.
4811 All users updated.
4812 * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map):
4813 Reclassify double relocation as GRUB_ERR_BUG.
4814
306fc074
VS
48152012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4816
4817 * grub-core/commands/i386/pc/play.c (grub_cmd_play): Improve error
4818 handling.
4819
794d8ef2
VS
48202012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
4821
4822 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Allow running
4823 on partition.
4824
48252012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
f991dd3c
VS
4826
4827 * include/grub/misc.h (grub_error_save): Fix cleaning grub_errno.
4828
794d8ef2 48292012-02-12 Vladimir Serbinenko <phcoder@gmail.com>
d61386e2
VS
4830
4831 Improve string. Gettextize.
4832
78dde88e
VS
48332012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4834
4835 * configure.ac: Remove -Winline altogether and -Wmissing-prototypes on
4836 utils.
4837 * util/import_gcry.py: Add -Wno-strict-aliasing on checked modules.
4838
4786a90f
VS
48392012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4840
4841 * grub-core/disk/diskfilter.c (grub_diskfilter_print_partmap)
4842 [GRUB_UTIL]: New function.
4843 (insert_array) [GRUB_UTIL]: Store partmaps.
4844 * include/grub/diskfilter.h (grub_diskfilter_pv) [GRUB_UTIL]: New member
4845 partmaps.
4846 (grub_diskfilter_print_partmap) [GRUB_UTIL]: New proto.
4847 * util/grub-probe.c (probe_partmap): Call grub_diskfilter_print_partmap.
4848 (probe_abstraction): Print diskfilter and not raid.
4849 Reported by: Lennart Sorensen
4850
0b6225bd
VS
48512012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4852
4853 * util/grub-mkimage.c (generate_image): Explicitly init decompress_size.
4854 * util/grub-mkimagexx.c (MASK3): New define.
4855 (add_value_to_slot_20b): Use MASK3.
4856 (add_value_to_slot_21): Likewise.
4857 (relocate_addresses): Fix format specification.
4858 (load_image): Explicitly init symtab_section.
4859
b055f8f6
VS
48602012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4861
4862 * util/getroot.c (grub_find_root_devices_from_mountinfo): Fix types.
4863 (grub_util_biosdisk_get_grub_dev): Fix format specification.
4864
b77c2fb7
VS
48652012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4866
4867 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size): Enable
4868 on powerpc.
4869 Reported by: Lennart Sorensen
4870
e3ec28ab
VS
48712012-02-11 Vladimir Serbinenko <phcoder@gmail.com>
4872
4873 * gentpl.py: Add missing license header.
4874 * docs/grub.texi: Update copyright year.
4875
c8d9ead6
GS
48762012-02-10 Grégoire Sutre <gregoire.sutre@gmail.com>
4877
4878 Source grub-mkconfig_lib from the build directory at build time.
4879 Suggested by: Vladimir Serbinenko.
4880
4881 * gentpl.py (manpage): Set pkgdatadir to $(builddir) on help2man call.
4882 * util/grub-install.in: Define pkgdatadir if not already set, and source
4883 grub-mkconfig_lib from there.
4884 * util/grub-kbdcomp.in: Likewise.
4885 * util/grub-mkconfig.in: Likewise.
4886 * util/grub-mknetdir.in: Likewise.
4887 * util/grub-mkrescue.in: Likewise.
4888 * util/grub-mkstandalone.in: Likewise.
4889 * util/grub-reboot.in: Likewise.
4890 * util/grub-set-default.in: Likewise.
4891 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
4892
ebcecdf1
VS
48932012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4894
4895 Increase warning level.
4896
4897 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-redundant-decls
4898 -Wno-unreachable-code -Wno-conversion -Wno-old-style-definition.
4899 * configure.ac (HOST_CFLAGS): Add bunch of -W arguments.
4900 (TARGET_CFLAGS): Likewise.
4901 (HOST_CFLAGS): Add -Werror unless --disable-werror is activated.
4902 * grub-core/Makefile.core.def (decompressor_xz): Add
4903 -Wno-unreachable-code.
4904 (normal): Add -Wno-redundant-decls.
4905 (xzio): Add -Wno-unreachable-code.
4906 (lzopio): Add -Wno-redundant-decls -Wno-error.
4907 * grub-core/commands/acpi.c: Add exception to -Wcast-align.
4908 * grub-core/commands/lsacpi.c: Add exception to -Wcast-align.
4909 * grub-core/gensymlist.sh: Add exception to -Wmissing-format-attribute.
4910 * grub-core/kern/dl.c: Add exception to -Wcast-align.
4911 * grub-core/kern/efi/efi.c (grub_efi_modules_addr): Likewise.
4912 * grub-core/kern/i386/coreboot/init.c: Add exception to
4913 -Wsuggest-attribute=noreturn.
4914 * grub-core/kern/ia64/dl.c: Add exception to -Wcast-align.
4915 * grub-core/kern/ia64/dl_helper.c: Likewise.
4916 * grub-core/kern/mips/dl.c: Likewise.
4917 * grub-core/kern/sparc64/dl.c: Likewise.
4918 * grub-core/lib/LzmaEnc.c: Add exception to -Wshadow.
4919 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy): Likewise.
4920 (memcmp): Likewise.
4921 * grub-core/lib/pbkdf2.c: Add exception to -Wunreachable-code.
4922 * grub-core/loader/ia64/efi/linux.c: Add exception to -Wcast-align.
4923 * grub-core/loader/mips/linux.c: Likewise.
4924 * grub-core/loader/multiboot_elfxx.c: Likewise.
4925 * grub-core/script/parser.y: Add exception to -Wunreachable-code.
4926 * grub-core/video/sm712.c: Add exception to -Wcast-align.
4927 * util/import_gcry.py: Add -Wno-cast-align to modules checked by hand.
4928 * grub-core/font/font.c (grub_font_loader_init): Add explicit cast and
4929 fixme.
4930 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
4931 * grub-core/kern/i386/multiboot_mmap.c (grub_machine_mmap_init):
4932 Fix prototype.
4933
37bb97fe
VS
49342012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4935
4936 * grub-core/lib/i386/relocator16.S: Fix incorrect use of absolute
4937 address.
4938
29a3550b
VS
49392012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4940
4941 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
4942 Avoid improper use of strings.
4943 (grub_cmd_legacy_initrdnounzip): Likewise.
4944
dfdffd0d
VS
49452012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4946
4947 * include/grub/emu/misc.h (grub_util_warn): Add missing format
4948 attribute.
4949 (grub_util_info): Likewise.
4950 (grub_util_error): Likewise.
4951
102fae4a
VS
49522012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4953
4954 * util/grub-mount.c (fuse_init): Avoid improper use of strings.
4955 * util/grub-fstest.c (fstest): Likewise.
4956
7e94d044
VS
49572012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4958
4959 * grub-core/disk/geli.c (grub_md_sha256_real): Respect format security.
4960 (grub_md_sha512_real): Likewise.
4961 (grub_util_get_geli_uuid): Likewise.
4962 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Likewise.
4963 (grub_util_biosdisk_open): Fix format specification.
4964 Respect format security.
4965 * grub-core/kern/emu/misc.c (xmalloc): Respect format security.
4966 (xrealloc): Likewise.
4967 (xasprintf): Likewise.
4968
5ebd9769
VS
49692012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4970
4971 * util/import_gcry.py: Include grub/crypto.h in init.c.
4972
495fc8c1
VS
49732012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4974
4975 * util/grub-mkimage.c (compress_kernel_lzma): Respect format security.
4976 (generate_image): Make prefix a const char *.
4977 Fix format specifications. Respect format security.
4978 Avoid void * arithmetics.
4979 Avoid shadowing.
4980 (argp_parser): Remove unused variable. Respect format security.
4981 * util/grub-mkimagexx.c (relocate_symbols): Avoid shadowing.
4982 (count_funcs) [!MKIMAGE_ELF64]: #if-out.
4983 (count_funcs): Remove unused variable.
4984 (relocate_addresses): Fix format specification.
4985 Disable x86-64 with elf32. Remove unused variables.
4986 (add_fixup_entry): Avoid shadowing.
4987 (make_reloc_section): Fix format specification.
4988 Use assert.
4989 (locate_sections): Fix format specifications.
4990 (load_image): Avoid shadowing.
4991
043c2ea3
VS
49922012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
4993
4994 * util/grub-setup.c (setup): Remove unused variable. Avoid shadowing.
4995 Fix format specifications. Respect format security.
4996 Don't translate already translated grub_errmsg.
4997 (argp_parser): Remove unused variable
4998
3ec65a81
VS
49992012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5000
5001 * util/grub-mkrelpath.c (argp_parser): Remove unused variable.
5002
a4d9fe4a
VS
50032012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5004
5005 * util/grub-mkpasswd-pbkdf2.c (argp_parser): Remove unused variable.
5006 (main): Likewise. Use xmalloc. Respect format security.
5007
15b81d49
VS
50082012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5009
5010 * util/grub-mklayout.c (console_grub_equivalence): Make "layout"
5011 a const char *.
5012 (argp_parser): Remove unused variable.
5013
31731fc0
VS
50142012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5015
5016 * util/grub-mkfont.c (grub_font_info): Make name a const char *.
5017 (add_pixel): Make static.
5018 (add_font): Likewise.
5019 (write_string_section): Make name and str a const char *.
5020 (write_be16_section): Make name a const char *.
5021 (print_glyphs): Make static.
5022 (write_font_ascii_bitmap): Likewise.
5023 (write_font_width_spec): Likewise.
5024 (write_font_pf2): Likewise.
5025 (argp_parser): Remove unused variable.
5026 Respect format security.
5027 (main): Avoid shadowing. Respect format security.
5028
0809527b
VS
50292012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5030
5031 * util/grub-editenv.c (argp_parser): Make static.
5032 (create_envblk_file): Use xmalloc.
5033 (open_envblk_file): Likewise.
5034 Resepect format security.
5035 (set_variables): Respect format security.
5036
45b0c8b7
VS
50372012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5038
5039 * util/getroot.c (grub_find_device): Respect format security.
5040 (get_mdadm_uuid): Remove unused variable.
5041 (grub_util_pull_device): Dont call gettext on already translated
5042 grub_errmsg.
5043 (find_system_device): Remove unused variable.
5044 (grub_util_get_grub_dev): Likewise.
5045 (grub_make_system_path_relative_to_its_root): Respect format security.
5046
1b024b4e
VS
50472012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5048
5049 * util/grub-fstest.c (execute_command): Make first argument
5050 a const char *.
5051 (read_file): Avoid shadowing.
5052 Reuse underlying error message if device open fails.
5053 (cmd_cmp): Respect format security.
5054 (root): Make const char *.
5055 (fstest): Remove args argument and use global copy.
5056 Respect format security.
5057 (argp_parser): Make static.
5058 (main): Make default_root const char *.
5059
5d1d4e28
VS
50602012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5061
5062 * util/grub-mount.c (root): Make const char *.
5063 (execute_command): Make first argument a const char *.
5064 (fuse_init): Respect format security.
5065 (argp_parser): Make static. Remove unused variable.
5066 (main): Make default_root a const char *.
5067 Respect format security.
5068
36eb7379
VS
50692012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5070
5071 * util/grub-probe.c (probe): Don't call gettext on already translated
5072 grub_errmsg.
5073 Remove unused variables.
5074 (argp_parser): Remove unused variable.
5075
76fb2ea9
VS
50762012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5077
5078 * util/grub-script-check.c (argp_parser): Remove unused variable.
5079 (main): Rename read to curread to avoid shadowing.
5080
56c98584
VS
50812012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5082
5083 * util/misc.c (grub_util_write_image_at): Fix format specification.
5084 (grub_util_write_image): Likewise.
5085 (grub_script_execute_argument_to_string): Removed (unused).
5086 (grub_script_execute_menuentry): Likewise.
5087 (grub_putchar): Likewise.
5088
164ebb48
VS
50892012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5090
5091 * include/grub/symbol.h (EXT_C) [GRUB_UTIL]: Removed.
5092 (FUNCTION) [GRUB_UTIL]: Likewise.
5093 (VARIABLE) [GRUB_UTIL]: Likewise.
5094
44318d61
VS
50952012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5096
5097 * include/grub/misc.h: Avoid evaluationg NEED_ENABLE_EXECUTE_STACK and
5098 NEED_REGISTER_FRAME_INFO in GRUB_UTIL.
5099
31a26002
VS
51002012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5101
5102 * grub-core/partmap/bsdlabel.c (iterate_real): Fix freeing of static
5103 buffer.
5104
51052012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5106
5107 * grub-core/lib/LzmaEnc.c (LzmaEnc_FastPosInit): Made static.
5108 (LzmaEnc_SaveState): Removed (unused).
5109 (LzmaEnc_RestoreState): Likewise.
5110 (LzmaEnc_InitPriceTables): Made static.
5111 (LzmaEnc_Construct): Likewise.
5112 (LzmaEnc_FreeLits): Likewise.
5113 (LzmaEnc_Destruct): Likewise.
5114 (LzmaEnc_Init): Likewise.
5115 (LzmaEnc_InitPrices): Likewise.
5116 (LzmaEnc_Finish): Likewise.
5117 (LzmaEnc_PrepareForLzma2): Removed (unused).
5118 (LzmaEnc_MemPrepare): Likewise.
5119 (LzmaEnc_GetNumAvailableBytes): Likewise.
5120 (LzmaEnc_GetCurBuf): Likewise.
5121 (LzmaEnc_CodeOneMemBlock): Likewise.
5122
6fa67967
VS
51232012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5124
5125 * grub-core/disk/ldm.c (grub_util_get_ldm): Remove unused variables.
5126 (grub_util_ldm_embed): Likewise.
5127
9a7428e6
VS
51282012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5129
5130 * util/grub-editenv.c (print_var): Rename name to varname to
5131 avoid shadowing.
5132 (main): Rename index to curindex to avoid shadowing.
31a26002 5133 Make filename a const char *.
9a7428e6 5134
4f96abd1
VS
51352012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5136
5137 * grub-core/script/lexer.c (grub_script_lexer_init): Rename getline
5138 to arg_getline to avoid shadowing.
5139
44d10dad
VS
51402012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5141
5142 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Rename disk to
5143 disk_ to avoid shadowing.
5144
340ba63e
VS
51452012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5146
5147 * grub-core/lib/LzFind.c (MatchFinder_GetIndexByte): Rename index to
5148 curindex to avoid shadowing.
5149 Make static.
5150 (MatchFinder_GetNumAvailableBytes): Make static.
5151
22965bce
VS
51522012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5153
5154 * grub-core/fs/squash4.c (direct_read): Rename read to curread to
5155 avoid shadowing.
5156
7b5784d4
VS
51572012-02-10 Vladimir Serbinenko <phcoder@gmail.com>
5158
5159 * grub-core/disk/cryptodisk.c (grub_cryptodisk_endecrypt): Rename
5160 argument from encrypt to do_encrypt to avoid shadowing.
5161
6f48ca01
VS
51622012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5163
5164 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elf): Fix
5165 incorrect nesting of #if's.
5166
a4ea2dff
VS
51672012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5168
5169 * grub-core/commands/lsacpi.c (disp_acpi_xsdt_table): #if'-out the
5170 checks which are always false on some platforms.
5171 (grub_cmd_lsacpi): Likewise.
5172 * grub-core/kern/misc.c (grub_strtoul): Likewise.
5173 * grub-core/loader/multiboot.c (grub_multiboot_set_video_mode):
5174 Likewise.
5175
def9fc1b
VS
51762012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5177
5178 * grub-core/disk/diskfilter.c (read_segment): Renome unreachable code.
5179 * grub-core/net/ip.c (grub_net_recv_ip4_packets): Likewise.
5180
a67b2a04
VS
51812012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5182
5183 * grub-core/gnulib/regex.h (re_pattern_buffer): Declare buffer as
5184 re_dfa_t to avoid breaking alignment invariants.
5185 * grub-core/gnulib/regex_internal.h (re_dfa_t): Moved to ...
5186 * grub-core/gnulib/regex.h (re_dfa_t): ... here.
5187
44c6828d
VS
51882012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5189
5190 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Fix printf.
5191 * grub-core/loader/ia64/efi/linux.c (grub_cmd_fpswa): Likewise.
5192
bebe0dd0
VS
51932012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5194
5195 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init):
5196 Fix declaration.
5197
a9cdb3cf
VS
51982012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5199
5200 * grub-core/bus/usb/ehci.c (grub_ehci_ehcc_read32): Restructure to
5201 conserve alignment invariants.
5202 (grub_ehci_ehcc_read16): Likewise.
5203 (grub_ehci_oper_read32): Likewise.
5204 (grub_ehci_oper_write32): Likewise.
5205 (grub_ehci_pci_iter) [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
5206 Conserve alignment invariants.
5207
ccc3b1b8
VS
52082012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5209
5210 * grub-core/kern/emu/full.c (grub_emu_post_init): Remove raid reinit.
5211 * include/grub/disk.h [GRUB_MACHINE_EMU]: Remove now useless LVM/RAID
5212 declarations.
5213
987fbd95
VS
52142012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5215
5216 * grub-core/kern/emu/hostfs.c (grub_hostfs_close):
5217 Remove unused variable.
5218
0df363f3
VS
52192012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5220
5221 * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_load):
5222 Remove set in if.
5223
b2c0c4a6
VS
52242012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5225
5226 * include/grub/net.h: Remove double declarations.
5227
690c531f
VS
52282012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5229
5230 Remove "payload" command in ia64 Linux loader since I couldn't
5231 find any evidence of it being used for anything.
5232 Replace "relocate" command with an environment variable
5233
5234 * grub-core/loader/ia64/efi/linux.c (ia64_boot_param): Remove extra
5235 fields.
5236 (ia64_boot_payload): Removed.
5237 (last_payload): Likewise.
5238 (RELOCATE_OFF): Likewise.
5239 (RELOCATE_ON): Likewise.
5240 (RELOCATE_FORCE): Likewise.
5241 (relocate): Likewise.
5242 (free_pages): Don't free payloads.
5243 (grub_load_elf64): Use common error messages.
5244 Use "linux_relocate" variable.
5245 Increase the space after boot_params.
5246 (grub_cmd_payload): Removed.
5247 (grub_cmd_relocate): Likewise.
5248 (grub_cmd_fpswa): Improve messages.
5249 (cmd_payload): Removed.
5250 (cmd_relocate): Likewise.
5251 (GRUB_MOD_INIT): Don't register "payload" and "relocate".
5252 (GRUB_MOD_FINI): Don't unregister "payload" and "relocate".
5253
01783768
VS
52542012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5255
5256 Convert UHCI to DMA framework.
5257
5258 * grub-core/bus/usb/uhci.c (grub_uhci): Add chunk and phys members.
5259 (grub_uhci_pci_iter): Fill new members
5260 (grub_alloc_td): Use P2V and V2P functions.
5261 (grub_free_queue): Likewise.
5262 (grub_alloc_qh): Likewise.
5263 (grub_uhci_setup_transfer): Likewise.
5264 (grub_uhci_check_transfer): Likewise.
5265
43206939
VS
52662012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5267
5268 * grub-core/video/colors.c (grub_video_parse_color): Fix error message.
5269 Remove assignment in if while on it.
5270
571e140e
VS
52712012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5272
5273 * util/grub-mkstandalone.in: Fix modules directory.
5274
a9d96eeb
VS
52752012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5276
5277 * util/grub-mkimage.c (image_targets): Set default_compression to lzma
5278 on i386-pc target.
5279 (argp_parser): Accept "auto" as compression specification.
5280
e4e37e8d
VS
52812012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5282
5283 Fix `help' with unloaded modules.
5284
5285 * include/grub/normal.h (grub_dyncmd_get_cmd): New proto.
5286 * grub-core/normal/dyncmd.c (grub_dyncmd_get_cmd): New function.
5287 (grub_dyncmd_dispatcher): Small stylistic fix.
5288 * grub-core/commands/help.c (grub_cmd_help): Load missing modules when
5289 explicit help is requested.
5290
e1ea3ade
VS
52912012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5292
5293 * grub-core/fs/cpio.c (grub_cpio_dir): Fix a bug with multiple listing.
5294 Explicitly init restart while on it.
5295
27556881
VS
52962012-02-09 Vladimir Serbinenko <phcoder@gmail.com>
5297
5298 * grub-core/lib/posix_wrap/wchar.h (mbrtowc): Set pwc to zero to avoid
5299 uninited variable.
5300
d65f6b36
VS
53012012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5302
5303 * util/grub-mknetdir.in: Use . rather than source for POSIX
5304 compatibility.
5305
0a1e473c
VS
53062012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5307
5308 * util/grub-probe.c (main): Fix trailing space in compatibility hint.
5309
ce6647c8
VS
53102012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5311
5312 * grub-core/kern/partition.c (grub_partition_get_name): Fix uninited
5313 variable.
5314
66747894
VS
53152012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5316
5317 * grub-core/commands/hdparm.c (grub_cmd_hdparm): Accept device name
5318 without quotes.
5319
71645f6e
VS
53202012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5321
5322 * grub-core/net/net.c (GRUB_MOD_INIT): Don't register netfs.
5323
0e1c1f61
VS
53242012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5325
5326 * grub-core/kern/partition.c (grub_partition_get_name): Fix reverse
5327 iteration of partitions.
5328
9c4b5c13
VS
53292012-02-08 Vladimir Serbinenko <phcoder@gmail.com>
5330
5331 Improve gettext support. Stylistic fixes and error handling fixes while
5332 on it.
5333
215c90cb
VS
53342012-02-07 Vladimir Serbinenko <phcoder@gmail.com>
5335
5336 * grub-core/lib/i386/relocator16.S: Revert moving A20 code into PM
5337 part. Instead setup the correct stack in RM.
5338 * grub-core/lib/i386/relocator.c (grub_relocator16_boot): Reserve place
5339 for stack.
5340 * include/grub/i386/relocator_private.h: New file.
5341
b5c1f9bf
VS
53422012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5343
5344 * grub-core/commands/minicmd.c (GRUB_MOD_INIT): Add missing SIZE
5345 argument.
5346 * util/grub-fstest.c (options): Add missing DEVICE part.
5347
b525fd83
VS
53482012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5349
5350 Clarify and unify messages.
5351
5352 * grub-core/commands/hashsum.c (options): Unify messages.
5353 * grub-core/commands/keystatus.c (GRUB_MOD_INIT): Don't mark a
5354 literal-only message as translatable.
5355 * grub-core/commands/lsacpi.c (GRUB_MOD_INIT): Likewise.
5356 * grub-core/loader/ia64/efi/linux.c (GRUB_MOD_INIT): Likewise.
5357 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Add quoting around
5358 commands.
5359 * grub-core/commands/menuentry.c (options): Clarify that it's a keyboard
5360 key, not the key used to unlock. Clarify what it's used for.
5361 * grub-core/kern/emu/hostdisk.c (read_device_map): Unify error message.
5362 * grub-core/loader/xnu.c (grub_xnu_load_driver): Remove erroneous colon.
5363 * grub-core/script/main.c (GRUB_MOD_INIT): Clarify [n] to be [NUM].
5364 * util/grub-editenv.c (options): Unify "verbose" message.
5365 * util/grub-fstest.c (read_file): Unify error message.
5366 (fstest): Add quotes around commands.
5367 (options): Unify "verbose" message.
5368 * util/grub-install.in: Add quotes around variable name.
5369 * util/grub-kbdcomp.in: Unify error message.
5370 * util/grub-mkfont.c (main): Likewise.
5371 * util/grub-mkrescue.in: Likewise.
5372 * util/grub-mklayout.c (options): Unify "verbose" message.
5373 * util/grub-mkstandalone.in: Unify help and verbose messages.
5374 * util/grub-mount.c (options): Unify "verbose" message.
5375 * util/grub-probe.c (options): Likewise.
5376 * util/grub-script-check.c (options): Likewise.
5377 * util/grub-setup.c (setup): Unify no-terminator message.
5378 (options): Use DEVICE and not DEV.
5379 Unify "verbose" message.
5380 * util/ieee1275/ofpath.c (xrealpath): Unify error message.
5381
0ae70393
VS
53822012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5383
5384 Improve and unify messages.
5385
5386 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): Add argument
5387 name. All users updated.
5388 Print filename in error.
5389 (read_device_map): Print filename in error.
5390 * util/getroot.c (grub_guess_root_devices): Print filename in error.
5391 (grub_util_get_os_disk): Likewise.
5392 (grub_util_biosdisk_get_grub_dev): Likewise.
5393 (grub_util_check_block_device): Likewise.
5394 (grub_util_check_char_device): Likewise.
5395 (grub_make_system_path_relative_to_its_root): Likewise.
5396 * util/grub-editenv.c (create_envblk_file): Likewise.
5397 (open_envblk_file): Likewise.
5398 (write_envblk): Likewise.
5399 * util/grub-fstest.c (cmd_cp): Likewise.
5400 (cmd_cat): Likewise.
5401 (cmd_cmp): Likewise.
5402 * util/grub-menulst2cfg.c (main): Likewise.
5403 * util/grub-mkfont.c (write_font_ascii_bitmap): Likewise.
5404 (write_font_width_spec): Likewise.
5405 (write_font_pf2): Likewise.
5406 * util/grub-mkimage.c (generate_image): New argument outname.
5407 All users updated.
5408 Remove unreacheable message.
5409 (options): Unify messages.
5410 (help_filter): Likewise.
5411 * util/grub-mklayout.c (usage): Removed (unused).
5412 (main): Print filename in error.
5413 * util/grub-mkrescue.in: Fix wrong quoting.
5414 * util/grub-setup.c (setup): Print filename in error.
5415 * util/ieee1275/ofpath.c (vendor_is_ATA): Likewise.
5416 (check_sas): Likewise.
5417 * util/misc.c (grub_util_get_fp_size): Removed.
5418 (grub_util_get_image_size): Print filename in error.
5419 (grub_util_read_at): Removed.
5420 (grub_util_read_image): Print filename in error.
5421 (grub_util_load_image): Likewise.
5422 (grub_util_write_image_at): New argument filename. All users updated.
5423 Print filename in error.
5424 (grub_util_write_image): New argument filename. All users updated.
5425 Print filename in error.
5426 * util/raid.c (grub_util_raid_getmembers): Print filename in error.
5427 * util/resolve.c (grub_util_resolve_dependencies): Likewise.
5428
0a96117d
VS
54292012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5430
5431 * grub-core/Makefile.core.def (pxechain): New module.
5432 * grub-core/loader/i386/pc/pxechainloader.c: New file.
5433 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_get_cached): New
5434 function.
5435 (grub_pc_net_config_real): Use grub_pxe_get_cached.
5436 * include/grub/i386/pc/pxe.h (grub_pxe_get_cached): New proto.
5437
aca002f7
VS
54382012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5439
5440 * grub-core/kern/err.c (GRUB_MAX_ERRMSG): Move to ...
5441 * include/grub/err.h (GRUB_MAX_ERRMSG): ... here.
5442 * include/grub/err.h (grub_error_saved): New struct.
5443 (grub_errmsg): Make array size explicit.
5444 * include/grub/misc.h (grub_error_save): New function.
5445 (grub_error_load): Likewise.
5446 * grub-core/kern/err.c (grub_error_stack_items): Use grub_error_saved.
5447 (grub_error_push): Update `errno' member name.
5448 (grub_error_pop): Likewise
5449 * grub-core/net/tftp.c (tftp_data): New member save_err.
5450 (tftp_receive): Save error.
5451 (tftp_open): Restore error.
5452
a51dab13
VS
54532012-02-05 Vladimir Serbinenko <phcoder@gmail.com>
5454
5455 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move switch
5456 to real mode down to execute A20-related code in protected mode as
5457 intended.
5458
eb6e6649
GS
54592012-02-05 Grégoire Sutre <gregoire.sutre@gmail.com>
5460
5461 * grub-core/disk/diskfilter.c (grub_diskfilter_make_raid): Return
5462 NULL when the argument `level' has an unexpected value.
5463
92cd0f6e
VS
54642012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5465
5466 Move platform-dependent files from $prefix to $prefix/$platform.
5467
5468 * config.h.in (GRUB_TARGET_CPU): New definition.
5469 (GRUB_PLATFORM): Likewise.
5470 * configure.ac: Define GRUB_TARGET_CPU and GRUB_PLATFORM.
5471 * grub-core/commands/parttool.c (grub_cmd_parttool): Update dir.
5472 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
5473 * grub-core/kern/dl.c (grub_dl_load): Likewise.
5474 * grub-core/normal/autofs.c (read_fs_list): Likewise.
5475 * grub-core/normal/crypto.c (read_crypto_list): Likewise.
5476 * grub-core/normal/dyncmd.c (read_command_list): Likewise.
5477 * grub-core/normal/term.c (read_terminal_list): Likewise.
5478 * grub-core/gettext/gettext.c (grub_mofile_open_lang): Use
5479 $prefix/locale.
5480 (grub_gettext_init_ext): Likewise.
5481 * grub-core/normal/main.c (GRUB_MOD_INIT): Define grub_cpu and
5482 grub_platform.
5483 * util/grub-install.in: Update directories.
5484 * util/grub-mknetdir.in: Likewise.
5485 * util/grub-mkrescue.in: Likewise.
5486
db606889
VS
54872012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5488
5489 * grub-core/kern/ieee1275/openfw.c (grub_claimmap): Change to
5490 grub_error framework. All users updated.
5491
c39992a4
VS
54922012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5493
5494 * grub-core/gettext/gettext.c: Mostly rewritten to avoid using
5495 lists (by always binsearching), improve caching (cache strings
5496 used for binsearch, not only results), improve
5497 maintainability (by using more structured binary search) and correct
5498 error handling.
5499
1e5ec32f
VS
55002012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5501
5502 * grub-core/script/execute.c (grub_script_return): Fix warning.
5503
ac576cde
VS
55042012-02-04 Vladimir Serbinenko <phcoder@gmail.com>
5505
5506 * grub-core/script/execute.c (grub_script_return): Fix potential
5507 NULL-dereference.
5508 Reported by: Jim Meyering.
5509
498453f6
VS
55102012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5511
5512 * po/POTFILES.in: Regenerate.
5513 * util/grub-install.in: Gettextize the strings missed in first pass.
5514
8be63f2e
VS
55152012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5516
5517 * Makefile.util.def (grub-mkdevicemap): Removed.
5518 * include/grub/emu/hostdisk.h (grub_util_get_os_disk): New proto.
5519 * include/grub/util/deviceiter.h: Removed.
5520 * util/deviceiter.c: Likewise.
5521 * util/getroot.c (grub_util_get_os_disk): New function.
5522 * util/grub-install.in: Remove grub-mkdevicemap. Use -t disk as
5523 replacement for EFI.
5524 * util/grub-mkdevicemap.c: Removed.
5525 * util/grub-probe.c (probe): Handle PRINT_DISK.
5526 (argp_parser): Handle -t disk.
5527
8e1e4e39
VS
55282012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5529
5530 * util/grub-mkfont.c: Migrate to argp.
5531 * util/grub-mklayout.c: Likewise.
5532 * util/grub-mkpasswd-pbkdf2.c: Likewise.
5533 * util/grub-mkrelpath.c: Likewise.
5534 * util/grub-probe.c: Likewise.
5535 * util/grub-script-check.c: Likewise.
5536
4459819a
VS
55372012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5538
5539 * util/grub-reboot.in: Add missing datarootdir.
5540 Add missing newline.
5541 * util/grub-set-default.in: Add missing datarootdir.
5542 * util/powerpc/ieee1275/grub-mkrescue.in: Add missing newline.
5543 * util/grub-mkrescue.in: Likewise.
5544
f65741c7
VS
55452012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5546
5547 * util/grub.d/30_os-prober.in: Fix TRANSLATORS comment.
5548
c1a33466
VS
55492012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5550
5551 * util/grub-kbdcomp.in: Add decent help and gettextize.
5552 * docs/man/grub-kbdcomp.h2m: New file.
5553
c76899a0
VS
55542012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5555
5556 Migrate grub-mkimage.c to argp.
5557
5558 * Makefile.util.def (grub-mkimage): Add util/argp_common.c.
5559 (grub-setup): Likewise.
5560 * util/grub-setup.c (print_version): Move to ...
5561 * util/argp_common.c (print_version): ... here.
5562 * util/grub-setup.c (argp_program_version_hook): Move to ...
5563 * util/argp_common.c (argp_program_version_hook): ... here.
5564 * util/grub-setup.c (argp_parser): Add exit (1) on fatal error for
5565 safety.
5566 * util/grub-mkimage.c (main): Migrate to argp.
5567
57db0757
VS
55682012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5569
5570 * util/grub-mkrescue.in: Use same message as
5571 util/powerpc/ieee1275/grub-mkrescue.in with %s in place of command
5572 for better translations.
5573
18534ad9
VS
55742012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5575
5576 * util/powerpc/ieee1275/grub-mkrescue.in: Gettextize. Unify the command
5577 options with generic grub-mkrescue.in with the goal of future
5578 merge.
5579
c84ba308
VS
55802012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5581
5582 * grub-core/kern/mm.c: Add missing include of i18n.h
5583 * grub-core/lib/relocator.c: Likewise.
5584
347998c2
VS
55852012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5586
5587 * grub-core/loader/ia64/efi/linux.c (find_mmap_size): Replace fatal with
5588 error.
5589 (allocate_pages): Check return value.
5590 Replace fatal with error.
5591 (grub_linux_boot): Replace printf with dprintf.
5592 Check find_mmap_size return value.
5593 Replace fatal with error.
5594 Don't call grub_machine_fini.
5595 (grub_load_elf64): Replace printf with dprintf.
5596 (grub_cmd_linux): Likewise.
5597 (grub_cmd_initrd): Likewise.
5598 (grub_cmd_payload): Likewise.
5599
c779226e
VS
56002012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5601
5602 * grub-core/loader/i386/xnu.c (grub_cmd_devprop_load): Fix error
5603 message.
5604 * grub-core/video/radeon_fuloong2e.c
5605 (grub_video_radeon_fuloong2e_setup): Likewise.
5606 * grub-core/video/sis315pro.c (grub_video_sis315pro_setup): Likewise.
5607 * grub-core/video/video.c (grub_video_set_mode): Don't override
5608 standard out of memory message.
5609
dc87d45a
GS
56102012-02-03 Grégoire Sutre <gregoire.sutre@gmail.com>
5611
5612 NetBSD disk wedge support.
5613
5614 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start)
5615 [__NetBSD__]: Handle NetBSD disk wedges.
5616 * util/getroot.c (convert_system_partition_to_system_disk)
5617 [__NetBSD__]: Likewise.
5618
055f856f
MW
56192012-02-03 Mark Wooding <mdw@distorted.org.uk>
5620
5621 * util/grub-mkconfig.in: Use umask rather than chmod to create
5622 grub.cfg.new to avoid insecure grub.cfg.
5623
4a9f8346
VS
56242012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5625
5626 * grub-core/commands/ls.c: Gettextize.
5627 * grub-core/commands/setpci.c: Likewise.
5628 * grub-core/commands/videotest.c: Likewise.
5629 * grub-core/disk/geli.c: Likewise.
5630 * grub-core/kern/mm.c: Likewise.
5631 * grub-core/lib/relocator.c: Likewise.
5632 * grub-core/loader/efi/appleloader.c: Likewise.
5633 * grub-core/loader/i386/xnu.c: Likewise.
5634 * grub-core/loader/ia64/efi/linux.c: Likewise.
5635 * grub-core/loader/xnu.c: Likewise.
5636 * grub-core/net/dns.c: Likewise.
5637 * grub-core/net/net.c: Likewise.
5638 * grub-core/script/lexer.c: Likewise.
5639 * grub-core/script/parser.y: Likewise.
5640 * grub-core/script/yylex.l: Likewise.
5641 * util/getroot.c: Likewise.
5642 * util/grub-setup.c: Likewise.
5643
a646a366
VS
56442012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5645
5646 * grub-core/fs/reiserfs.c (grub_reiserfs_get_item): Use proper error
5647 number.
5648
54e2be26
VS
56492012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5650
5651 * grub-core/disk/ldm.c (grub_util_ldm_embed): Correct error message.
5652
f7c71e68
VS
56532012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5654
5655 * grub-core/commands/search_file.c (SEARCH_TARGET): Remove obsolete
5656 macro.
5657 * grub-core/commands/search_label.c (SEARCH_TARGET): Likewise.
5658 * grub-core/commands/search_uuid.c (SEARCH_TARGET): Likewise.
5659
a32d5c71
VS
56602012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5661
5662 * util/grub-mkstandalone.in: Fix help messages. Gettextize.
5663 * util/grub-install.in: Gettextize.
5664 * util/grub-mkconfig.in: Likewise.
5665 * util/grub-mkconfig_lib.in: Replace gettext with echo -n and not echo
5666 if not available.
5667 (grub_warn): Gettextize.
5668 * util/grub-mknetdir.in: Gettextize.
5669 * util/grub-mkrescue.in: Likewise.
5670 * util/grub-mkstandalone.in: Likewise.
5671 * util/grub-reboot.in: Likewise.
5672 * util/grub-set-default.in: Likewise.
5673 * util/grub.d/00_header.in: Likewise.
5674 * util/grub.d/10_hurd.in: Likewise.
5675 * util/grub.d/10_kfreebsd.in: Likewise.
5676 * util/grub.d/10_linux.in: Likewise.
5677 * util/grub.d/10_netbsd.in: Likewise.
5678 * util/grub.d/10_windows.in: Likewise.
5679 * util/grub.d/20_linux_xen.in: Likewise.
5680 * util/grub.d/30_os-prober.in: Likewise.
5681 * po/POTFILES-shell.in: Regenerate.
5682
69edd81a
RL
56832012-02-03 Richard Laager <rlaager@wiktel.com>
5684
5685 * util/grub-mkimage.c (main): Fix format-security warning.
5686 * util/grub-mkrelpath.c (main): Likewise.
5687 * util/grub-probe.c (main): Likewise.
5688
65f08dbf
RL
56892012-02-03 Richard Laager <rlaager@wiktel.com>
5690
5691 * util/grub-probe.c (probe): Don't crash on canonicalize_file_name
5692 failure.
5693 Put back lost PRINT_DRIVE.
5694
e9084abe
RL
56952012-02-03 Richard Laager <rlaager@wiktel.com>
5696
5697 * util/getroot.c (find_root_devices_from_libzfs): Fix compilation error.
5698 (grub_guess_root_devices): Replace strlen with sizeof.
5699 Avoid crash.
5700 (find_root_devices_from_poolname): Remove unused variable.
5701 Handle raidzN.
5702
cf5f7ee7
VS
57032012-02-03 Vladimir Serbinenko <phcoder@gmail.com>
5704
5705 Support install on multi-device filesystems.
5706
5707 * include/grub/emu/getroot.h (grub_guess_root_device): Renamed to ...
5708 (grub_guess_root_devices): ...this. Return char **. All users updated.
5709 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo):
5710 Removed.
5711 * util/getroot.c (find_root_device_from_libzfs): Moved pool logic to ...
5712 (find_root_devices_from_poolname): ... here.
5713 (grub_find_root_devices_from_mountinfo): Return char **. Make static.
5714 Support zfs-fuse.
5715 (grub_guess_root_device): Rename to ...
5716 (grub_guess_root_devices): ... this. Return char **. All users updated.
5717 * util/grub-install.in: Handle multi-device filesystems.
5718 * util/grub-probe.c (probe). Make device_names a char **. Add delim
5719 argument. All users updated.
5720 Handle multi-device filesystems.
5721 Use 'delim' as separator.
5722 Remove device check to allow filesystems on file.
5723 (main): Support -0 argument. Handle multi-device.
5724 * util/grub-setup.c (setup): Remove root argument. Handle multi-device.
5725 Fix a cross-device check while on it.
5726 (arguments): Remove root_dev.
5727 (argp_parser): Remove -r.
5728 (main): Remove root_dev.
5729
2f53a9ed
VS
57302012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5731
5732 * grub-core/fs/zfs/zfscrypt.c: Add link to documentation.
5733
17e1d934
VS
57342012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5735
5736 * grub-core/commands/videotest.c (grub_cmd_videotest): Fix subset
5737 symbol.
5738 Reported by: NODA, Kai <nodakai>.
5739
d3e3fab5
VS
57402012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5741
5742 Fix ehci on amd64.
5743
5744 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): Use %p to print
5745 pointers.
5746 * grub-core/bus/usb/ehci.c (grub_ehci_pci_iter): Likewise.
5747 (grub_ehci_setup_qh): Likewise.
5748 (grub_ehci_find_qh): Likewise.
5749 (grub_ehci_transaction): Likewise.
5750 (grub_ehci_setup_transfer): Likewise.
5751 (grub_ehci_check_transfer): Likewise.
5752 (grub_ehci_portstatus): Likewise.
5753 (grub_ehci_detect_dev): Likewise.
5754 (grub_ehci_transfer_controller_data): New field td_last_phys.
5755 (grub_ehci_setup_transfer): Fill td_last_phys.
5756 (grub_ehci_check_transfer): Use td_last_phys.
5757
3008675b
SG
57582012-02-01 Seth Goldberg <seth.goldberg@oracle.com>
5759
5760 * grub-core/normal/context.c (grub_env_extractor_close): Don't crash
5761 if no submenu is present.
5762
fc9b5652
AN
57632012-02-01 Aleš Nesrsta <starous@volny.cz>
5764
5765 CBI support.
5766
5767 * include/grub/usb.h (grub_usbms_protocol_t): New values
5768 GRUB_USBMS_PROTOCOL_CB and GRUB_USBMS_PROTOCOL_CBI.
5769 * grub-core/disk/usbms.c (GRUB_USBMS_CBI_CMD_SIZE): New define.
5770 (GRUB_USBMS_CBI_ADSC_REQ): Likewise.
5771 (grub_usbms_dev): Add subclass, protocol and intrpt.
5772 Remove in_maxsz and out_maxsz.
5773 (grub_usbms_reset): Rename to ...
5774 (grub_usbms_bo_reset): .. this.
5775 (grub_usbms_cbi_cmd): New function.
5776 (grub_usbms_cbi_reset): Likewise.
5777 (grub_usbms_reset): Likewise.
5778 (grub_usbms_attach): Recognize cbi. Same subclass and protocol.
5779 (grub_usbms_transfer): Rename to ...
5780 (grub_usbms_transfer_bo): ... this.
5781 (grub_usbms_transfer_cbi): Likewise.
5782 (grub_usbms_transfer): Likewise.
5783
a2b81d53
AN
57842012-02-01 Aleš Nesrsta <starous@volny.cz>
57852012-02-01 Vladimir Serbinenko <phcoder@gmail.com>
5786
5787 EHCI support. All of the credit goes to Aleš Nesrsta. I've just added
5788 the support for the CS5536 modification thereos and few bugfixes.
5789
5790 * grub-core/Makefile.core.def (ehci): New module.
5791 * grub-core/bus/usb/ehci.c: New file.
5792 * grub-core/bus/usb/usbhub.c (grub_usb_hub_add_dev): New arguments
5793 port and hubaddr. All users updated.
5794 Save port and hubaddr into dev structure.
5795 * include/grub/cs5536.h (GRUB_CS5536_MSR_USB_BASE_SMI_ENABLE): New
5796 define.
5797 * include/grub/pci.h (grub_dma_phys2virt): New function.
5798 (grub_dma_virt2phys): Likewise.
5799 * include/grub/usb.h (grub_usb_device): New members port and hubaddr.
5800
b1d51f02
VS
58012012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5802
5803 * grub-core/fs/fat.c (grub_fat_mount) [!MODE_EXFAT]: Remove fstype
5804 check as some mkfs implementations omit it.
5805
fc694106
VS
58062012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5807
5808 * docs/grub.texi (Unicode): Mention identifier and space limitations.
5809
6c0920e3
VS
58102012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5811
5812 * grub-core/fs/jfs.c (grub_jfs_sblock): Make volname a char array.
5813 Add new member volname2.
5814 (grub_jfs_label): Use volname2 if available.
5815
d1a46f9a
VS
58162012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5817
5818 * grub-core/fs/nilfs2.c (grub_nilfs2_super_block): Expand volume_name
5819 over last_mounted as seen in image generated by mkfs.nilfs2.
5820 (grub_nilfs2_label): Use sizeof for the size of s_volume_name.
5821
dec8ed14
VS
58222012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5823
5824 * grub-core/fs/fat.c (grub_fat_dir_entry) [MODE_EXFAT]: Expand label
5825 to 15 UTF-16 characters as seen in FS generated by mkexfatfs.
5826 (grub_fat_label) [MODE_EXFAT]: Use macros for size.
5827
7397c69b
VS
58282012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5829
5830 * grub-core/fs/romfs.c (grub_romfs_mount): Fix a bug with labels going
5831 over the sector.
5832
b3fe42ad
VS
58332012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5834
5835 * grub-core/fs/zfs/zfs.c (get_filesystem_dnode): Support space in
5836 subvolume name (by removing a bogus and useless check).
5837
10476bb0
VS
58382012-01-31 Vladimir Serbinenko <phcoder@gmail.com>
5839
5840 * grub-core/fs/ext2.c (grub_ext2_label): Fix field size. Change to
5841 sizeof while on it.
5842
9c08ad87
VS
58432012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5844
5845 * grub-core/disk/scsi.c (grub_scsi_read_capacity): Renamed to ...
5846 (grub_scsi_read_capacity10): ... this.
5847 (grub_scsi_read_capacity16): New function.
5848 (grub_scsi_open): Use read_capacity16 if read_capacity10 returned
5849 0xffffffff.
5850 Fix off-by-one error.
5851 * include/grub/scsi.h (grub_scsi): Rename size to last_block and make it
5852 64-bit unsigned.
5853 * include/grub/scsicmd.h (grub_scsi_read_capacity): Rename to ...
5854 (grub_scsi_read_capacity10): ... this.
5855 (grub_scsi_read_capacity_data): Rename to ...
5856 (grub_scsi_read_capacity10_data): ... this. Rename size to last_block.
5857 (grub_scsi_read_capacity16): New struct.
5858 (grub_scsi_read_capacity16_data): Likewise.
5859 (grub_scsi_cmd_t): Rename grub_scsi_cmd_read_capacity to
5860 grub_scsi_cmd_read_capacity10.
5861 New command grub_scsi_cmd_read_capacity16.
5862
bc8d0f45
VS
58632012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5864
5865 SCSI >2TiB support.
5866
5867 * grub-core/disk/scsi.c (grub_scsi_read16): New function.
5868 (grub_scsi_write16): Likewise.
5869 (grub_scsi_read): Use read16 when necessary.
5870 (grub_scsi_write): Likewise.
5871 * include/grub/scsicmd.h (grub_scsi_read16): New struct.
5872 (grub_scsi_write16): Likewise.
5873 (grub_scsi_cmd_t): Add READ16 and WRITE16.
5874
cc774926
VS
58752012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5876
5877 SCSI write support (for usbms mainly).
5878
5879 * grub-core/disk/scsi.c (grub_scsi_write10): Uncomment. Make buffer
5880 a const pointer.
5881 (grub_scsi_write): Implement.
5882 * include/grub/scsi.h (grub_scsi_dev): Make write buffer a const pointer
5883
67639fd7
VS
58842012-01-30 Vladimir Serbinenko <phcoder@gmail.com>
5885
5886 * grub-core/io/lzopio.c (uncompress_block): Fix use of incorrect
5887 variable.
5888
9079d3ed
VS
58892012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5890
5891 * grub-core/lib/posix_wrap/string.h (memchr): New function.
5892
c6a6f204
VS
58932012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5894
5895 * po/POTFILES.in: Regenerate.
5896
ecbf8cd1
VS
58972012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5898
5899 * grub-core/lib/posix_wrap/assert.h (assert_real): Replace grub_fatal
5900 with grub_printf to avoid unnecessary fatal failure.
5901
0b3b3b38
VS
59022012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5903
5904 * grub-core/lib/posix_wrap/limits.h (SHRT_MAX): New define.
5905 (INT_MAX): Likewise.
5906 * grub-core/lib/posix_wrap/stdio.h (snprintf): New function.
5907 * grub-core/lib/posix_wrap/stdlib.h (abs): Likewise.
5908 * grub-core/lib/posix_wrap/string.h (memcmp): Likewise.
5909 (strcpy): Likewise.
5910 (strstr): Likewise.
5911 (strchr): Likewise.
5912 (strncpy): Likewise.
5913 (strcat): Likewise.
5914 (strncat): Likewise.
5915 (strcoll): Likewise.
5916 * include/grub/types.h (GRUB_SHRT_MAX): New define.
5917 (GRUB_INT_MAX): Likewise.
5918
db7337a3
VS
59192012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5920
5921 * grub-core/gnulib/regcomp.c (regerror): Don't use abort on
5922 unexpected error.
5923 (optimize_utf8): Likewise.
5924 * grub-core/lib/posix_wrap/stdlib.h (abort): Removed.
5925
f37c87e1
VS
59262012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5927
5928 * grub-core/boot/i386/pc/lnxboot.S: Use
5929 GRUB_DECOMPRESSOR_MAX_DECOMPRESSOR_SIZE.
5930 * grub-core/boot/i386/pc/startup_raw.S: Ensure about boot_dev
5931 location.
5932 * include/grub/offsets.h (GRUB_DECOMPRESSOR_I386_PC_BOOT_DEVICE): New
5933 definition.
5934 (GRUB_DECOMPRESSOR_I386_PC_MAX_DECOMPRESSOR_SIZE): Likewise.
5935
63fe43f3
VS
59362012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5937
5938 * util/getroot.c (grub_util_get_dm_node_linear_info): Fix memory leak.
5939 * grub-core/disk/cryptodisk.c (cryptodisk_cleanup): Disable for
5940 now to avoid double free.
5941 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_dev): Rename to
5942 hostdisk.
5943 * include/grub/disk.h (grub_disk_dev_id): New id HOSTDISK.
5944 * util/grub-probe.c (escape_of_path): Always return a new copy.
5945 (print_full_name): Escape path.
5946 (probe): Don't call grub_util_devname_to_ofpath on NULL.
5947 Fix hints on abstractions.
5948
ebe2c961
VS
59492012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5950
5951 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device):
5952 Don't add "root" line if no compatibility hont is available.
5953 Suggested by: Seth Goldberg.
5954
2b5336a2
VS
59552012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5956
5957 * include/grub/ata.h (grub_ata): Add a new element maxbuffer.
5958 * grub-core/disk/ata.c (grub_ata_readwrite): Limit to ata->maxbuffer.
5959 * grub-core/disk/pata.c (grub_pata_open): Set ata->maxbuffer.
5960 * grub-core/disk/ahci.c (grub_ahci_open): Likewise.
5961
74310bd8
VS
59622012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5963
5964 * include/grub/zfs/dnode.h (DN_MIN_INDBLKSHIFT): Removed.
5965
c30582ba
VS
59662012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5967
5968 * util/grub-pe2elf.c (ehdr): Make static.
5969 (shdr): Likewise.
5970 (num_sections): Likewise.
5971 (offset): Likewise.
5972
5f47782c
VS
59732012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5974
5975 Eliminate ofpath limits and possible overflows.
5976
5977 * util/ieee1275/ofpath.c (grub_util_info) [STANDALONE]: New function.
5978 (OF_PATH_MAX): Removed.
5979 (MAX_DISK_CAT): New const.
5980 (find_obppath): Use allocated rather than preallocated buffer.
5981 Return result. Argument of_path removed. All users updated.
5982 Add missing fdstat.
5983 (xrealpath): New function.
5984 (block_device_get_sysfs_path_and_link): Remove sysfs argument.
5985 Allocate rather than use preallocated buffer. All users updated.
5986 (__of_path_common): Use allocated rather than preallocatecd buffer.
5987 Return result. Argument of_path removed. All users updated.
5988 (vendor_is_ATA): Read only needed part form the file.
5989 (check_sas): Allocate depending on contents rather than fixed.
5990 (main) [STANDALONE]: Handle NULL result.
5991
f990cbf9
VS
59922012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5993
5994 * grub-core/normal/completion.c (iterate_dev): Close the disk.
5995
9c6e84b8
VS
59962012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
5997
5998 Cryptodisk write support.
5999
6000 * grub-core/disk/cryptodisk.c (grub_crypto_pcbc_encrypt): New function.
6001 (grub_cryptodisk_decrypt): Moved logic to ...
6002 (grub_cryptodisk_endecrypt): ...this. New argument "encrypt".
6003 (grub_cryptodisk_write): Implement.
6004 * grub-core/kern/emu/hostdisk.c (nwrite): Rename to ...
6005 (grub_util_fd_write): ... this. Make global.
6006 * include/grub/emu/hostdisk.h (grub_util_fd_write): New proto.
6007
87cf9744
VS
60082012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6009
6010 * include/grub/list.h (grub_list_remove): Don't crash if element is
6011 removed twice.
6012
ca8c0baf
VS
60132012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6014
6015 Rename ofconsole to console.
6016
6017 * grub-core/commands/terminal.c (handle_command): Handle ofconsole
6018 as sysnonym to console.
6019 * grub-core/term/ieee1275/ofconsole.c: Renamed to ..
6020 * grub-core/term/ieee1275/console.c: ... this. All users updated.
6021 Rename grub_ofconsole_ to grub_console_. All users updated
6022 (grub_console_term_output): Rename "ofconsole" to "console".
6023 * grub-core/term/terminfo.c (grub_cmd_terminfo): Handle "ofconsole"
6024 as "console".
6025
64c8b8f6
VS
60262012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6027
6028 * grub-core/loader/i386/pc/plan9.c (grub_cmd_plan9): Remove PXE
6029 handling.
6030 * include/grub/disk.h (grub_disk_dev_id): Remove obsolete
6031 GRUB_DISK_DEVICE_UUID_ID, GRUB_DISK_DEVICE_PXE_ID and
6032 GRUB_DISK_DEVICE_FILE_ID.
6033
f6c434d5
VS
60342012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6035
6036 * grub-core/kern/partition.c (grub_partition_get_name): Simplify logic
6037 and improve performance.
6038
5858b42d
VS
60392012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6040
6041 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Fix
6042 missing ieee1275/ prefix on whole disk.
6043
4ed3c26b
VS
60442012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6045
6046 * include/grub/powerpc/ieee1275/util/biosdisk.h: Remove.
6047 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
6048
df71143e
VS
60492012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6050
6051 * grub-core/fs/cpio.c (handle_symlink): Fix a bug.
6052
076e7c0f
VS
60532012-01-29 Vladimir Serbinenko <phcoder@gmail.com>
6054
6055 Merge common RAID and LVM logic to an abstract diskfilter.
6056 Add LDM support using the same framework.
6057
6058 * Makefile.util.def (libgrubkern): Add grub-core/disk/ldm.c,
6059 grub-core/disk/diskfilter.c and grub-core/partmap/gpt.c.
6060 (libgrubmods): Remove grub-core/disk/raid.c and
6061 grub-core/partmap/gpt.c.
6062 * grub-core/Makefile.core.def (ldm): New module.
6063 (raid): Renamed to diskfilter. All users updated.
6064 * grub-core/disk/raid.c: Moved to ...
6065 * grub-core/disk/diskfilter.c: ... here.
6066 * grub-core/disk/diskfilter.c: Rename grub_raid_ to grub_diskfilter_.
6067 (lv_num): New var.
6068 (find_array): Renamed to ...
6069 (find_lv): ... this. Support multi-LV. Skip nameless LVs
6070 (grub_is_array_readable): Renamed to ...
6071 (grub_is_lv_readable): ... this. Support multinode hierarchy.
6072 (insert_array): New argument id.
6073 (is_node_readable): New function.
6074 (scan_device): Rename to ...
6075 (scan_disk): .. this. Restrict to one disk.
6076 (scan_devices): New function.
6077 (grub_diskfilter_iterate): Support multi-LV.
6078 Skip invisible and nameless LVs.
6079 (grub_diskfilter_memberlist): Support multi-LV.
6080 (grub_diskfilter_read_node): New function.
6081 (grub_raid_read): Most of logic moved to ...
6082 (read_segment): ... here
6083 (read_lv): New function.
6084 (grub_diskfilter_get_vg_by_uuid): New function.
6085 (grub_diskfilter_make_raid): Likewise.
6086 * grub-core/disk/ldm.c: New file.
6087 * grub-core/disk/lvm.c (vg_list): Removed.
6088 (lv_count): Likewise.
6089 (scan_depth): Likewise.
6090 (is_lv_readable): Likewise.
6091 (grub_lvm_getvalue): Advance pointer past the number.
6092 (find_lv): Removed.
6093 (do_lvm_scan): Refactored into ...
6094 (grub_lvm_detect): ... this. Support raid.
6095 (grub_lvm_iterate): Removed.
6096 (grub_lvm_memberlist): Likewise.
6097 (grub_lvm_open): Likewise.
6098 (grub_lvm_close): Likewise.
6099 (read_lv): Likewise.
6100 (read_node): Likewise.
6101 (is_node_readable): Likewise.
6102 (is_lv_readable): Likewise.
6103 (grub_lvm_read): Likewise.
6104 (grub_lvm_write): Likewise.
6105 (grub_lvm_dev): Use diskfilter
6106 (GRUB_MOD_INIT): Likewise.
6107 (GRUB_MOD_FINI): Likewise.
6108 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Use
6109 new interface.
6110 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Likewise.
6111 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
6112 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Use
6113 grub_diskfilter_read_node.
6114 Fix a bug with xor.
6115 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Use
6116 grub_diskfilter_read_node.
6117 Support GRUB_RAID_LAYOUT_MUL_FROM_POS.
6118 * grub-core/kern/disk.c (grub_disk_dev_list): Make global.
6119 (grub_disk_dev_iterate): Move from here...
6120 * include/grub/disk.h (grub_disk_dev_iterate): ... to here. Inlined.
6121 * grub-core/kern/emu/hostdisk.c (grub_hostdisk_find_partition_start):
6122 Make global.
6123 (grub_hostdisk_find_partition_start): Likewise.
6124 (grub_hostdisk_os_dev_to_grub_drive): New function.
6125 (grub_util_biosdisk_get_osdev): Check that disk is biosdisk.
6126 * grub-core/kern/emu/hostdisk.c (make_device_name): Move to ...
6127 * util/getroot.c (make_device_name): ... here.
6128 * grub-core/kern/emu/hostdisk.c (grub_util_get_dm_node_linear_info):
6129 Move to ...
6130 * util/getroot.c (grub_util_get_dm_node_linear_info): ...here.
6131 * grub-core/kern/emu/hostdisk.c
6132 (convert_system_partition_to_system_disk): Move to ...
6133 * util/getroot.c (convert_system_partition_to_system_disk): ...here.
6134 * grub-core/kern/emu/hostdisk.c (device_is_wholedisk): Move to ...
6135 * util/getroot.c (device_is_wholedisk): ... here.
6136 * grub-core/kern/emu/hostdisk.c (find_system_device): Move to ...
6137 * util/getroot.c (find_system_device): ... here.
6138 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_present):
6139 Move to ...
6140 * util/getroot.c (grub_util_biosdisk_is_present): ...here.
6141 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
6142 Move to ...
6143 * util/getroot.c (grub_util_biosdisk_get_grub_dev): ... here.
6144 Handle LDM.
6145 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
6146 Move to ...
6147 * util/getroot.c (grub_util_biosdisk_is_floppy): ... here.
6148 * grub-core/partmap/gpt.c (grub_gpt_partition_map_iterate): Made global.
6149 * include/grub/disk.h (grub_disk_dev_id): Replaced RAID and LVM with
6150 DISKFILTER.
6151 * include/grub/raid.h: Renamed to ...
6152 * include/grub/diskfilter.h: ... this.
6153 * include/grub/diskfilter.h: Rename grub_raid_* to grub_diskfilter_*
6154 (GRUB_RAID_LAYOUT_*): Make into array.
6155 (GRUB_RAID_LAYOUT_MUL_FROM_POS): New value.
6156 (grub_diskfilter_vg): New struct.
6157 (grub_diskfilter_pv_id): Likewise.
6158 (grub_raid_member): Removed.
6159 (grub_raid_array): Likewise.
6160 (grub_diskfilter_pv): New struct.
6161 (grub_diskfilter_lv): Likewise.
6162 (grub_diskfilter_segment): Likewise.
6163 (grub_diskfilter_node): Likewise.
6164 (grub_diskfilter_get_vg_by_uuid): New proto.
6165 (grub_raid_register): Inline.
6166 (grub_diskfilter_unregister): Likewise.
6167 (grub_diskfilter_make_raid): New proto.
6168 (grub_diskfilter_vg_register): Likewise.
6169 (grub_diskfilter_read_node): Likewise.
6170 (grub_diskfilter_get_pv_from_disk) [GRUB_UTIL]: Likewise.
6171 * include/grub/emu/hostdisk.h (grub_util_get_ldm): New proto.
6172 (grub_util_is_ldm): Likewise.
6173 (grub_util_ldm_embed) [GRUB_UTIL]: Likewise.
6174 (grub_hostdisk_find_partition_start): Likewise.
6175 (grub_hostdisk_os_dev_to_grub_drive): Likewise.
6176 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_LDM):
6177 New definition.
6178 (grub_gpt_partition_map_iterate): New proto.
6179 * include/grub/lvm.h (grub_lvm_vg): Removed.
6180 (grub_lvm_pv): Likewise.
6181 (grub_lvm_lv): Likewise.
6182 (grub_lvm_segment): Likewise.
6183 (grub_lvm_node): Likewise.
6184 * util/getroot.c [...]
6185 * util/grub-probe.c (probe_raid_level): Handle diskfilter.
6186 (probe_abstraction): Likewise.
6187 * util/grub-setup.c (setup): Remove must_embed. Support LDM.
6188 (main): Remove dead logic.
6189
8a7f9b9c
VS
61902012-01-28 Vladimir Serbinenko <phcoder@gmail.com>
6191
6192 Simplify root device discover and don't fail when trying to open
6193 incorrect devices.
6194
6195 * grub-core/disk/efi/efidisk.c (get_diskname_from_path_real): New
6196 function.
6197 (get_diskname_from_path): Likewise.
6198 (grub_efidisk_get_device_name): Use get_diskname_from_path instead
6199 of iterating.
6200
30545b85
VS
62012012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6202
6203 * grub-core/Makefile.core.def (setpci): Enable on all PCI platforms.
6204
28ea58cf
VS
62052012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6206
6207 * grub-core/fs/zfs/zfs.c (nvlist_find_value): Check that we don't go
6208 pastthe end.
6209
692dabca
VS
62102012-01-27 Vladimir Serbinenko <phcoder@gmail.com>
6211
6212 * util/grub-install.in: Add missing \.
6213 Reported by: gentoofan
6214
f6e4ea70
VS
62152012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
6216
6217 * grub-core/fs/squash4.c (xz_decompress): Fix return value.
6218 (direct_read): Use correct compressed size.
6219 (grub_squash_read_data): Likewise.
6220
62212012-01-26 Vladimir Serbinenko <phcoder@gmail.com>
ca1dacea
VS
6222
6223 * docs/grub.texi (Platform limitations): New section.
6224 (Platform-specific operations): Likewise.
6225 * docs/grub-dev.texi (Porting): Likewise.
6226
76261110
VS
62272012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6228
6229 IEEE1275 disk write support.
6230
6231 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_write): Make buffer
6232 const void *.
6233 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_write): Likewise.
6234 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_read): Move open
6235 and seek loginc to ...
6236 (grub_ofdisk_prepare): ... here.
6237 (grub_ofdisk_write): Implement.
6238
fc36d603
VS
62392012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6240
6241 ARC disk write support.
6242
6243 * grub-core/disk/arc/arcdisk.c (handle_writable): New var.
6244 (reopen): New argument writable. All users updated.
6245 Handle required access mode.
6246 (grub_arcdisk_write): Implement.
6247 * include/grub/arc/arc.h (grub_arc_file_access): New enum.
6248 (grub_arc_firmware_vector): Make buffer to write a const buffer.
6249
e06c2e7a
VS
62502012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6251
6252 * grub-core/fs/btrfs.c (grub_btrfs_device): New field size.
6253 (read_sblock): Don't attempt to read superblocks outside the disk size.
6254
ff447958
VS
62552012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6256
6257 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Use device size from
6258 first superblock to find the second one when possible.
6259
9e88df39
VS
62602012-01-25 Vladimir Serbinenko <phcoder@gmail.com>
6261
6262 * util/grub-install.in: Fix an ARC bug.
6263 Print a warning if no platform-specific setup is available.
6264
bb26e4ff
VS
62652012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6266
6267 Use static allocation rather than scratch pointer in reed_solomon.
6268 It decreases its size significantly and avoids a variable in .text.
6269
6270 * grub-core/lib/reed_solomon.c (scratch): Removed.
6271 (chosenstat): New const or static array.
6272 (sigma): Likewise.
6273 (errpot): Likewise.
6274 (errpos): Likewise.
6275 (sy): Likewise.
6276 (mstat): Likewise.
6277 (errvals): Likewise.
6278 (eqstat): Likewise.
6279 (pol_evaluate): Replace x with log_x argument. All users updated.
6280 (syndroms): Removed.
6281 (gauss_solve): Use statically allocated arrays.
6282 (rs_recover): Likewise.
6283 Calculate syndroms directly.
6284 (decode_block): Use statically allocated arrays.
6285 (grub_reed_solomon_add_redundancy) [TEST]: Fix -DTEST compilation.
6286 (main) [TEST]: Allow -DTEST -DSTANDALONE.
6287
2e13ede5
VS
62882012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6289
6290 Eliminate fixed limit on reed solomon decoder length.
6291
6292 * grub-core/boot/i386/pc/lnxboot.S: Scan for multiboot signature
6293 rather than hardcoding the address.
6294 * grub-core/boot/i386/pc/startup_raw.S: Add new data field
6295 no_reed_solomon_length.
6296 Move gate_a20 to no-reed-solomon part.
6297 Don't force a particular size of no reed-solomon part.
6298 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
6299 Removed.
6300 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_LENGTH): New define.
6301 * util/grub-setup.c (setup): Read no_rs_length from the image itself.
6302
f8a9ab12
VS
63032012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6304
6305 * grub-core/commands/wildcard.c (match_files): Handle filenames
6306 without explicit device.
6307 (wildcard_expand): Don't add explicit device if not already present.
6308 * tests/grub_script_echo1.in: Add a new expansion test.
6309
87edb894
VS
63102012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6311
6312 Replace single-linked with double-linked lists. It results in more
6313 compact and more efficient code.
6314
6315 * grub-core/kern/list.c (grub_list_push): Moved from here ...
6316 * include/grub/list.h (grub_list_push): ... to here. Set prev.
6317 (grub_list_remove): Moved from here ...
6318 * include/grub/list.h (grub_list_remove): ... here. Use and set prev.
6319 (grub_prio_list_insert): Set prev.
6320 * include/grub/list.h (grub_list): Add prev. All users updated.
6321
48b391e9
VS
63222012-01-24 Vladimir Serbinenko <phcoder@gmail.com>
6323
6324 Handle newer autotools. Add some missing quotes while on it.
6325
6326 * Makefile.am (pkglib_DATA): Remove update-grub_lib.
6327 (pkglib_DATA): Move grub-mkconfig_lib from here ...
6328 (pkgdata_DATA): ... here.
6329 * Makefile.util.def (update-grub_lib): Removed.
6330 * conf/Makefile.common (pkglib_DATA): Removed.
6331 (pkglib_SCRIPTS): Likewise.
6332 (pkgdata_DATA): New variable.
6333 * tests/util/grub-shell-tester.in: Replace pkglib with pkgdata where
6334 needed.
6335 Add missing quotes.
6336 Remove unused variable while on it.
6337 * tests/util/grub-shell.in: Likewise.
6338 * util/grub-install.in: Likewise.
6339 * util/grub-mkconfig.in: Likewise.
6340 * util/grub-mknetdir.in: Likewise.
6341 * util/grub-mkrescue.in: Likewise.
6342 * util/grub-mkstandalone.in: Likewise.
6343 * util/grub.d/00_header.in: Likewise.
6344 * util/grub.d/10_hurd.in: Likewise.
6345 * util/grub.d/10_illumos.in: Likewise.
6346 * util/grub.d/10_kfreebsd.in: Likewise.
6347 * util/grub.d/10_linux.in: Likewise.
6348 * util/grub.d/10_netbsd.in: Likewise.
6349 * util/grub.d/10_windows.in: Likewise.
6350 * util/grub.d/20_linux_xen.in: Likewise.
6351 * util/grub.d/30_os-prober.in: Likewise.
6352 * util/update-grub_lib.in: Removed.
6353
63542012-01-24 Seth Goldberg <seth.goldberg@oracle.com>
e555f379
SG
6355
6356 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Relax checks as
6357 a workaround for intel problem.
6358
66832792
PRP
63592012-01-23 Paulo de Rezende Pinatti <ppinatti@linux.vnet.ibm.com>
63602012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
63612012-01-23 pfsmorigo
6362
6363 * util/grub-install.in: Support dd'in into PreP partition.
6364 * util/grub-probe.c (probe): Support discovering partition type.
6365 (main): Support -t msdos_parttype.
6366
7816a17e
VS
63672012-01-23 Vladimir Serbinenko <phcoder@gmail.com>
6368
6369 * grub-core/normal/crypto.c (grub_crypto_autoload): Prevent
6370 infinite recursion using counter.
6371 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_init): Defer s->crc32
6372 init to skip it if the magic check fails.
6373 (dec_stream_header): Init s->crc32.
6374
8f9d3a8c
ZB
63752012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
63762012-01-22 Zachary Bedell <pendorbound@gmail.com>
63772012-01-22 Richard Laager <rlaager@wiktel.com>
6378
6379 * grub-core/fs/zfs/zfs.c (uberblock_verify): New parameter size.
6380 All users updated.
6381 (find_bestub): Determine correct size.
6382 (fill_vdev_info_real): Fill ashift. New argument. All users updated.
6383 (scan_disk): Align the size down.
6384 Call check pool before find_bestub to have ashift.
6385
b055dd32
VS
63862012-01-22 Vladimir Serbinenko <phcoder@gmail.com>
6387
6388 * grub-core/lib/relocator.c (malloc_in_range): Remove couple of
6389 dprintf in no-malloc zone.
6390
d779e9bd
ML
63912012-01-22 Mario Limonciello <mario_limonciello@dell.com>
6392
6393 * configure.ac: Add back in test for limits.h.
6394
b508af69
VS
63952012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6396
6397 Support 4K-sector NTFS.
6398
6399 * include/grub/ntfs.h (GRUB_NTFS_MAX_MFT): Increase to 8.
6400 (grub_ntfs_data): Remove blocksize.
6401 * grub-core/fs/ntfs.c (fixup): Fix size comparison.
6402 Remove data argument. All users updated.
6403
dad9c8b5
VS
64042012-01-20 Vladimir Serbinenko <phcoder@gmail.com>
6405
6406 * grub-core/kern/mips/arc/init.c (grub_total_modules_size): Mark as
6407 being in .text to avoid dprel references.
6408 * include/grub/mips/loongson/kernel.h (grub_arch_machine): Likewise.
6409 * include/grub/mips/loongson/memory.h (grub_arch_memsize): Likewise.
6410 (grub_arch_highmemsize): Likewise.
6411 * include/grub/mips/loongson/time.h (grub_arch_busclock): Likewise.
6412 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): Likewise.
6413 * include/grub/mips/time.h (grub_arch_cpuclock): Likewise.
6414
d43a777e
VS
64152012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6416
6417 Support powerpc with GCC that defines __PPC__ but not __powerpc__.
6418
6419 * config.h.in (__powerpc__) [__PPC__ && !__powerpc__]: New definition.
6420 * grub-core/lib/setjmp.S: Treat __PPC__ as equivalent to __powerpc__.
6421
34e4208f
VS
64222012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6423
6424 * include/grub/datetime.h (grub_get_datetime_cmos): Don't define in
6425 GRUB_UTIL.
6426 (grub_set_datetime_cmos): Likewise.
6427
3ec0fc1c
VS
64282012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6429
6430 Make XZ compression parameters dependent on target and not host CPU.
6431
6432 * configure.ac: Define GRUB_TARGET_CPU_XYZ series.
6433 * grub-core/lib/xzembed/xz_config.h: Use GRUB_TARGET_CPU_XYZ.
6434
22489834
VS
64352012-01-18 Vladimir Serbinenko <phcoder@gmail.com>
6436
6437 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): Remove
6438 set but not used variable.
6439
8502fbca
VS
64402012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6441
6442 * grub-core/fs/reiserfs.c (grub_reiserfs_uuid): Reject 0-uuid as
6443 created when no uuid support is compiled into mkfs.reiser.
6444
76df2068
VS
64452012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6446
6447 * grub-core/fs/hfs.c (macroman_to_utf8): Convert / to :.
6448 (utf8_to_macroman): Do the opposite.
6449 * grub-core/fs/hfsplus.c (grub_hfsplus_iterate_dir): Convert / to :.
6450
64e3f8f6
VS
64512012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6452
6453 * configure.ac: Refise build qemu_mips w/o unifont.
6454
9c271078
VS
64552012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6456
6457 Eliminate grub_min/grub_max prone to overflow usage.
6458
6459 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Eliminate grub_min.
6460 (poll_nonroot_hub): Likewise.
6461 * grub-core/fs/affs.c (grub_affs_iterate_dir): Likewise.
6462 (grub_affs_label): Likewise.
6463 * grub-core/fs/btrfs.c (grub_btrfs_lzo_decompress): Likewise.
6464 * grub-core/fs/hfs.c (grub_hfs_dir): Likewise.
6465 (grub_hfs_label): Likewise.
6466 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
6467 * grub-core/fs/zfs/zfs.c (MIN): Remove.
6468 (zap_leaf_array_equal): Use grub_size. Remove MIN.
6469 (zap_leaf_array_get): Likewise.
6470 (dnode_get_path): Likewise.
6471 * grub-core/io/lzopio.c (grub_lzopio_read): Eliminate grub_min.
6472 * grub-core/io/xzio.c (grub_xzio_read): Likewise.
6473 * grub-core/script/execute.c (grub_script_break): Likewise.
6474 * grub-core/script/lexer.c (grub_script_lexer_record): Eliminate
6475 grub_max.
6476 * grub-core/script/yylex.l (grub_lexer_yyrealloc): Likewise.
6477 * include/grub/misc.h (grub_min): Removed.
6478 (grub_max): Likewise.
6479
80662dbc
VS
64802012-01-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
6481
6482 * grub-core/fs/ext2.c (grub_ext2_iterate_dir): Ignore entries with
6483 direct.inode = 0.
6484
e6da1467
VS
64852012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6486
6487 * grub-core/lib/posix_wrap/wctype.h (CHARCLASS_NAME_MAX): New define.
6488
b1ac4cb1
VS
64892012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6490
6491 * include/grub/datetime.h (grub_datetime2unixtime): Fix offset.
6492
b4bf7c3b
VS
64932012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6494
6495 * grub-core/lib/posix_wrap/stdlib.h (MB_CUR_MAX): Moved from here ...
6496 * grub-core/lib/posix_wrap/wchar.h (MB_CUR_MAX): ... here. Value fixed.
6497
8ee1101a
VS
64982012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6499
6500 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Use grub_strcasecmp
6501 rather than a hack for grub_strncasemap.
6502
65032012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6504
6505 Support multiple initrds
6506 Note: part of this was accidently committed in r3739.
6507
6508 * grub-core/loader/i386/linux.c (grub_cmd_initrd): Support multiple
6509 initrd.
6510 * grub-core/loader/i386/pc/linux.c (grub_cmd_initrd): Likewise.
6511 * grub-core/loader/ia64/efi/linux.c (grub_cmd_initrd): Likewise.
6512 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
6513 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6514 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6515
4d1e2bc9
VS
65162012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6517
6518 * grub-core/disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Skip
6519 disks with unknown size.
6520 * grub-core/disk/raid.c (scan_devices): Allow disks with unknown sizes.
6521
75b49ebe
VS
65222012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6523
6524 Remove defines pertaining to arbitrary limits not affecting GRUB
6525 anymore.
6526
6527 * grub-core/fs/ext2.c (EXT2_PATH_MAX): Removed.
6528 (EXT2_MAX_SYMLINKCNT): Likewise.
6529 * grub-core/fs/nilfs2.c (NILFS_BTREE_LEVEL_MAX): Likewise.
6530 * grub-core/net/tftp.c (TFTP_MAX_PACKET): Likewise.
6531 * include/grub/i386/pc/pxe.h (GRUB_PXE_MIN_BLKSIZE): Likewise.
6532 (GRUB_PXE_MAX_BLKSIZE): Likewise.
6533 * include/grub/normal.h (GRUB_MAX_CMDLINE): Likewise.
6534 * include/grub/zfs/dnode.h (DN_MAX_INDBLKSHIFT): Likewise.
6535 (DN_MAX_OBJECT_SHIFT): Likewise.
6536 (DN_MAX_OFFSET_SHIFT): Likewise.
6537 (DN_MAX_OBJECT): Likewise.
6538 (DNODES_PER_LEVEL_SHIFT): Likewise.
6539 * include/grub/zfs/spa.h (SPA_MAXBLOCKSHIFT): Likewise.
6540 (SPA_MAXBLOCKSIZE): Likewise.
6541 (SPA_BLOCKSIZES): Likewise.
6542 * include/grub/zfs/zap_impl.h (MZAP_MAX_BLKSHIFT): Likewise.
6543 (MZAP_MAX_BLKSZ): Likewise.
6544
74a1dce7
VS
65452012-01-14 Vladimir Serbinenko <phcoder@gmail.com>
6546
6547 * grub-core/fs/zfs/zfs.c (grub_zfs_read): Remove useless alloc and
6548 handle NULL appropriately.
6549 Remove MIN.
6550
30c7d3ce
VS
65512012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6552
6553 Fix efiemu.
6554
6555 * grub-core/efiemu/runtime/efiemu.c: explicitly include right
6556 cpu/types.h.
6557 (efiemu_set_virtual_address_map): Remove UINT_TO_PTR.
6558 * configure.ac: Fix efiemu check.
6559
3c76ea0c
VS
65602012-01-13 Vladimir Serbinenko <phcoder@gmail.com>
6561
6562 * util/grub.d/30_os-prober.in: Fix occurence of grub-probe instead of
6563 grub_probe.
6564 Reported by: adamwill
6565
7e532280
SG
65662012-01-12 Seth Goldberg <seth.goldberg@oracle.com>
6567
6568 * grub-core/lib/arg.c (grub_arg_parse): Fix NULL pointer dereference.
6569
30492374
VS
65702012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6571
6572 Fix handling of wide characters in gfxterm.
6573
6574 * grub-core/term/gfxterm.c (grub_colored_char): Remove width and index.
6575 (clear_char): Likewise.
6576 (paint_char): Skip code == NULL chars.
6577 (grub_gfxterm_putchar): Set code = NULL on "shadowed" positions.
6578
e70cb72f
VS
65792012-01-12 Vladimir Serbinenko <phcoder@gmail.com>
6580
6581 * grub-core/normal/charset.c: Move comment to right place.
6582
5c827cf9
VS
65832012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6584
6585 * grub-core/fs/affs.c (grub_affs_bblock): Revert flags.
6586 (GRUB_AFFS_FLAG_FFS): Put back where it was.
6587 (grub_affs_mount): Revert the correct version checking.
6588
53603892
VS
65892012-01-11 Vladimir Serbinenko <phcoder@gmail.com>
6590
6591 * docs/grub.texi (Unicode): Mention several other unsupported features.
6592
ff094b9b
VS
65932011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
6594
6595 * grub-core/fs/squash4.c (squash_mount): Mark endian conversion in
6596 case statements as compile-time one.
6597 (direct_read): Prevent spurious warnings.
6598 (grub_squash_read_data): Likewise.
6599
c029da8a
VS
66002011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
6601
6602 Various squash4 fixes and LZO and XZ support.
6603
6604 * Makefile.util.def (libgrubmods.a): Add xzembed directory to cppflags.
6605 Add xzembed source files.
6606 * grub-core/Makefile.core.def (squash4): Add xzembed and minilzo flags.
6607 * grub-core/fs/squash4.c (grub_squash_super): New field compression.
6608 (grub_squash_inode): New subtype long_dir.
6609 (SQUASH_TYPE_LONG_DIR): New inode type.
6610 (COMPRESSION): New enum.
6611 (XZBUFSIZ): New const.
6612 (grub_squash_data): New fields blksz, decompress, xzdec, xzbuf.
6613 (read_chunk): Use data->decompress.
6614 (zlib_decompress): New function.
6615 (lzo_decompress): Likewise.
6616 (xz_decompress): Likewise.
6617 (squash_mount): Set new data fields.
6618 (grub_squash_iterate_dir): Handle long dir.
6619 (squash_unmount): Free xzdec and xzbuf.
6620 (grub_squash_open): Check ino type.
6621 (direct_read): Stylistic fixes. Use data->decompress.
6622 (grub_squash_read_data): Likewise.
6623 * grub-core/io/gzio.c (grub_gzio): Remove disk_input.
6624 (get_byte): Likewise.
6625 (grub_zlib_disk_read): Removed.
6626 * grub-core/lib/posix_wrap/sys/types.h (ssize_t): New type.
6627 (GRUB_POSIX_BOOL_DEFINED): New define.
6628 * grub-core/lib/posix_wrap/unistd.h: Include sys/types.h.
6629 * grub-core/lib/xzembed/xz.h: Addmissing includes.
6630 [!GRUB_POSIX_BOOL_DEFINED]: Define bool.
6631 * include/grub/deflate.h (grub_zlib_disk_read): Removed.
6632
7a45a539
VS
66332011-12-26 Vladimir Serbinenko <phcoder@gmail.com>
6634
6635 Don't override more informative errors.
6636
6637 * grub-core/commands/acpi.c (grub_cmd_acpi): Don't override errors.
6638 * grub-core/font/font.c (open_section): Likewise.
6639 * grub-core/loader/i386/bsd.c (grub_bsd_load_aout): New argument
6640 filename. Don't override errors.
6641 (grub_cmd_openbsd_ramdisk): Don't override errors.
6642 * grub-core/loader/i386/linux.c (grub_cmd_linux): Likewise.
6643 (grub_cmd_initrd): Likewise.
6644 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
6645 (grub_cmd_initrd): Likewise.
6646 * grub-core/loader/ia64/efi/linux.c (grub_load_elf64): Likewise.
6647 (grub_cmd_linux): Likewise.
6648 (grub_cmd_initrd): Likewise.
6649 (grub_cmd_payload): Likewise.
6650 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Likewise.
6651 * grub-core/loader/multiboot.c (grub_cmd_multiboot): Likewise.
6652 (grub_cmd_module): Likewise.
6653 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6654 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_initrd): Likewise.
6655 * grub-core/loader/xnu.c (grub_xnu_load_driver): Likewise.
6656 (grub_cmd_xnu_mkext): Likewise.
6657 (grub_cmd_xnu_ramdisk): Likewise.
6658 (grub_xnu_check_os_bundle_required): Likewise.
6659 (grub_xnu_load_kext_from_dir): Likewise.
6660 (grub_cmd_xnu_kextdir): Likewise.
6661 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Likewise.
6662
b2d004db
VS
66632011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6664
6665 * grub-core/fs/minix.c (grub_minix_mount) [MODE_MINIX3]: Treat 0xffff
6666 as 1024 in block size field. Found on one of my test images.
6667 Small optimisation while on it.
6668
ec000eac
VS
66692011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6670
6671 * docs/grub.texi (Filesystems): Mention SFS as Latin1 filesystem.
6672 * grub-core/fs/sfs.c (grub_sfs_mount): Fix a memory leak while on it.
6673 (grub_sfs_iterate_dir): Convert Latin1 to UTF8. Stylistic and
6674 performance fixes while on it.
6675 (grub_sfs_close): Fix memory leak while on it.
6676 (grub_sfs_label): Convert Latin1 to UTF-8.
6677
f50e1165
VS
66782011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6679
6680 * grub-core/fs/hfs.c (grub_hfs_dir): Cap keylen to actually available
6681 space to avoid overflows.
6682 (grub_hfs_label): Convert from macroman to UTF-8.
6683
2ae254de
VS
66842011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6685
6686 * grub-core/fs/affs.c (grub_affs_label): Interpret label as latin1.
6687
0108f491
VS
66882011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6689
6690 * grub-core/normal/menu.c (menu_init): Don't stop menu init at gfxterm.
6691
f45f5f89
VS
66922011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6693
6694 * unicode: Import Unicode 6.0 data.
6695
4d8c4765
VS
66962011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6697
63fa8ef9
VS
6698 * grub-core/term/gfxterm.c (grub_gfxterm_putchar): Don't set values
6699 outside of range.
6700
67012011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6702
6703 Avoid cutting in the middle of UTF-8 character.
4d8c4765
VS
6704
6705 * include/grub/charset.h (grub_getend): New function.
6706 * grub-core/script/function.c (grub_script_function_find): Use
6707 grub_getend.
6708 * grub-core/normal/completion.c (add_completion): Likewise.
6709
f3cb4a4e
VS
67102011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6711
6712 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Small stylistic fix.
6713 (grub_bidi_line_logical_to_visual): Skip tags. They are deprecated.
6714 * include/grub/unicode.h (GRUB_UNICODE_TAG_START): New enum value.
6715 (GRUB_UNICODE_TAG_END): Likewise.
6716 (GRUB_UNICODE_LAST_VALID): Likewise.
6717
5da8dbc5
VS
67182011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6719
6720 * include/grub/unicode.h (grub_unicode_compact_range): Replace end with
6721 len and make it smaller. All users updated.
6722 * util/import_unicode.py: Put length and not end character.
6723 Check length.
6724
8569f13d
VS
67252011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6726
6727 Make better Unicode-compliant and unify some UTF-8 code pathes.
6728
6729 * grub-core/normal/charset.c (grub_utf8_to_utf16): Don't eat possibly
6730 valid character.
6731 (grub_is_valid_utf8): Use grub_utf8_process.
6732 Check resulting code range.
6733 (grub_utf8_to_ucs4): Use grub_utf8_process.
6734 * include/grub/charset.h (grub_utf16_to_utf8): Don't eat up a possibly
6735 valid character.
6736
cc4fddf5
VS
67372011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6738
6739 * grub-core/io/bufio.c (grub_bufio_read): Fix handling of corner cases.
6740
bbc47747
VS
67412011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6742
6743 * docs/grub.texi (Filesystems): Mention AFS.
6744
f63d6bf4
VS
67452011-12-25 Vladimir Serbinenko <phcoder@gmail.com>
6746
6747 * docs/grub.texi (Filesystems): Clarify restrictions.
6748 (Regexp): Mention non-Unicode regexp behaviour.
6749 (Other): Mention non-Unicode matching behaviour.
6750
74bbf0db
VS
67512011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6752
f63d6bf4 6753 Make HFS implementation use MacRoman.
74bbf0db
VS
6754
6755 * grub-core/fs/hfs.c (MAX_UTF8_PER_MAC_ROMAN): New define.
6756 (macroman): New const array.
6757 (macroman_to_utf8): New function.
6758 (utf8_to_macroman): Likewise.
6759 (grub_hfs_find_dir): Use utf8_to_macroman.
6760 (grub_hfs_dir): Use macroman_to_utf8.
6761 Set case_insensitive.
6762
4ea0316e
VS
67632011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6764
6765 * docs/grub.texi (Filesystems): Add IEEE1275 full-path example.
6766
d3c13cbd
VS
67672011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6768
6769 Integrate hints into autogeneration scripts.
6770
6771 * docs/grub.texi (Filesystems): Add a hostdisk example.
6772 * Makefile.util.def (grub-mkdevicemap): Remove ofpath.
6773 (grub-probe): Add ofpath.
6774 * gentpl.py: Remove group nosparc64.
6775 * grub-core/commands/search.c (cache_entry): New struct.
6776 (cache): New var.
6777 (FUNC_NAME): Use and save cache. Fix handling of trailing comma.
6778 * grub-core/commands/search_wrap.c (options): Add platform-specific
6779 hint options.
6780 (grub_cmd_search): Handle platform-specific hints.
6781 (GRUB_MOD_INIT): Declare grub_cmd_search as accept_dash.
6782 * grub-core/kern/emu/hostdisk.c (map): New field device_map.
6783 (grub_util_biosdisk_data): Likewise.
6784 (grub_util_biosdisk_open): Set device_map.
6785 (read_device_map): Handle "" as indication of no map.
6786 Set device_map.
6787 (find_system_device): Add hostdisk/ prefix for autogenerated entries.
6788 (grub_util_biosdisk_get_compatibility_hint): New function.
6789 * grub-core/normal/main.c (features): Add feature_platform_search_hint.
6790 * include/grub/emu/hostdisk.h
6791 (grub_util_biosdisk_get_compatibility_hint): New proto.
6792 * util/grub-install.in: Don't call grub-mkdevicemap.
6793 Add platform-specific hint to load.cfg.
6794 * util/grub-mkconfig.in: Don't call grub-mkdevicemap.
6795 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
6796 hints. Set root preliminary to compatibility hint, not to OS name.
6797 * util/grub-probe.c (PRINT_*): Add hints.
6798 (print): Make static.
6799 (escape_of_path): New function.
6800 (guess_bios_drive): Likewise.
6801 (guess_efi_drive): Likewise.
6802 (guess_baremetal_drive): Likewise.
6803 (print_full_name): Likewise.
6804 (probe): Handle hints.
6805 (main): Likewise.
6806 * util/ieee1275/devicemap.c: Removed.
6807 * util/ieee1275/ofpath.c (find_obppath): Allow to fail. All users
6808 updated.
6809 (grub_util_devname_to_ofpath): Return NULL on failure.
6810
6811 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Fix
6812 resource leak.
6813 * util/getroot.c (grub_util_pull_device): Fix memory leak.
6814
6815 * po/POTFILES.in: Regenerated.
6816
6817 Allow purely long options
6818
6819 * grub-core/lib/arg.c (SHORT_ARG_HELP): Removed.
6820 (SHORT_ARG_USAGE): Likewise.
6821 (grub_arg_show_help): Compare opt with help_options.
6822 (parse_option): Receive opt as argument. If makes big simplificatons.
6823 All users updated
6824
00ce2df3
VS
68252011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6826
6827 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN):
6828 Restructure to avoid warning.
6829
e77e325f
VS
68302011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6831
6832 * util/grub-install.in: Account for possible escaped comma in device
6833 name.
6834
165099ea
VS
68352011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6836
6837 * util/ieee1275/ofpath.c (of_path_of_ide): Fix address for secondary
6838 channel.
6839
ce4a999d
VS
68402011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6841
6842 * grub-core/kern/ieee1275/openfw.c (grub_devalias_iterate): Fix
6843 allocation and zero-setting.
6844 (grub_ieee1275_get_devname): Check that alias is complete.
6845
379586ad
VS
68462011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6847
6848 * grub-core/kern/disk.c (grub_disk_read): Fix hook calling for
6849 unaligned segments.
6850
9197b0ad
VS
68512011-12-24 Vladimir Serbinenko <phcoder@gmail.com>
6852
6853 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Add ieee1275/
6854 prefix.
6855 (grub_ofdisk_open): Check and discard ieee1275 prefix.
6856 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
6857 Add ieee1275 prefix.
6858
edddb7f9
VS
68592011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6860
6861 * docs/grub.texi (Filesystems): Update.
6862
a1a8b1b9
VS
68632011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6864
6865 Support odc, newc and bigendian cpio formats.
6866
6867 * Makefile.util.def (libgrubmods): Add odc.c, newc.c and cpio_be.c.
6868 * grub-core/Makefile.core.def (newc): New module.
6869 (odc): Likewise.
6870 (cpio_be): Likewise.
6871 * grub-core/fs/cpio.c (ALIGN_CPIO): New macro.
6872 (MAGIC): Likewise.
6873 (MAGIC2): Likewise.
6874 (head) [MODE_ODC]: Adapt for the format.
6875 (head) [MODE_NEWC]: Likewise.
6876 (head) [!MODE_*]: Write fields of interest as arrays.
6877 (MAGIC_USTAR): Removed.
6878 (read_number) [MODE_NEWC]: Change to hex.
6879 (read_number) [!MODE_*]: Parse binary arrays.
6880 (grub_cpio_find_file): Factor out the code for better structure and
6881 always use read_number.
6882 (grub_cpio_mount): Use MAGIC and MAGIC2.
6883 (grub_cpio_dir): Exit on first hook non-0 return.
6884 (grub_cpio_fs) [MODE_ODC]: Set name to odc.
6885 (grub_cpio_fs) [MODE_NEWC]: Set name to newc.
6886 (GRUB_MOD_INIT) [MODE_ODC]: Set name to odc.
6887 (GRUB_MOD_INIT) [MODE_NEWC]: Set name to newc.
6888 (GRUB_MOD_FINI) [MODE_ODC]: Set name to odc.
6889 (GRUB_MOD_FINI) [MODE_NEWC]: Set name to newc.
6890 * grub-core/fs/newc.c: New file.
6891 * grub-core/fs/odc.c: Likewise.
6892 * grub-core/fs/cpio_be.c: Likewise.
6893
58eba9ee
VS
68942011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6895
6896 Fix handling of tar numbers occupying the whole field.
6897
6898 * grub-core/fs/cpio.c (read_number): New function.
6899 (grub_cpio_find_file): Use read_number instead of strtoull.
6900
a54a0e12
VS
69012011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6902
6903 * grub-core/fs/cpio.c (grub_cpio_find_file): Fix handling of names
6904 occupying the whole field size.
6905
a6120aca
LA
69062011-12-23 Lukas Anzinger <l.anzinger@gmail.com>
6907
6908 * util/grub-mkconfig_lib.in (version_test_gt): Fix variable names.
6909
a93964ce
VS
69102011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6911
6912 * grub-core/net/net.c (grub_cmd_delroute): Add missing out condition.
6913
3ea1ca46
SG
69142011-12-23 Seth Goldberg <seth.goldberg@oracle.com>
6915
6916 * grub-core/Makefile.core.def (lzma_decompress): Add missing
6917 TARGET_IMG_LDFLAGS.
6918
b87f7ef2
VS
69192011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6920
6921 * util/getroot.c (ESCAPED_PATH_MAX): New define.
6922 (mountinfo_entry): Increase the field size to take escaping into
6923 account.
6924 (find_root_device_from_libzfs): Add one byte to size of strings for
6925 security.
6926
62092395
VS
69272011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6928
6929 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy): Add
6930 an assert.
6931 * util/grub-setup.c (setup): Likewise.
6932
1f0b1a77
VS
69332011-12-23 Vladimir Serbinenko <phcoder@gmail.com>
6934
6935 * grub-core/boot/i386/pc/startup_raw.S: Add missing argument for
6936 _LzmaDecodeA.
6937
8eba9997
VS
69382011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6939
6940 * docs/grub.texi (Internationalisation): New section.
6941
dd0c91e9
VS
69422011-12-22 Vladimir Serbinenko <phcoder@gmail.com>
6943
6944 * docs/grub.texi (Loopback booting): New section.
6945
69462011-12-22 Keshav P R <the.ridikulus.rat@gmail.com>
86717cbe
K
6947
6948 * util/grub-mkstandalone.in: Fix minor typo errors.
6949
198e150a
VS
69502011-12-20 Vladimir Serbinenko <phcoder@gmail.com>
6951
6952 IPv6, TCP, HTTP, ICMP and DNS support. Several cleanups and bugfixes.
6953
6954 * grub-core/Makefile.core.def (net): Add net/dns.c, net/tcp.c,
6955 net/icmp.c and net/icmp6.c.
6956 (http): New module.
6957 (priority_queue): Likewise.
6958 * grub-core/io/bufio.c: Rewritten.
6959 * grub-core/lib/legacy_parse.c (legacy_command): New argument type
6960 TYPE_WITH_CONFIGFILE_OPTION.
6961 (legacy_commands): Add bootp and dhcp.
6962 (is_option): Handle TYPE_WITH_CONFIGFILE_OPTION.
6963 (grub_legacy_parse): Likewise.
6964 * grub-core/lib/priority_queue.c: New file.
6965 * grub-core/net/arp.c: Add missing license header.
6966 (arp_find_entry): Removed.
6967 (arp_find_entry): Likewise.
6968 (grub_net_arp_resolve): Rename to ...
6969 (grub_net_arp_send_request): ...this.
6970 (grub_net_arp_receive): New card argument.
6971 * grub-core/net/bootp.c (parse_dhcp_vendor): Clean up.
6972 Set router and DNS server.
6973 (grub_net_configure_by_dhcp_ack): Handle routing information.
6974 (grub_cmd_bootp): Set checksum.
6975 (grub_bootp_init): Remove net_dhcp.
6976 * grub-core/net/dns.c: New file.
6977 * grub-core/net/drivers/efi/efinet.c (send_card_buffer): Wait for
6978 completion.
6979 (get_card_packet): Handle allocation.
6980 (grub_efinet_findcards): Set mtu.
6981 * grub-core/net/drivers/emu/emunet.c: Add missing license header.
6982 (get_card_packet): Handle allocation.
6983 (emucard): Set mtu.
6984 * grub-core/net/drivers/i386/pc/pxe.c (grub_pxe_recv): Handle allocation
6985 (GRUB_MOD_INIT): Set mtu.
6986 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnetcard_data): Remove
6987 mtu.
6988 (get_card_packet): Handle allocation.
6989 (grub_ofnet_findcards): Set mtu.
6990 * grub-core/net/ethernet.c (send_ethernet_packet): Add compile time
6991 assert.
6992 (grub_net_recv_ethernet_packet): Handle IPv6.
6993 * grub-core/net/http.c: New file.
6994 * grub-core/net/icmp.c: Likewise.
6995 * grub-core/net/icmp6.c: Likewise.
6996 * grub-core/net/ip.c (ip6addr): New type.
6997 (ip6hdr): Likewise.
6998 (reassemble): Likewise.
6999 (cmp): New function.
7000 (reassembles): New variable.
7001 (grub_net_ip_chksum): Handle 0xffff sum and unaligned buffers.
7002 (id): New variable.
7003 (send_fragmented): New function.
7004 (grub_net_send_ip_packet): Rename to ...
7005 (grub_net_send_ip4_packet): ... this. Send fragmented if needed.
7006 Handle non-UDP.
7007 (grub_net_recv_ip_packets): Rename to ...
7008 (handle_dgram): ... this. Check checksum. Handle non-UDP.
7009 (free_rsm): New function.
7010 (free_old_fragments): Likewise.
7011 (grub_net_recv_ip4_packets): New function.
7012 (grub_net_send_ip6_packet): Likewise.
7013 (grub_net_send_ip_packet): Likewise.
7014 (grub_net_recv_ip6_packets): Likewise.
7015 (grub_net_recv_ip_packets): Likewise.
7016 * grub-core/net/net.c (grub_net_link_layer_entry): New struct.
7017 (LINK_LAYER_CACHE_SIZE): New const.
7018 (link_layer_find_entry): New function.
7019 (grub_net_link_layer_add_address): Likewise.
7020 (grub_net_link_layer_resolve_check): Likewise.
7021 (grub_net_link_layer_resolve): Likewise.
7022 (grub_net_ipv6_get_slaac): Likewise.
7023 (grub_net_ipv6_get_link_local): Likewise.
7024 (grub_cmd_ipv6_autoconf): Likewise.
7025 (parse_ip): Handle one number representation.
7026 (parse_ip6): New functoion.
7027 (match_net): Handle IPv6.
7028 (grub_net_resolve_address): Handle IPv6 and DNS.
7029 (grub_net_resolve_net_address): Handle IPv6.
7030 (route_cmp): New function.
7031 (grub_net_route_address): Find best route.
7032 (grub_net_addr_to_str): Handle IPv6.
7033 (grub_net_addr_cmp): New function.
7034 (grub_net_add_addr): Register local route.
7035 (print_net_address): Handle net address.
7036 (grub_net_poll_cards): Retransmit TCP.
7037 (grub_net_poll_cards_idle_real): Likewise.
7038 (have_ahead): New function.
7039 (grub_net_seek_real): Use underlying seek.
7040 (GRUB_MOD_INIT): Register net_ipv6_autoconf and init dns.
7041 * grub-core/net/tcp.c: New file.
7042 * grub-core/net/tftp.c (tftp_data): Add priority_queue.
7043 (cmp): New function.
7044 (ack): Likewise.
7045 (tftp_receive): Handle unordered input.
7046 (destroy_pq): New function.
7047 (tftp_close): Close pq.
7048 * grub-core/net/udp.c: Put missing license header.
7049 (grub_net_udp_socket): New function.
7050 (udp_socket_register): Likewise.
7051 (grub_net_udp_close): Likewise.
7052 (grub_net_recv_udp_packet): Check checksum.
7053 * include/grub/efi/api.h (grub_efi_simple_network): Add status.
7054 * include/grub/misc.h (grub_memchr): New function.
7055 * include/grub/net.h (GRUB_NET_*_SIZE): New enum.
7056 (grub_net_card_driver): Return buf in recv.
7057 (grub_net_slaac_mac_list): New struct.
7058 (grub_network_level_protocol_id): Add ipv6.
7059 (grub_net_network_level_addr): Likewise.
7060 (grub_net_network_level_net_addr): Likewise.
7061 (grub_net_app_protocol): Add seek.
7062 (grub_net_socket): Removed.
7063 (grub_net_sockets): Likewise.
7064 (grub_net_socket_register): Likewise.
7065 (grub_net_socket_unregister): Likewise.
7066 (FOR_NET_SOCKETS): Likewise.
7067 (grub_net_add_addr): Add const.
7068 (GRUB_NET_BOOTP_*): New enum.
7069 (grub_net_addr_cmp): New proto.
7070 (GRUB_NET_MAX_STR_ADDR_LEN): Take IPV6 into account.
7071 (GRUB_NET_MAX_STR_HWADDR_LEN): New define.
7072 (grub_net_hwaddr_to_str): NEw proto.
7073 (FOR_NET_NETWORK_LEVEL_INTERFACES): New macro.
7074 (FOR_NET_NETWORK_LEVEL_INTERFACES_SAFE): Handle NULL.
7075 (grub_dns_init): New proto.
7076 (grub_dns_fini): Likewise.
7077 (grub_net_tcp_retransmit): Likewise.
7078 (grub_net_link_layer_add_address): Likewise.
7079 (grub_net_link_layer_resolve_check): Likewise.
7080 (grub_net_link_layer_resolve): Likewise.
7081 (grub_net_dns_lookup): Likewise.
7082 (grub_net_add_dns_server): Likewise.
7083 (grub_net_remove_dns_server): Likewise.
7084 (GRUB_NET_TRIES): New const.
7085 (GRUB_NET_INTERVAL): Likewise.
7086 * include/grub/net/arp.h: Mostly rewritten.
7087 * include/grub/net/ethernet.h (grub_net_ethertype_t): New enum.
7088 * include/grub/net/ip.h: Mostly rewritten.
7089 * include/grub/net/netbuff.h: Indent.
7090 * include/grub/net/tcp.h: New file.
7091 * include/grub/net/udp.h: Mostly rewritten.
7092 * include/grub/priority_queue.h: New file.
7093 * include/grub/types.h (PRIdGRUB_SSIZE): New define.
7094 (grub_swap_bytes64_compile_time): Likewise.
7095 (grub_cpu_to_be16_compile_time): Likewise.
7096 (grub_cpu_to_be32_compile_time): Likewise.
7097 (grub_cpu_to_be64_compile_time): Likewise.
7098 (grub_be_to_cpu64_compile_time): Likewise.
7099
215c1800
VS
71002011-12-16 Vladimir Serbinenko <phcoder@gmail.com>
7101
7102 * grub-core/commands/i386/pc/drivemap.c (int13slot): Replace
7103 UINT_TO_PTR with cast.
7104
c17e546c
VS
71052011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7106
7107 * util/import_gcry.py: Skip _gcry_rmd160_mixblock and serpent_test. We
7108 don't use them.
7109
ff6b18b6
VS
71102011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7111
7112 * util/import_gcry.py: Don't add include camellia.h to camellia.c. It's
7113 already there.
7114
70ffcc93
VS
71152011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7116
7117 * util/grub-mkimage.c (generate_image): Clean multiboot header to avoid
7118 confusing ipxe.
7119
e5f4d260
VS
71202011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7121
7122 * grub-core/lib/libgcrypt/cipher/md4.c (transform) [WORDS_BIGENDIAN]:
7123 Add missing const attribute.
7124 * grub-core/lib/libgcrypt/cipher/md5.c (transform) [WORDS_BIGENDIAN]:
7125 Likewise.
7126 * grub-core/lib/libgcrypt/cipher/rmd160.c (transform) [WORDS_BIGENDIAN]:
7127 Likewise.
7128
8e54b4b7
VS
71292011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7130
7131 * grub-core/lib/libgcrypt/cipher/serpent.c (serpent_key_prepare): Fix
7132 misaligned access.
7133 (serpent_setkey): Likewise.
7134 (serpent_encrypt_internal): Likewise.
7135 (serpent_decrypt_internal): Likewise.
7136 (serpent_encrypt): Don't put an alignment-increasing cast.
7137 (serpent_decrypt): Likewise.
7138 (serpent_test): Likewise.
7139
813c0a2b
VS
71402011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7141
7142 * grub-core/loader/multiboot.c (grub_cmd_module): Fix target address.
7143
f2b60fbd
VS
71442011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7145
7146 Replace UINT_TO_PTR and PTR_TO_UINT with explicit grub_addr_t casts.
7147
7148 * include/grub/types.h (UINT_TO_PTR): Removed. All users switched to
7149 grub_addr_t casts.
7150 (PTR_TO_UINT64): Likewise.
7151 (PTR_TO_UINT32): Likewise.
7152
5ef5c511
VS
71532011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7154
7155 * util/grub-mkimage.c (generate_image): Decrease the higher limit
7156 because of stack.
7157 * util/grub-setup.c (setup): Don't add redundancy past the higher load
7158 limit.
7159
c476e6df
VS
71602011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7161
7162 * grub-core/gfxmenu/gui_label.c (label_paint): Handle the case
7163 text_width > available width a bit more gracefully.
7164
384ad7cc
VS
71652011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7166
7167 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Fix
7168 current address calculation.
7169
96f8caf8
VS
71702011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7171
7172 * grub-core/lib/reed_solomon.c (decode_block): Allocate on heap and not
7173 stack.
7174 (encode_block): Likewise.
7175
276b7a8b
VS
71762011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7177
7178 * grub-core/boot/i386/pc/startup_raw.S: Clear direction flag for
7179 certainety.
7180
e3fd394a
VS
71812011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7182
7183 * grub-core/boot/i386/pc/startup_raw.S: Move realmode routines to
7184 non-RS part to avoid RS messing with GDT.
7185 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART):
7186 Increase to suit in realmode routines.
7187
71882011-12-15 Vladimir Serbinenko <phcoder@gmail.com>
7189
7190 * grub-core/kern/i386/realmode.S: Increase alignment.
7191 * grub-core/boot/i386/pc/startup_raw.S: Likewise.
7192
ee9c2e7a
VS
71932011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7194
7195 * grub-core/lib/reed_solomon.c (init_powx): Set gf_powx_inv[0] just to
7196 be deterministic.
7197 (syndroms): Compute 0 syndrom.
7198 (rs_recover): Use 0 syndrom.
7199
7a7f7cc9
VS
72002011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7201
7202 * include/grub/kernel.h (FOR_MODULES): Make it a bit faster.
7203
a14b16d1
VS
72042011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7205
7206 * include/grub/types.h (GRUB_PROPERLY_ALIGNED_ARRAY): Add missing
7207 brackets.
7208
9f59e9fc
VS
72092011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7210
ca1b552c
VS
7211 * grub-core/gfxmenu/widget-box.c (get_left_pad): Take corners into
7212 account.
7213 (get_top_pad): Likewise.
7214 (get_right_pad): Likewise.
7215 (get_bottom_pad): Likewise.
7216
72172011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7218
7219 * grub-core/gfxmenu/gui_list.c (draw_menu): Don't use assignment in if.
9f59e9fc 7220
e739d698
VS
72212011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7222
7223 * include/grub/efi/api.h (grub_efi_memory_descriptor): Add packed
7224 attribute as the structure isn't guaranteed to be properly aligned.
7225 (grub_efi_pci_device_path): Likewise.
7226 (grub_efi_pccard_device_path): Likewise.
7227 (grub_efi_memory_mapped_device_path): Likewise. Additionaly explicitly
7228 specify the size of `memory_type'.
7229 (grub_efi_vendor_device_path): Likewise.
7230 (grub_efi_controller_device_path): Likewise.
7231 (grub_efi_acpi_device_path): Likewise.
7232 (grub_efi_expanded_acpi_device_path): Likewise.
7233 (grub_efi_atapi_device_path): Likewise.
7234 (grub_efi_scsi_device_path): Likewise.
7235 (grub_efi_fibre_channel_device_path): Likewise.
7236 (grub_efi_1394_device_path): Likewise.
7237 (grub_efi_usb_device_path): Likewise.
7238 (grub_efi_usb_class_device_path): Likewise.
7239 (grub_efi_i2o_device_path): Likewise.
7240 (grub_efi_mac_address_device_path): Likewise.
7241 (grub_efi_ipv4_device_path): Likewise.
7242 (grub_efi_ipv6_device_path): Likewise.
7243 (grub_efi_infiniband_device_path): Likewise.
7244 (grub_efi_uart_device_path): Likewise.
7245 (grub_efi_vendor_messaging_device_path): Likewise.
7246 (grub_efi_hard_drive_device_path): Likewise.
7247 (grub_efi_cdrom_device_path): Likewise.
7248 (grub_efi_vendor_media_device_path): Likewise.
7249 (grub_efi_file_path_device_path): Likewise.
7250 (grub_efi_protocol_device_path): Likewise.
7251 (grub_efi_piwg_device_path): Likewise.
7252 (grub_efi_bios_device_path): Likewise.
7253
cb8f88ea
VS
72542011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7255
7256 * include/grub/charset.h (grub_utf16_to_utf8): Make src a const pointer.
7257 (grub_ucs4_to_utf8_alloc): Likewise.
7258 (grub_ucs4_to_utf8): Likewise.
7259 * grub-core/normal/charset.c (grub_ucs4_to_utf8): Likewise.
7260 (grub_ucs4_to_utf8_alloc): Likewise.
7261
309e5352
VS
72622011-12-14 Vladimir Serbinenko <phcoder@gmail.com>
7263
7264 AFFS never uses unicode.
7265
7266 * include/grub/charset.h (GRUB_MAX_UTF8_PER_LATIN1): New const.
7267 (grub_latin1_to_utf8): New inline function.
7268 * grub-core/fs/affs.c (grub_affs_iterate_dir): Convert latin1 to UTF8.
7269
e7987e1b
VS
72702011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7271
7272 * grub-core/fs/romfs.c (grub_romfs_mount): Fix pointer comparison
7273 overflow.
7274
efc2616e
VS
72752011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7276
7277 * grub-core/fs/squash4.c (grub_squash_inode): Fix field sizes.
7278 (grub_squash_dirent_header): Likewise.
7279 (read_chunk): Don't double swap.
7280 (grub_squash_iterate_dir): Fix swap sizes.
7281
3c349f5a
VS
72822011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7283
7284 * grub-core/fs/jfs.c (grub_jfs_getent): Handle UTF16 endianness.
7285
b453412d
VS
72862011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7287
7288 * grub-core/fs/hfs.c (grub_hfs_find_node): Handle unaligned keys.
7289 (grub_hfs_iterate_dir): Likewise.
7290
12e9d4d1
VS
72912011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7292
7293 Fix video on platforms where unaligned access is forbidden.
7294 Make several optimisations while on it.
7295
7296 * grub-core/video/fb/fbblit.c (grub_video_fbblit_replace_directN):
7297 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
7298 (grub_video_fbblit_replace_32bit_1bit): Likewise.
7299 (grub_video_fbblit_replace_24bit_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
7300 Disable.
7301 (grub_video_fbblit_replace_16bit_1bit):
7302 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
7303 (grub_video_fbblit_replace_8bit_1bit): Likewise.
7304 (grub_video_fbblit_replace_BGRX8888_RGBX8888): Likewise.
7305 (grub_video_fbblit_replace_BGRX8888_RGB888): Likewise.
7306 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
7307 (grub_video_fbblit_replace_BGR888_RGBX8888): Likewise.
7308 (grub_video_fbblit_replace_BGR888_RGB888): Likewise.
7309 (grub_video_fbblit_replace_RGBX8888_RGB88): Likewise.
7310 (grub_video_fbblit_replace_RGB888_RGBX888): Likewise.
7311 (grub_video_fbblit_replace_RGB888_RGBX8888): Likewise.
7312 (grub_video_fbblit_replace_index_RGBX8888): Likewise.
7313 (grub_video_fbblit_replace_index_RGB888): Likewise.
7314 (grub_video_fbblit_blend_BGRA8888_RGBA8888): Likewise.
7315 (grub_video_fbblit_blend_BGR888_RGBA8888): Likewise.
7316 (grub_video_fbblit_blend_RGBA8888_RGBA8888): Likewise.
7317 (grub_video_fbblit_blend_RGB888_RGBA8888): Likewise.
7318 (grub_video_fbblit_blend_index_RGBA8888): Likewise.
7319 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
7320 (grub_video_fbblit_blend_XXX888_1bit) [!GRUB_HAVE_UNALIGNED_ACCESS]:
7321 Disable.
7322 (grub_video_fbblit_blend_XXX565_1bit):
7323 Optimise and use GRUB_VIDEO_FB_ADVANCE_POINTER.
7324 * grub-core/video/fb/fbfill.c (grub_video_fbfill_direct32): Likewise.
7325 * grub-core/video/fb/fbutil.c (grub_video_fb_get_video_ptr): Return
7326 void *.
7327 * grub-core/video/fb/video_fb.c (common_blitter)
7328 [!GRUB_HAVE_UNALIGNED_ACCESS]: Skip disabled blitters.
7329 (grub_video_fb_create_render_target_from_pointer)
7330 [!GRUB_HAVE_UNALIGNED_ACCESS]: Check alignment.
7331 * include/grub/fbutil.h (grub_video_fb_get_video_ptr): Return void *.
7332 * include/grub/i386/types.h (GRUB_HAVE_UNALIGNED_ACCESS): New
7333 definition.
7334 * include/grub/x86_64/types.h (GRUB_HAVE_UNALIGNED_ACCESS): Likewise.
7335
ace96609
VS
73362011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7337
7338 * grub-core/kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Support
7339 HH22 and HM10 relocations.
7340
fd261d73
VS
73412011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7342
7343 * grub-core/kern/misc.c (grub_vsnprintf_real): Fix fmt2 parsing.
7344
e59b7857
VS
73452011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7346
7347 * grub-core/commands/videotest.c (grub_cmd_videotest): Check that
7348 allocation succeeded.
7349
9b4baaa4
VS
73502011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7351
7352 * grub-core/fs/iso9660.c (grub_iso9660_convert_string): Make first
7353 argument a u8 pointer. All users updated.
7354 Handle unaligned buffers.
7355
dc713193
VS
73562011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7357
7358 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Force inlining of
7359 add_part to workaround compiler bug.
7360
30dd48c2
VS
73612011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7362
7363 * include/grub/kernel.h (FOR_MODULES): Preserve alignment invariants.
7364
0c6087a8
VS
73652011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7366
7367 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_add_elfsyms):
7368 Reserve alignment invariants.
7369 (grub_multiboot_load): Likewise.
7370 (retrieve_video_parameters): Likewise.
7371 (grub_multiboot_make_mbi): Likewise.
7372
c2e77777
VS
73732011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7374
7375 * grub-core/loader/i386/xnu.c (grub_xnu_devprop_remove_property): Fix
7376 incorrect pointer.
7377
b70b6d11
VS
73782011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7379
7380 * grub-core/disk/pata.c (grub_pata_pio_read): Handle unaligned buffer.
7381 (grub_pata_pio_write): Likewise.
7382
02a2bf83
VS
73832011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7384
7385 Add noreturn attributes and remove unreachable code.
7386
7387 * grub-core/bus/cs5536.c (grub_cs5536_smbus_wait): Remove unreachable
7388 code.
7389 * grub-core/commands/halt.c (grub_cmd_halt): Remove unreachable
7390 code. Mark as noreturn.
7391 * grub-core/commands/minicmd.c (grub_mini_cmd_exit): Likewise.
7392 * grub-core/commands/reboot.c (grub_cmd_reboot): Likewise.
7393 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Remove
7394 unreachable code.
7395 * grub-core/kern/main.c (grub_main): Mark as noreturn.
7396 * grub-core/kern/rescue_reader.c (grub_rescue_run): Likewise.
7397 * grub-core/lib/posix_wrap/stdlib.h (abort): Likewise.
7398 * grub-core/normal/menu.c (run_menu): Remove unreachable code.
7399 * include/grub/kernel.h (grub_main): Mark as noreturn.
7400 * include/grub/reader.h (grub_rescue_run): Likewise.
7401
2019d09e
VS
74022011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7403
7404 * include/grub/i386/qemu/memory.h (grub_machine_mmap_init): Remove
7405 redundant declaration.
7406
d1c501ee
VS
74072011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7408
7409 * include/grub/net.h (grub_net_network_level_interfaces): Remove
7410 redundant declaration.
7411 (FOR_NET_NETWORK_LEVEL_INTERFACES): Move to appropriate place.
7412
61664420
VS
74132011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7414
7415 * grub-core/commands/hdparm.c (le16_to_char): Make src and dest uint16 *
7416 to ensure alignment.
7417 (grub_hdparm_print_identify): Make argument uint16 * to ensure
7418 alignment. Ensure tmp alignment.
7419 (grub_cmd_hdparm): Ensure buf alignment.
7420 * grub-core/disk/ata.c (grub_ata_strncpy): Make src and dest uint16 *
7421 to ensure alignment.
7422 (grub_ata_dumpinfo): Ensure text alignment.
7423 (grub_atapi_identify): Preserve alignment invariant.
7424 (grub_ata_identify): Likewise. Use grub_get_unaligned32 when necessary.
7425
0d51ee20
VS
74262011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7427
7428 * include/grub/emu/misc.h (xasprintf): Add missing format attribute.
7429 * include/grub/mips/kernel.h (grub_halt): Remove redundant declaration.
7430 * include/grub/mips/qemu_mips/kernel.h (grub_halt): Likewise.
7431 * include/grub/misc.h (grub_reboot)
7432 [GRUB_MACHINE_EMU || GRUB_MACHINE_QEMU_MIPS]: Export.
7433 (grub_halt) [__mips__]: Likewise.
7434
753ef8c1
VS
74352011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7436
7437 * include/grub/efi/memory.h (grub_machine_mmap_iterate):
7438 Remove redundant declaration.
7439 (grub_mmap_get_post64): Likewise.
7440 (grub_mmap_get_upper): Likewise.
7441 (grub_mmap_get_lower): Likewise.
7442
85c85365
VS
74432011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7444
7445 * grub-core/partmap/dvh.c (grub_dvh_is_valid): Make argument
7446 uint32_t * to ensure alignment.
7447 (dvh_partition_map_iterate): Make `block' a union to ensure alignment.
7448
a23f2cc4
VS
74492011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7450
93018f64
VS
7451 * grub-core/partmap/sunpc.c (grub_sun_is_valid): Make argument
7452 uint16_t * to ensure alignment.
7453 (sun_pc_partition_map_iterate): Make `block' a union to ensure
7454 alignment.
7455
74562011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7457
7458 * grub-core/partmap/sun.c (grub_sun_is_valid): Make argument uint16_t *
a23f2cc4
VS
7459 to ensure alignment.
7460 (sun_partition_map_iterate): Make `block' a union to ensure alignment.
7461
58acccd6
VS
74622011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7463
7464 * grub-core/fs/ntfs.c (u16at): Make into inline function.
7465 Handle unaligned pointers.
7466 (u32at): Likewise.
7467 (u64at): Likewise.
7468 (fixup): Use byte access instead of v16at.
7469 (find_attr): Fix imporper usage of v32at.
7470 (read_data): Likewise.
7471 (list_file): Handle byte-swapping and unaligned strings.
7472 (grub_ntfs_label): Likewise.
7473
9b05cad7
VS
74742011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7475
7476 * grub-core/fs/udf.c (grub_udf_partmap): Add packed attribute
7477 as it's not necessarily aligned.
7478
b3950b84
VS
74792011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7480
7481 * grub-core/kern/mips/qemu_mips/init.c (grub_at_keyboard_init): Remove
7482 redundant declaration.
7483 (grub_serial_init): Likewise.
7484 (grub_terminfo_init): Likewise.
7485
fcd232b7
VS
74862011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7487
7488 * grub-core/fs/zfs/zfs.c (DVA_OFFSET_TO_PHYS_SECTOR): Make into inline
7489 function.
7490 (ZAP_HASH_IDX): Likewise.
7491 (ZAP_LEAF_HASH_SHIFT): Likewise.
7492 (ZAP_LEAF_HASH_NUMENTRIES): Likewise.
7493 (LEAF_HASH): Likewise.
7494 (ZAP_LEAF_NUMCHUNKS): Likewise.
7495 (ZAP_LEAF_CHUNK): Likewise. Changed pointer arithmetic to preserve
7496 alignment invariants. Return pointer. All users updated.
7497 (ZAP_LEAF_ENTRY): Make into inline function.
7498 (NBBY): Removed.
7499 (xor): LIkewise.
7500 (xor_out): Use grub_crypto_xor.
7501 (dnode_get_path): Use grub_get_unaligned.
7502 (nvlist_find_value): Likewise.
7503 (grub_zfs_nvlist_lookup_uint64): Likewise.
7504 (grub_zfs_nvlist_lookup_string): Likewise.
7505 (get_nvlist_size): Likewise.
7506 (grub_zfs_open): Likewise.
7507 (fill_fs_info): Likewise.
7508 (grub_zfs_dir): Likewise.
7509 * include/grub/zfs/zap_leaf.h (zap_leaf_phys): Adapt to preserve
7510 alignment invariants.
7511 * include/grub/zfs/zio.h (zio_eck_t): Mark as packed as it's not
7512 necessarily aligned.
7513
f138623a
VS
75142011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7515
7516 * grub-core/net/netbuff.c (grub_netbuff_alloc): Ensure proper alignment.
7517
564840dc
VS
75182011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7519
7520 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Change pointer
7521 arithmetic to conserve alignment invariants.
7522
9b40df20
VS
75232011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7524
7525 * include/grub/efiemu/efiemu.h (grub_efiemu_get_memory_map): Remove
7526 redundant declaration.
7527 (grub_efiemu_mm_obtain_request): Likewise.
7528 (grub_efiemu_prepare): Likewise.
7529
d1c930f9
VS
75302011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7531
7532 * include/grub/list.h: Explicitly cast return of grub_bad_type_cast
7533 to match types.
7534
4c5f3056
VS
75352011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7536
7537 * grub-core/fs/hfsplus.c (grub_hfsplus_btree_recoffset): Handle the
7538 case of aunaligned recptr.
7539 (grub_hfsplus_read_block): Declare extoverflow as key to ensure
7540 alignment.
7541 (grub_hfsplus_btree_search): Handle unaligned index.
7542
728cba91
VS
75432011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7544
7545 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Use grub_get_unaligned16
7546 to get freetag and skip.
7547
eb561f31
VS
75482011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7549
7550 * grub-core/fs/nilfs2.c (grub_nilfs2_btree_node): Add zero-size keys
7551 array.
7552 (grub_nilfs2_btree_node_dkeys): Ensure return pointer alignment.
7553 (grub_nilfs2_btree_lookup): Ensure buffer alignment.
7554
20993fbb
VS
75552011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7556
7557 * grub-core/fs/romfs.c (grub_romfs_iterate_dir): Properly align
7558 name for checksum and fix allocation algorithm.
7559
1f313b94
VS
75602011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7561
7562 * include/grub/types.h (grub_properly_aligned_t): New type.
7563 (GRUB_PROPERLY_ALIGNED_ARRAY): New macro.
7564 (grub_get_unaligned16): Add explicit casts.
7565 (grub_get_unaligned32): Likewise.
7566 (grub_get_unaligned64): Likewise.
7567 (grub_set_unaligned16): New function.
7568 (grub_set_unaligned32): Likewise.
7569
47ae27ec
VS
75702011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7571
7572 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
7573
78c2cd1c
VS
75742011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7575
7576 * grub-core/fs/udf.c (read_string): Macroify GRUB_MAX_UTF8_PER_UTF16.
7577 * grub-core/fs/jfs.c (grub_jfs_diropen): Likewise.
7578 * grub-core/fs/fat.c (grub_fat_iterate_dir): Likewise.
7579
53072f9b
VS
75802011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7581
7582 * grub-core/term/at_keyboard.c (set_scancodes): Fix preprocessor
7583 conditionals.
7584
055dc239
VS
75852011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7586
7587 * grub-core/kern/emu/main.c (main): Add missing const qualifier.
7588 * grub-core/loader/efi/appleloader.c (devdata): Likewise.
7589
496bd074
VS
75902011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7591
7592 Unify and improve RAID and crypto xor.
7593
7594 * grub-core/disk/raid.c (grub_raid_block_xor): Removed. All users
7595 changed to grub_crypto_xor
7596 * grub-core/lib/crypto.c (grub_crypto_xor): Moved from here ...
7597 * include/grub/crypto.h (grub_crypto_xor): ... here. Inlined.
7598 Use bigger types when possible.
7599
ef6e4335
VS
76002011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7601
7602 * grub-core/disk/raid.c (scan_devices): Fix condition.
7603
5d048bf2
VS
76042011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7605
7606 * grub-core/net/drivers/ieee1275/ofnet.c (bootp_response_properties):
7607 Make name a const ptr.
7608
ee533335
VS
76092011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7610
7611 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_finddevice): Make
7612 first argument a const pointer.
7613 * grub-core/kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
7614 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_finddevice): Update
7615 proto.
7616 (grub_children_iterate): Likewise.
7617 (grub_machine_mmap_iterate): Remove redundant declaration.
7618
cc8f3668
VS
76192011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7620
7621 * grub-core/commands/acpi.c (grub_acpi_create_ebda) [!x86]: Disable.
7622 (grub_cmd_acpi) [!x86]: Disable EBDA.
7623
c5fc563a
VS
76242011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7625
7626 Enable UTF8 in gnulib regexp.
7627
7628 * config.h.in (RE_ENABLE_I18N) [!GRUB_UTIL]: New define.
7629 * grub-core/lib/posix_wrap/ctype.h (islower): Use grub_islower.
7630 (isupper): Use grub_isupper.
7631 (isascii): New inline function.
7632 * grub-core/lib/posix_wrap/wchar.h: Replace dummy with real contents.
7633 * grub-core/lib/posix_wrap/wctype.h: Likewise.
7634 * grub-core/normal/charset.c (grub_utf8_process): New function.
7635 (grub_utf8_to_utf16): Use grub_utf8_process.
7636 (grub_encode_utf8_character): New function.
7637 (grub_ucs4_to_utf8): Use grub_encode_utf8_character.
7638 * include/grub/charset.h (grub_utf8_process): New declaration.
7639 (grub_encode_utf8_character): Likewise.
7640 * include/grub/misc.h (grub_islower): New inline function.
7641 (grub_isupper): Likewise.
7642 (grub_strchrsub): Moved down to fix the definitions.
7643
0af2346f
VS
76442011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7645
7646 * grub-core/bus/usb/ohci.c (grub_ohci_check_transfer): Add an unsigned
7647 specification.
7648
74dbd244
VS
76492011-12-13 Vladimir Serbinenko <phcoder@gmail.com>
7650
7651 * include/grub/loader.h (grub_loader_register_preboot_hook):
7652 Use struct preboot * and not void * for handle. All users updated.
7653 (grub_loader_unregister_preboot_hook): Likewise.
7654
1bc8f60d
VS
76552011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
7656
7657 * include/grub/charset.h (GRUB_MAX_UTF8_PER_UTF16): New const.
7658 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Change to
7659 UTF-16-BE. All users updated.
7660 (grub_hfsplus_cmp_catkey): Fix unicode handling.
7661 (grub_hfsplus_iterate_dir): Likewise.
7662 (grub_hfsplus_label): Likewise.
7663
48d6e456
VS
76642011-12-12 Vladimir Serbinenko <phcoder@gmail.com>
7665
7666 * grub-core/disk/ahci.c (grub_ahci_pciinit): Fix compat condition.
7667
bf3a3857
VS
76682011-11-30 Vladimir Serbinenko <phcoder@gmail.com>
7669
7670 Add missing const qualifiers.
7671
7672 * grub-core/commands/i386/pc/sendkey.c (keysym): Add missing const.
7673 * grub-core/commands/lspci.c (grub_pci_classname): Likewise.
7674 * grub-core/commands/menuentry.c (hotkey_aliases): Likewise.
7675 * grub-core/disk/lvm.c (grub_lvm_getvalue): Likewise.
7676 (grub_lvm_check_flag): Likewise.
7677 * grub-core/efiemu/i386/coredetect.c
7678 (grub_efiemu_get_default_core_name): Likewise
7679 * grub-core/efiemu/main.c (grub_efiemu_autocore): Likewise.
7680 * grub-core/fs/hfsplus.c (grub_hfsplus_catkey_internal): Likewise.
7681 * grub-core/fs/ntfs.c (fixup): Likewise.
7682 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Likewise.
7683 * grub-core/fs/zfs/zfs.c (decomp_entry): Likewise.
7684 (fzap_lookup): Likewise.
7685 (zap_lookup): Likewise.
7686 * grub-core/gnulib/regcomp.c (init_dfa): Likewise.
7687 * grub-core/lib/legacy_parse.c (check_option): Likewise.
7688 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Likewise.
7689 * grub-core/loader/i386/bsd.c (grub_bsd_add_meta): Likewise.
7690 (grub_freebsd_add_meta_module): Likewise.
7691 (grub_cmd_freebsd_module): Likewise.
7692 * grub-core/loader/i386/xnu.c (tbl_alias): Likewise.
7693 * grub-core/loader/xnu.c (grub_xnu_register_memory): Likewise.
7694 (grub_xnu_writetree_get_size): Likewise.
7695 (grub_xnu_writetree_toheap_real): Likewise.
7696 (grub_xnu_find_key): Likewise.
7697 (grub_xnu_create_key): Likewise.
7698 (grub_xnu_create_value): Likewise.
7699 (grub_xnu_register_memory): Likewise.
7700 (grub_xnu_check_os_bundle_required): Likewise.
7701 (grub_xnu_scan_dir_for_kexts): Likewise.
7702 (grub_xnu_load_kext_from_dir): Likewise.
7703 * grub-core/normal/color.c (color_list): Likewise.
7704 * grub-core/normal/completion.c (current_word): Likewise.
7705 * grub-core/normal/menu_entry.c (insert_string): Likewise.
7706 * grub-core/term/serial.c (grub_serial_find): Likewise.
7707 * grub-core/term/tparm.c (grub_terminfo_tparm): Likewise.
7708 * include/grub/efiemu/efiemu.h (grub_efiemu_get_default_core_name):
7709 Likewise.
7710 * include/grub/i386/bsd.h (grub_bsd_add_meta): Likewise.
7711 (grub_freebsd_add_meta_module): Likewise.
7712 * include/grub/lib/arg.h (grub_arg_option): Likewise.
7713 * include/grub/net.h (grub_net_card_driver): Likewise.
7714 (grub_net_card): Likewise.
7715 (grub_net_app_protocol): Likewise.
7716 * include/grub/parttool.h (grub_parttool_argdesc): Likewise.
7717 * include/grub/serial.h (grub_serial_find): Likewise.
7718 * include/grub/tparm.h (grub_terminfo_tparm): Likewise.
7719 * include/grub/xnu.h (grub_xnu_create_key): Likewise.
7720 (grub_xnu_create_value): Likewise.
7721 (grub_xnu_find_key): Likewise.
7722 (grub_xnu_scan_dir_for_kexts): Likewise.
7723 (grub_xnu_load_kext_from_dir): Likewise.
7724
7725 * include/grub/zfs/zio_checksum.h (zio_checksum_t): Moved from here ...
7726 * grub-core/fs/zfs/zfs.c (zio_checksum_t): ...here.
7727 * include/grub/zfs/zio_checksum.h (zio_checksum_info):
7728 Moved from here ...
7729 * grub-core/fs/zfs/zfs.c (zio_checksum_info): ... here. Added missing const.
7730
112b4837
CW
77312011-11-28 Colin Watson <cjwatson@ubuntu.com>
7732
7733 * util/getroot.c (find_root_device_from_libzfs): Use xasprintf.
7734
49e891ac
VS
77352011-11-27 Vladimir Serbinenko <phcoder@gmail.com>
7736
7737 * grub-core/fs/zfs/zfs.c (recovery): Fix spelling.
7738 (read_device): Fix size calculation.
7739
fd258e5c
RM
77402011-11-25 Robert Millan <rmh@gnu.org>
7741
7742 * util/getroot.c [HAVE_LIMITS_H]: Include `<limits.h>'.
7743 (find_root_device_from_libzfs): Add zpool output parser to be used
7744 as fallback when libzfs isn't available.
7745
78845dc2
SG
77462011-11-25 Seth Goldberg <seth.goldberg@oracle.com>
7747
7748 * po/Makefile.in.in: Add missing escape-continuation.
7749
adac5211
VS
77502011-11-25 Vladimir Serbinenko <phcoder@gmail.com>
7751
7752 * grub-core/fs/cpio.c (grub_cpio_dir): Handle subdirs correctly.
7753
10b64f1c
VS
77542011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7755
7756 * grub-core/kern/dl.c (grub_dl_load_segments): Fix alignment handling.
7757
bb416954
VS
77582011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7759
7760 * grub-core/kern/dl.c (grub_dl_unload): Fix freeing segments.
7761
bdfe9eeb
VS
77622011-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7763
7764 * grub-core/kern/x86_64/efi/callwrap.S: Fix the comment.
7765
581ffa8a
VS
77662011-11-14 Vladimir Serbinenko <phcoder@gmail.com>
7767
7768 * grub-core/lib/adler32.c: Add missing license specification.
7769 * grub-core/lib/crc64.c: Likewise.
7770 * grub-core/loader/i386/pc/plan9.c: Likewise.
7771 * grub-core/partmap/plan.c: Likewise.
7772
2536cf64
LK
77732011-11-13 Lubomir Kundrak <lkundrak@redhat.com>
7774
7775 Add facility to debug GRUB with gdb under qemu.
7776
7777 * grub-core/gdb_grub.in: New file.
7778 * grub-core/gmodule.pl.in: Likewise.
7779 * grub-core/Makefile.core.def (gmodule.pl): New script.
7780 (gdb_grub): Likewise.
7781
bc108a4a
VS
77822011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7783
7784 * util/grub-mount.c (argp_parser): Accept relative pathes.
7785 * util/grub-fstest.c (argp_parser): Likewise.
7786
111c1778
VS
77872011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7788
7789 Plan9 support.
7790
7791 * Makefile.util.def (libgrubmods): Add
7792 grub-core/partmap/plan.c.
7793 * docs/grub.texi: Notice Plan9 support.
7794 * grub-core/Makefile.core.def (plan9): New module.
7795 (part_plan): Likewise.
7796 * grub-core/loader/i386/pc/plan9.c: New file.
7797 * grub-core/partmap/plan.c: Likewise.
7798 * include/grub/msdos_partition.h (GRUB_PC_PARTITION_TYPE_PLAN9): New
7799 define.
7800 (GRUB_PC_PARTITION_TYPE_LINUX_SWAP): Likewise.
7801 * include/grub/mm.h (grub_extend_alloc): New inline function.
7802
c30be3b6
VS
78032011-11-13 Vladimir Serbinenko <phcoder@gmail.com>
7804
7805 Make Reed-Solomon faster by using power of generator representation of
7806 GF(256)*.
7807
7808 * grub-core/lib/reed_solomon.c (grub_uint16_t) [TEST]: Removed.
7809 (gf_double_t): Likewise.
7810 (gf_invert): Removed.
7811 (gf_powx): New array.
7812 (gf_powx_inv): Likewise.
7813 (scratch): Move higher.
7814 (gf_reduce): Removed.
7815 (gf_mul): Use powx.
7816 (gf_invert): Likewise.
7817 (init_inverts): Replaced with ...
7818 (init_powx): ...this. All users updated.
7819 (pol_evaluate): Replace multiplications with additions.
7820 (rs_encode): Likewise.
7821 (gauss_eliminate): Call gf_invert.
7822 (grub_reed_solomon_add_redundancy): Call init_powx.
7823 (grub_reed_solomon_recover): Call init_powx unconditionally.
7824
fa5aeffc
VS
78252011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7826
7827 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Fix spelling.
7828
a346b81c
VS
78292011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7830
7831 * grub-core/partmap/gpt.c (gpt_partition_map_embed): Restore
7832 disk->partiton for safety.
7833
d89ee414
VS
78342011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7835
7836 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev):
7837 Fix a memory leak.
7838 (grub_util_biosdisk_get_grub_dev): Add a useful debug info.
7839
91ee7b6d
VS
78402011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7841
7842 * grub-core/kern/emu/hostdisk.c (find_system_device): Fix a memory leak.
7843
91e5a33d
VS
78442011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7845
7846 * include/grub/lvm.h (grub_lvm_pv): Correct start type.
7847
9edd7be2
VS
78482011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7849
7850 Fix spaces handling in proc/self/mountinfo.
7851
7852 * util/getroot.c (unescape): New function.
7853 (grub_find_root_device_from_mountinfo): Use unescape.
7854
ba102053
VS
78552011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7856
7857 Support ZFS embedding.
7858
7859 * grub-core/fs/zfs/zfs.c (grub_zfs_embed): New function.
7860 (grub_zfs_fs): Register grub_zfs_embed.
7861
aa94b870
VS
78622011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7863
7864 Fix MIPS compilation.
7865
7866 * grub-core/boot/mips/startup_raw.S: Use GRUB_DECOMPRESSOR_*
7867 * include/grub/offsets.h: Rename decompressor fields from
7868 GRUB_KERNEL_* to GRUB_DECOMPRESSOR_*.
7869 * util/grub-mkimage.c (image_targets): Use new names.
7870
5fbdac14
VS
78712011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7872
7873 Defer multiboot device parsing until we're in compressed part.
7874
7875 * grub-core/boot/i386/pc/lnxboot.S: Remove setting dos_part and
7876 bsd_part. setdevice has fallen into disuse.
7877 * grub-core/boot/i386/pc/startup_raw.S (dos_part): Removed.
7878 (bsd_part): Likewise.
7879 (boot_dev): New variable.
7880 (multiboot_trampoline): Don't parse multiboot device.
7881 Pass multiboot device in %edx.
7882 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Parse
7883 grub_boot_device.
7884 * grub-core/kern/i386/pc/init.c (grub_machine_get_bootlocation):
7885 Likewise.
7886 * grub-core/kern/i386/pc/startup.S: Save edx.
7887 (grub_boot_drive): Removed.
7888 (grub_install_dos_part): Likewise.
7889 (grub_install_bsd_part): Likewise.
7890 (grub_boot_device): New variable.
7891 * include/grub/i386/pc/kernel.h (grub_install_dos_part): Removed.
7892 (grub_install_bsd_part): Likewise.
7893 (grub_boot_drive): Likewise.
7894 (grub_boot_device): New variable.
7895 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART):
7896 Removed.
7897 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
7898 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Moved lower.
7899 (GRUB_KERNEL_MACHINE_INSTALL_BSD_PART): Removed.
7900 (GRUB_KERNEL_MACHINE_INSTALL_DOS_PART): Likewise.
7901 * util/grub-install.in: Remove redundant condition.
7902
691cbb58
VS
79032011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7904
7905 Fix bug introduced by previous commit.
7906
7907 * grub-core/boot/i386/pc/startup_raw.S: Compute RS start correctly.
7908
60240b8b
VS
79092011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7910
7911 Use decompressors framework on i386-pc. It increases core size
7912 by 46 bytes but improves compatibility and maintainability.
7913
7914 * grub-core/Makefile.core.def (lzma_decompress): New image.
7915 (kernel): Add i386_pc_ldflags.
7916 * grub-core/kern/i386/pc/startup.S: Move intial part to ..
7917 * grub-core/boot/i386/pc/startup_raw.S: ... here. Pass pointers
7918 to real_to_prot, prot_to_real and device info.
7919 * include/grub/offsets.h: Renamed decompressor offsets.
7920 * util/grub-mkimage.c (grub_compression_t): New cmpression lzma.
7921 (image_target_desc): Remove raw_size and rename decompressor fields.
7922 (compress_kernel): Handle lzma.
7923 (generate_image): Handle decompressors on i386-pc.
7924
e9d3421c
VS
79252011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7926
7927 * configure.ac: Add -fno-asynchronous-unwind-tables.
7928
2b23074a
VS
79292011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7930
7931 Move assembly code to C by using intwrap. It increases core size
7932 by 88 bytes but improves compatibility and maintainability.
7933
7934 * grub-core/kern/i386/pc/startup.S (grub_console_putchar): Moved to ...
7935 * grub-core/term/i386/pc/console.c (grub_console_putchar_real):
7936 ... here. Translated to C.
7937 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Moved to ...
7938 * grub-core/term/i386/pc/console.c (grub_console_getkey):
7939 ... here. Translated to C.
7940 * grub-core/kern/i386/pc/startup.S (grub_console_getxy): Moved to ...
7941 * grub-core/term/i386/pc/console.c (grub_console_getxy):
7942 ... here. Translated to C.
7943 * grub-core/kern/i386/pc/startup.S (grub_console_gotoxy): Moved to ...
7944 * grub-core/term/i386/pc/console.c (grub_console_gotoxy):
7945 ... here. Translated to C.
7946 * grub-core/kern/i386/pc/startup.S (grub_console_cls): Moved to ...
7947 * grub-core/term/i386/pc/console.c (grub_console_cls):
7948 ... here. Translated to C.
7949 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Moved to ..
7950 * grub-core/term/i386/pc/console.c (grub_console_setcursor):
7951 ... here. Translated to C.
7952 * grub-core/kern/i386/pc/startup.S (grub_get_rtc): Moved to ..
7953 * grub-core/kern/i386/pc/init.c (grub_get_rtc): ... here.
7954 Translated to C.
7955 * grub-core/term/i386/pc/console.c (int10_9): New function.
7956 (grub_console_putchar): Likewise.
7957 * include/grub/i386/pc/console.h: Removed the not anymore shared
7958 functions.
7959
678f4b67
VS
79602011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
7961
7962 Move grub_chainloader_real_boot out of the kernel.
7963
7964 * grub-core/Makefile.am: Remove machine/loader.h.
7965 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
7966 Removed.
7967 * grub-core/lib/i386/relocator.c (grub_relocator16_esi): New extern
7968 variable.
7969 (grub_relocator16_keep_a20_enabled): Likewise.
7970 (grub_relocator16_boot): Fill new variables.
7971 * grub-core/lib/i386/relocator16.S: Add gate a20 handling.
7972 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_boot): Use
7973 relocator.
7974 (grub_chainloader_unload): Likewise.
7975 (grub_chainloader_cmd): Likewise.
7976 * include/grub/i386/pc/loader.h: Removed.
7977 * include/grub/i386/relocator.h (grub_relocator16_state): Add a20
7978 and esi. All initialisers updated.
7979
4626edf6
VS
79802011-11-12 Vladimir Serbinenko <phcoder@gmail.com>
79812011-11-12 Colin Watson <cjwatson@ubuntu.com>
7982
7983 * Makefile.util.def (grub-mount): New util.
7984 * .bzrignore: Add grub-mount.
7985 * configure.ac: Check for fuse and enable grub-mount if available.
7986 * docs/man/grub-mount.h2m: New file.
7987 * util/grub-mount.c: Likewise.
7988
10f0117b
VS
79892011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
7990
7991 * grub-core/commands/efi/fixvideo.c: Gettextize.
7992 * grub-core/commands/hashsum.c: Likewise.
7993 * grub-core/commands/i386/cmostest.c: Likewise.
7994 * grub-core/commands/i386/pc/drivemap.c: Likewise.
7995 * grub-core/commands/i386/pc/lsapm.c: Likewise.
7996 * grub-core/commands/i386/pc/sendkey.c: Likewise.
7997 * grub-core/commands/lsmmap.c: Likewise.
7998 * grub-core/commands/menuentry.c: Likewise.
7999 * grub-core/commands/mips/loongson/lsspd.c: Likewise.
8000 * grub-core/commands/setpci.c: Likewise.
8001 * grub-core/loader/i386/bsd.c: Likewise.
8002 * grub-core/loader/i386/linux.c: Likewise.
8003 * util/getroot.c: Likewise.
8004 * util/grub-editenv.c: Likewise.
8005 * util/grub-fstest.c: Likewise.
8006 * util/grub-mkfont.c: Likewise.
8007 * util/grub-mkimage.c: Likewise.
8008 * util/grub-mkpasswd-pbkdf2.c: Likewise.
8009 * util/grub-pe2elf.c: Likewise.
8010 * util/grub-probe.c: Likewise.
8011 * util/grub-setup.c: Likewise.
8012 * util/ieee1275/ofpath.c: Likewise.
8013 * util/misc.c: Likewise.
8014 * util/raid.c: Likewise.
8015
566f779b
RM
80162011-11-11 Robert Millan <rmh@gnu.org>
8017
8018 * util/getroot.c (grub_util_get_geom_abstraction): Remove
8019 __attribute__((unused)) from `os_dev', which *is* being used.
8020
b50787de
VS
80212011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8022
8023 * include/grub/dl.h (GRUB_ARCH_DL_TRAMP_SIZE) [__ia64__]: Add back
8024 forgotten define.
8025 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Redefine in terms of
8026 GRUB_IA64_DL_GOT_ALIGN.
8027 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Redefine in terms of
8028 GRUB_IA64_DL_TRAMP_ALIGN.
8029
119d11c8
VS
80302011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8031
8032 Replace grub_fatal with normal errors in i386 linux loader.
8033
8034 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Return 0 on error.
8035 (allocate_pages): Check find_efi_mmap_size return value.
8036 (grub_e820_add_region): Return error.
8037 (grub_linux_boot): Check mmap return value.
8038
6e0632e2
VS
80392011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8040
8041 * grub-core/commands/acpihalt.c: Gettextized.
8042 * grub-core/commands/cacheinfo.c: Likewise.
8043 * grub-core/commands/cmp.c: Likewise.
8044 * grub-core/commands/efi/loadbios.c: Likewise.
8045 * grub-core/commands/gptsync.c: Likewise.
8046 * grub-core/commands/ieee1275/suspend.c: Likewise.
8047 * grub-core/commands/legacycfg.c: Likewise.
8048 * grub-core/commands/memrw.c: Likewise.
8049 * grub-core/commands/minicmd.c: Likewise.
8050 * grub-core/commands/parttool.c: Likewise.
8051 * grub-core/commands/time.c: Likewise.
8052 * grub-core/commands/videoinfo.c: Likewise.
8053 * grub-core/disk/geli.c: Likewise.
8054 * grub-core/disk/i386/pc/biosdisk.c: Likewise.
8055 * grub-core/disk/luks.c: Likewise.
8056 * grub-core/disk/lvm.c: Likewise.
8057 * grub-core/font/font_cmd.c: Likewise.
8058 * grub-core/fs/zfs/zfscrypt.c: Likewise.
8059 * grub-core/fs/zfs/zfsinfo.c: Likewise.
8060 * grub-core/gfxmenu/view.c: Likewise.
8061 * grub-core/kern/emu/hostdisk.c: Likewise.
8062 * grub-core/kern/emu/main.c: Likewise.
8063 * grub-core/kern/emu/misc.c: Likewise.
8064 * grub-core/kern/emu/mm.c: Likewise.
8065 * grub-core/kern/mips/arc/init.c: Likewise.
8066 * grub-core/kern/mips/loongson/init.c: Likewise.
8067 * grub-core/kern/partition.c: Likewise.
8068 * grub-core/lib/i386/halt.c: Likewise.
8069 * grub-core/lib/mips/arc/reboot.c: Likewise.
8070 * grub-core/lib/mips/loongson/reboot.c: Likewise.
8071 * grub-core/loader/i386/pc/chainloader.c: Likewise.
8072 * grub-core/loader/i386/xnu.c: Likewise.
8073 * grub-core/loader/multiboot.c: Likewise.
8074 * grub-core/net/bootp.c: Likewise.
8075 * grub-core/net/net.c: Likewise.
8076 * grub-core/normal/term.c: Likewise.
8077 * grub-core/partmap/bsdlabel.c: Likewise.
8078 * grub-core/parttool/msdospart.c: Likewise.
8079 * grub-core/term/gfxterm.c: Likewise.
8080 * grub-core/term/terminfo.c: Likewise.
8081 * grub-core/video/i386/pc/vbe.c: Likewise.
8082 * util/grub-menulst2cfg.c: Likewise.
8083 * util/grub-mkdevicemap.c: Likewise.
8084 * util/grub-mklayout.c: Likewise.
8085 * util/grub-mkrelpath.c: Likewise.
8086 * util/grub-script-check.c: Likewise.
8087 * util/ieee1275/grub-ofpathname.c: Likewise.
8088 * util/resolve.c: Likewise.
8089
073aa7a9
VS
80902011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8091
8092 Support %1$d syntax.
8093
8094 * tests/printf_unit_test.c: New file.
8095 * Makefile.util.def (printf_test): New test.
8096 * grub-core/kern/misc.c (grub_vsnprintf_real): Support %1$d syntax.
8097
c76b5417
VS
80982011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8099
8100 * grub-core/hook/datehook.c (grub_read_hook_datetime): Small stylistic
8101 fix.
8102
df067ad1
VS
81032011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8104
8105 * grub-core/efiemu/mm.c (grub_efiemu_mmap_fill): Change printf into
8106 dprintf.
8107 * grub-core/font/font.c (grub_font_load): Likewise.
8108
5b289bc5
VS
81092011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8110
8111 * util/grub-macho2img.c: Add comment concerning gettext.
8112 * grub-core/lib/legacy_parse.c: Likewise.
8113
c1860f87
VS
81142011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8115
8116 * grub-core/kern/misc.c (grub_vprintf): Add missing va_end.
8117 (grub_xvasprintf): Likewise.
8118
d35d0d37
VS
81192011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8120
8121 Add const keyword to grub_env_get and gettextize week days.
8122
8123 * grub-core/hook/datehook.c (grub_datetime_names): Make const.
8124 (grub_read_hook_datetime): Return const char *.
8125 * grub-core/kern/env.c (grub_env_get): Return const char *. All users
8126 updated.
8127 * grub-core/normal/datetime.c (grub_weekday_names): Make const.
8128 Mark for gettext.
8129 (grub_get_weekday_name): Return const char *. Call gettext.
8130 * grub-core/script/argv.c (grub_script_argv_append): Receive const
8131 char * and len as the argument. All users updated.
8132 (grub_script_argv_split_append): Receive const char *.
8133 * include/grub/datetime.h (grub_get_weekday_name): Update proto.
8134 * include/grub/env.h (grub_env_get): Likewise.
8135 (grub_env_read_hook_t): Return const char *.
8136 * include/grub/script_sh.h (grub_script_argv_append): Update proto.
8137 (grub_script_argv_split_append): Likewise.
8138
9aed8a71
VS
81392011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8140
8141 * grub-core/normal/main.c (grub_normal_execute): Remove leftover call.
8142
067fdf00
VS
81432011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8144
8145 * grub-core/kern/misc.c (grub_strstr): Moved from here ...
8146 * include/grub/misc.h (grub_strstr): ... here. Make static and inline.
8147
a8bd9d39
VS
81482011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8149
8150 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_set_property):
8151 Fix prototype.
8152
f7ce5baf
VS
81532011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8154
8155 Fix mips compilation.
8156
8157 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec): Restrict hash_id to
8158 normal decoder.
8159 (hashes): Use in embed decoder as well (for sizes).
8160 (dec_stream_header): Fix embed decompressor logic.
8161 (dec_stream_footer): Likewise.
8162
9bb182f3
VS
81632011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8164
8165 * grub-core/kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Issue
8166 an error and not a fatal on unrecognised relocation types.
8167
63a9e6f6
VS
81682011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8169
8170 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
8171 Issue error rather than printf on unknown arguments.
8172
4c458569
VS
81732011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8174
8175 * grub-core/kern/ieee1275/ieee1275.c (grub_ieee1275_set_property):
8176 Make buf a const.
8177
e2d22baf
VS
81782011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8179
8180 * grub-core/fs/zfs/zfscrypt.c (GRUB_MOD_INIT), (GRUB_MOD_FINI):
8181 Fix module name.
8182
53dc8590
VS
81832011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8184
8185 * grub-core/fs/ntfs.c (grub_ntfs_read_symlink): Stylistic fix. Remove
8186 leftover debug printf.
8187
6c189294
VS
81882011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8189
8190 * grub-core/fs/btrfs.c (grub_btrfs_embed): Spelling fix.
8191
f7688369
VS
81922011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8193
8194 * grub-core/efiemu/main.c (grub_efiemu_register_configuration_table):
8195 A stylistic fix.
8196
11a775a3
VS
81972011-11-11 Vladimir Serbinenko <phcoder@gmail.com>
8198
8199 * grub-core/commands/probe.c (grub_cmd_probe): Fix error message.
8200
33f784e8
SL
82012011-11-10 Shea Levy <slevy@tieronedesign.com>
8202
8203 Allow all modules to perform serial IO
8204
8205 * grub-core/term-serial.c (grub_serial_find): Remove static qualifier
8206 * include/grub/serial.h (grub_serial_port_configure): New inline
8207 function.
8208 (grub_serial_port_fetch): Likewise.
8209 (grub_serial_port_put): Likewise.
8210 (grub_serial_port_fini): Likewise.
8211 (grub_serial_find): New proto.
8212
f6276525
VS
82132011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8214
8215 Put symlink at the end of the node and fix a potential
8216 memory corruption.
8217
8218 * grub-core/fs/iso9660.c (grub_fshelp_node): New field have_symlink.
8219 Make symlink into an array.
8220 (set_rockridge): Set have_symlink and alloc_dirents.
8221 (grub_iso9660_read_symlink): Use new layout.
8222 (grub_iso9660_iterate_dir): Fix memory corruption.
8223 Use new layout.
8224 (grub_iso9660_dir): Set have_symlink.
8225 (grub_iso9660_open): Likewise.
8226
c3591189
VS
82272011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8228
8229 Remove local keyword.
8230
8231 * util/grub-mkconfig_lib.in (version_test_numeric): Remove local.
8232 (version_test_gt): Likewise.
8233 (version_find_latest): Likewise.
8234 (gettext_printf): Likewise.
8235 * util/grub.d/10_windows.in (get_os_name_from_boot_ini): Likewise.
8236
cb544caa
VS
82372011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8238
8239 * grub-core/fs/zfs/zfs.c (zfs_mount): Fix spurious warning.
8240
45bd824d
VS
82412011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8242
8243 Fix ZFS memory and resource leaks.
8244
8245 * grub-core/fs/zfs/zfs.c (fill_vdev_info_real): New paramter inserted.
8246 All users updated.
8247 Free type on exit.
8248 (fill_vdev_info): New parameter inserted. All users updated.
8249 (check_pool_label): Likewise.
8250 (scan_disk): Likewise.
8251 (scan_devices): Close non-inserted disks.
8252 (fzap_iterate): Free l.
8253 (unmount_device): Free children descripto memory.
8254
ad9a2f44
VS
82552011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8256
8257 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Fix grub_strncat
8258 argument (access out of bounds).
8259
6b68db81
VS
82602011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8261
8262 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Fix RAID10 logic for
8263 >= 6 drives.
8264
28840fda
VS
82652011-11-10 Vladimir Serbinenko <phcoder@gmail.com>
8266
8267 * include/grub/i386/netbsd_bootinfo.h (grub_netbsd_btinfo_bootwedge):
8268 Fix declaration.
8269
8a5a3a5b
VS
82702011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8271
8272 Fix several memory leaks.
8273
8274 * grub-core/fs/btrfs.c (grub_btrfs_dir): Fix memory leak.
8275 * grub-core/fs/cpio.c (grub_cpio_find_file): Likewise.
8276 (grub_cpio_dir): Likewise.
8277 * grub-core/fs/fat.c (grub_fat_label): Likewise.
8278 * grub-core/fs/jfs.c (grub_jfs_label): Likewise.
8279 * grub-core/fs/romfs.c (grub_romfs_close): Likewise.
8280 (grub_romfs_label): Likewise.
8281 * grub-core/fs/squash4.c (squash_mount): Use zalloc for safety.
8282 (squash_unmount): New function.
8283 (grub_squash_dir): Fix memory leak.
8284 (grub_squash_open): Likewise.
8285 (grub_squash_read): Likewise.
8286 (grub_squash_mtime): Likewise.
8287 * grub-core/fs/xfs.c (grub_xfs_open): Likewise.
8288 * grub-core/fs/zfs/zfs.c (check_pool_label): Likewise.
8289 * util/grub-fstest.c (fstest): Likewise.
8290
57b01250
VS
82912011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8292
8293 * include/grub/misc.h (grub_strncat): Fix the order of conditionals to
8294 avoid accessing beyond the array.
8295
19e81ba7
VS
82962011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8297
8298 * configure.ac: Add missing -mXX to TARGET_CPPFLAGS.
8299
52b656c0
VS
83002011-11-09 Vladimir Serbinenko <phcoder@gmail.com>
8301
8302 Several AFFS fixes.
8303
8304 * grub-core/fs/affs.c (grub_affs_bblock): Replace flags with version.
8305 (GRUB_AFFS_FLAG_FFS): Removed.
8306 (GRUB_AFFS_SYMLINK_SIZE): Likewise.
8307 (GRUB_AFFS_FILETYPE_DIR): Make positive and unsigned.
8308 (GRUB_AFFS_FILETYPE_DIR), (GRUB_AFFS_FILETYPE_REG): Fix a mix-up.
8309 (grub_fshelp_node): Make block 32-bit.
8310 Add block_cache and last_block_cache.
8311 (grub_affs_read_block): Fill and use block cache.
8312 (grub_affs_read_file): Removed.
8313 (grub_affs_mount): Zero-fill node. Fix version check. Don't reread
8314 boot block.
8315 (grub_affs_read_symlink): Fix symlink size. Add a \0 at the end for
8316 safety.
8317 (grub_affs_iterate_dir): Use more appropriate types. Zero-fill allocated
8318 space.
8319 (grub_affs_close): Free block cache.
8320 (grub_affs_read): Use grub_fshelp_read_file directly.
8321
438a746a
VS
83222011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8323
8324 * grub-core/fs/zfs/zfs.c (read_dva): Issue an error if read failed
8325 with no error set.
8326
49a45021
VS
83272011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8328
8329 * grub-core/lib/LzmaEnc.c (LzmaEnc_CodeOneBlock): Remove set but not
8330 used variable.
8331 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
8332 Likewise.
8333
3ae17eb8
VS
83342011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8335
8336 Fix potential problem with calling zfs_to_cpu and cpu_to_be in a row.
8337
8338 * grub-core/fs/zfs/zfscrypt.c (grub_zfs_decrypt_real): Use explicit
8339 byteswap when needed.
8340
27610c38
VS
83412011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8342
8343 Fix FreeBSD compilation.
8344
8345 * grub-core/disk/geli.c (GRUB_MD_SHA256) [GRUB_UTIL]: Redefine in a way
8346 to avoid circular dependency.
8347 (GRUB_MD_SHA512) [GRUB_UTIL]: Likewise.
8348 * util/getroot.c (grub_util_follow_gpart_up): Move from here...
8349 * grub-core/kern/emu/hostdisk.c (+grub_util_follow_gpart_up): ... here.
8350
4a19b601
VS
83512011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8352
8353 Fix ZFS crypto error types.
8354
8355 * grub-core/fs/zfs/zfscrypt.c (grub_ccm_decrypt): Fix return type.
8356 (grub_gcm_decrypt): Likewise.
8357 (grub_zfs_load_key_real): Fix error code type. Handle possible error
8358 from PBKDF2.
8359
958ee221
VS
83602011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8361
8362 Illumos support.
8363
8364 * Makefile.util.def (10_illumos): New script.
8365 * configure.ac: Set COND_HOST_ILLUMOS.
8366 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__sun__]:
8367 Support Illumos calls.
8368 (find_partition_start) [__sun__]: Likewise.
8369 (convert_system_partition_to_system_disk) [__sun__]: Likewise.
8370 (device_is_wholedisk) [__sun__]: Handle Illumos naming scheme.
8371 (grub_util_biosdisk_get_grub_dev) [__sun__]: Handle Illumos.
8372 * util/getroot.c (find_root_device_from_libzfs) [__sun__]: Return raw
8373 device.
8374 * util/grub-probe.c (probe) [__sun__]: Do character check.
8375 * util/grub.d/10_illumos.in: New file.
8376
cac14fb6
VS
83772011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8378
8379 Support escaped commas in hostdisk.
8380
8381 * grub-core/kern/emu/hostdisk.c (unescape_cmp): New function.
8382 (find_grub_drive): Use unescape_cmp.
8383 (make_device_name): Escape commas.
8384
78e08dc3
VS
83852011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8386
8387 * util/grub.d/10_kfreebsd.in: Use ${grub_mkrelpath} not grub-mkrelpath.
8388
9f421dd1
VS
83892011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8390
8391 * grub-core/fs/zfs/zfs.c (zap_iterate): Remove set but not used
8392 variable.
8393
ed64e9e2
VS
83942011-11-08 Vladimir Serbinenko <phcoder@gmail.com>
8395
8396 Support trampoline jumps on powerpc.
8397
8398 * grub-core/kern/dl.c (grub_dl_load_segments) [__powerpc__]: Follow
8399 __ia64__ path.
8400 (grub_dl_load_segments): Set mod->sz.
8401 (grub_dl_flush_cache): Flush whole space occupied by module, not just
8402 segments.
8403 * grub-core/kern/ia64/dl.c (nopm): Make const while on it.
8404 (jump): Likewise.
8405 * grub-core/kern/powerpc/dl.c (grub_arch_dl_get_tramp_got_size): New
8406 function.
8407 (trampoline): New struct.
8408 (trampoline_template): New const.
8409 (grub_arch_dl_relocate_symbols): Create trampolines on overflow.
8410 * include/grub/dl.h (grub_dl): Add sz element.
8411 [__powerpc__]: Follow __ia64__.
8412 (GRUB_ARCH_DL_TRAMP_ALIGN): Define on ppc.
8413 (GRUB_ARCH_DL_GOT_ALIGN): Likewise.
8414 (GRUB_ARCH_DL_TRAMP_SIZE): Likewise.
8415 (grub_arch_dl_get_tramp_got_size) [__powerpc__]: New proto.
8416
3084ede4
VS
84172011-11-06 Vladimir Serbinenko <phcoder@gmail.com>
8418
8419 ZFS crypto support.
8420
8421 * Makefile.util.def (libgrubmods): Add grub-core/fs/zfs/zfscrypt.c.
8422 * grub-core/Makefile.core.def (zfscrypt): New module.
8423 * grub-core/fs/zfs/zfs.c (subvolume): New structure.
8424 (grub_zfs_data): Replace mdn with subvol. Put case_insensitivity inside
8425 it. All users updated.
8426 (grub_zfs_decrypt): New var.
8427 (grub_zfs_load_key): Likewise.
8428 (zio_checksum_functions): Add SHA256+MAC.
8429 (zio_checksum_verify): Handle incomplete comparison due to MAC.
8430 (zio_read): Handle encrypted blocks.
8431 (zap_verify): Remove incorrect check.
8432 (fzap_iterate): Handle non-standard fzap.
8433 (zap_iterate): Likewise.
8434 (zap_iterate_u64): New function.
8435 (dnode_get_fullpath): Load keys.
8436 * grub-core/fs/zfs/zfscrypt.c: New file.
8437 * grub-core/lib/crypto.c (grub_crypto_cipher_close): Removed.
8438 (grub_crypto_ecb_encrypt): Make input const.
8439 * include/grub/crypto.h (grub_crypto_cipher_close): Inline.
8440 (grub_crypto_ecb_encrypt): Make input const.
8441 (GRUB_CIPHER_AES): New macro.
8442 * include/grub/zfs/dmu.h (dmu_object_type): Add DMU_OT_DSL_KEYCHAIN.
8443 * include/grub/zfs/dsl_dir.h (dsl_dir_phys): Add keychain.
8444 * include/grub/zfs/spa.h (grub_zfs_endian): Moved from here ...
8445 * include/grub/zfs/zfs.h (grub_zfs_endian): ... here. Added GURB_ZFS_
8446 prefix. All users updated.
8447 (grub_zfs_add_key): New proto.
8448 (grub_zfs_decrypt): Likewise.
8449 (grub_zfs_load_key): Likewise.
8450 * include/grub/zfs/zio.h (zio_checksum): Add SHA256+MAC.
8451 * util/grub-fstest.c (options): Add -K option.
8452 (argp_parser): Likewise.
8453
b632b404
VS
84542011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
8455
8456 Support zle compression on ZFS.
8457
8458 * grub-core/fs/zfs/zfs.c (zle_decompress): New function.
8459 (decomp_table): Add zle.
8460 * include/grub/zfs/zio.h (zio_compress): Add zle.
8461
c7ba4f69
VS
84622011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
8463
8464 Support BtrFS embedding.
8465
8466 * grub-core/fs/btrfs.c (grub_btrfs_embed) [GRUB_UTIL]: New function.
8467 (grub_btrfs_fs) [GRUB_UTIL]: Set embed.
8468 * include/grub/fs.h (grub_fs) [GRUB_UTIL]: New field embed.
8469 * util/grub-setup.c (setup): Use fs embedding if available.
8470 Add additional sanity check.
8471
455377d9
VS
84722011-11-05 Vladimir Serbinenko <phcoder@gmail.com>
8473
8474 * util/grub-install.in: Fix condition for config_opt.
8475
c2fd16ca
VS
84762011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8477
8478 Support third redundancy strip on raidz3.
8479
8480 * grub-core/fs/zfs/zfs.c (recovery): Add Gauss for general case.
8481 Return error on singularity. All users updated.
8482 (read_device): Don't stop on 3rd failure on raidz3.
8483
8622923b
VS
84842011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8485
8486 Support case-insensitive ZFS subvolumes.
8487
8488 * grub-core/fs/zfs/zfs.c (mzap_lookup): New parameter case_insensitive.
8489 All users updated.
8490 (zap_hash): Likewise.
8491 (name_cmp): New function.
8492 (zap_leaf_array_equal): New parameter case_insensitive.
8493 All users updated.
8494 (zap_leaf_lookup): Likewise.
8495 (fzap_lookup): Likewise.
8496 (zap_lookup): Likewise.
8497 (dnode_get_path): New parameter case_insensitive. Retrieve case
8498 sensitiviness of a volume. All users updated.
8499 (dnode_get_fullpath): New parameter case_insensitive.
8500 All users updated.
8501 (grub_zfs_dir): Set info.case_insensitiveness.
8502
95f2e860
VS
85032011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8504
8505 Support second redundancy strip on raidz(2,3).
8506
8507 * grub-core/fs/zfs/zfs.c (powx): New array.
8508 (powx_inv): Likewise.
8509 (poly): New const.
8510 (xor_out): New function.
8511 (gf_mul): Likewise.
8512 (recovery): Likewise.
8513 (read_device): Use second redundancy strip.
8514
11ee4389
VS
85152011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8516
8517 Use a power of generator representation of GF(256) multiplication group
8518 to save space time and complexity.
8519
8520 * grub-core/disk/raid6_recover.c (raid6_table1): Removed.
8521 (raid6_table2): Likewise.
8522 (powx): New array.
8523 (powx_inv): Likewise.
8524 (poly): New const.
8525 (grub_raid_block_mul): Replace with ...
8526 (grub_raid_block_mulx): ...this.
8527 (grub_raid6_init_table): Rewritten.
8528 (grub_raid6_recover): Use power of generator representation.
8529
09e2763f
VS
85302011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8531
8532 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Get start_sector
8533 for the right device.
8534
8bec9a28
VS
85352011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8536
8537 * include/grub/kernel.h (grub_module_header): Make type into uint32 as
8538 expected by grub-mkimage and it's more clear since there is no implicit
8539 padding.
8540
dbd3a32e
VS
85412011-11-04 Vladimir Serbinenko <phcoder@gmail.com>
8542
8543 * grub-core/disk/raid.c (scan_devices): Don't derference NULL on whole
8544 disk.
8545 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
8546
182c872a
PMH
85472011-11-03 Philipp Matthias Hahn <pmhahn@debian.org>
8548
8549 * util/grub-mkrescue.in: Fix handling xorriso option.
8550
1e51cabd
VS
85512011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8552
8553 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Exit if local is
8554 NULL.
8555
9cc3581d 85562011-11-03 crocket <crockabiscuit@gmail.com>
8557
8558 * util/grub.d/10_linux.in: Add Slackware initrd naming.
8559
158dc1ea
VS
85602011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8561
8562 XZ CRC64 and SHA256 support.
8563
8564 * Makefile.util.def (libgrubmods): Add crc64.c.
8565 * grub-core/Makefile.core.def (crc64): New module.
8566 * grub-core/lib/crc64.c: New file.
8567 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_hash)
8568 [!GRUB_EMBED_DECOMPRESSOR]: Rename crc32_context to hash_context.
8569 Fix the type.
8570 (MAX_HASH_SIZE): New define.
8571 (xz_dec) [!GRUB_EMBED_DECOMPRESSOR]: Add generic hash fields.
8572 (dec_block) [!GRUB_EMBED_DECOMPRESSOR]: Handle non-crc32 hashes.
8573 (index_update) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
8574 (dec_index) [!GRUB_EMBED_DECOMPRESSOR]: Likewise.
8575 (crc32_validate) [!GRUB_EMBED_DECOMPRESSOR]: Rename to ...
8576 (hash_validate) [!GRUB_EMBED_DECOMPRESSOR]: ... this.
8577 Handle non-crc32 hashes.
8578 (hashes) [!GRUB_EMBED_DECOMPRESSOR]: New variable.
8579 (dec_stream_header): Handle non-crc32 hashes.
8580 (dec_stream_footer): Likewise.
8581 (dec_block_header): Likewise.
8582 (dec_main): Likewise.
8583 (xz_dec_init): Likewise.
8584 (xz_dec_reset): Likewise.
8585 (xz_dec_end): Likewise.
8586 * util/import_gcry.py: Add CRC64 line.
8587
9d9b3d2f
VS
85882011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8589
8590 * grub-core/fs/ufs.c (grub_ufs_mtime) [MODE_UFS2]: Check mtime field
8591 as well.
8592
7d0ac931
VS
85932011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8594
8595 Make reiserfs label retrieval similar to other *_label functions.
8596
8597 * grub-core/fs/reiserfs.c (grub_reiserfs_superblock): New field label.
8598 (REISERFS_MAX_LABEL_LENGTH): Removed.
8599 (REISERFS_LABEL_OFFSET): Likewise.
8600 (grub_reiserfs_label): Rewritten.
8601
86022011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8603
8604 * grub-core/fs/nilfs2.c (grub_nilfs2_mtime): Use correct superblock
8605 field.
8606
cf5ba824
VS
86072011-11-03 Vladimir Serbinenko <phcoder@gmail.com>
8608
8609 * grub-core/fs/zfs/zfs.c (read_device): Support raidz3.
8610
17744004
VS
86112011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
8612
8613 * grub-core/fs/zfs/zfs.c (read_device): Add ability to sustain a single
8614 drive failure on both raidz and raidz2.
8615
aca5aefc
VS
86162011-11-02 Vladimir Serbinenko <phcoder@gmail.com>
8617
8618 Fix RAIDZ(2) for >= 5 devices.
8619
8620 * grub-core/fs/zfs/zfs.c (read_device): Fix length formula. Remove
8621 asize argument. All users updated.
8622
ce8ca56e
VS
86232011-11-01 Vladimir Serbinenko <phcoder@gmail.com>
8624
8625 Fix RAIDZ(2).
8626
8627 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New member ashift.
8628 (fill_vdev_info_real): Set ashift.
8629 (read_device): Rewrite RAIDZ part based on reverse engineering.
8630
7c01e783
VS
86312011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
8632
8633 * grub-core/fs/btrfs.c (grub_btrfs_extent_read): Add sanity check and
8634 don't report potentially unavialiable fields in debug output.
8635 (find_path): Fix double-free and memory leak.
8636
ce109e84
VS
86372011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
8638
8639 Read label on UFS1.
8640
8641 * grub-core/fs/ufs.c (grub_ufs_label): Remove MODE_UFS2 condition.
8642 (grub_ufs_fs): Always set .label.
8643
87661123
VS
86442011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
8645
8646 Use shifts in UFS.
8647
8648 * grub-core/fs/ufs.c (UFS_LOG_BLKSZ): New macro.
8649 (grub_ufs_data): New field log2_blksz.
8650 (grub_ufs_read_file): Use shifts.
8651 (grub_ufs_mount): Check block size and logarithm it.
8652
46bc1dc2
VS
86532011-10-31 Vladimir Serbinenko <phcoder@gmail.com>
8654
8655 * grub-core/fs/ufs.c (grub_ufs_lookup_symlink): Fix handling of
8656 long symlinks.
8657
19ee2987
VS
86582011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8659
8660 Handle symlinks and long names on tar and cpio.
8661
8662 * grub-core/fs/cpio.c (ATTR_TYPE): New definition.
8663 (ATTR_FILE): Likewise.
8664 (ATTR_DIR): Likewise.
8665 (ATTR_LNK): Likewise.
8666 (grub_cpio_data) [MODE_USTAR]: New fields linkname and linkname_alloc.
8667 (grub_cpio_find_file): Fill mode, handle linkname field as well as
8668 L and K entries.
8669 (grub_cpio_mount): Zero-fill data.
8670 (handle_symlink): New function.
46bc1dc2
VS
8671 (grub_cpio_dir): Handle symlinks.
8672 (grub_cpio_open): Likewise.
8673 (grub_cpio_close) [MODE_USTAR]: Free linkname.
19ee2987 8674
c83a08d8
VS
86752011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8676
8677 Fix iso9660 filename limitations and fix memory leaks.
8678
8679 * grub-core/fs/iso9660.c (set_rockridge): Free sua at the end.
8680 (grub_iso9660_iterate_dir): Fix slash handling in symlinks.
8681
45cdd3ea
VS
86822011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8683
8684 Fix JFS file name length limitations.
8685
8686 * grub-core/fs/jfs.c (grub_jfs_inode): Fix in-place symlink length.
8687 (grub_jfs_diropen): Fix maximum filename length.
8688 (grub_jfs_getent): Fix filename length.
8689 (grub_jfs_lookup_symlink): Fix size checks.
8690
94ef05c2
VS
86912011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8692
8693 * grub-core/loader/mips/linux.c (loongson_machtypes): Fix fuloong type
8694 string.
8695
785ab8c7
VS
86962011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8697
eb0b6b45
VS
8698 Leverage BFS implementation to read AFS.
8699
8700 * Makefile.util.def (libgrubmods): Add afs.c.
8701 * grub-core/Makefile.core.def (afs): New module
8702 * grub-core/fs/afs.c: New file.
8703 * grub-core/fs/bfs.c [MODE_AFS]: Adapt for AFS.
8704
87052011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8706
8707 * grub-core/fs/bfs.c: Macroify and add some necessary sanity checks.
785ab8c7 8708
c4a1628f
VS
87092011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8710
8711 * grub-core/fs/bfs.c: Run indent.
8712
5825b379
VS
87132011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8714
8715 BFS implementation based on the specification.
8716
8717 * grub-core/fs/bfs.c: New file.
8718 * Makefile.util.def (libgrubmods): Add bfs.c.
8719 * grub-core/Makefile.core.def (bfs): New module.
8720
42b2a706
VS
87212011-10-30 Vladimir Serbinenko <phcoder@gmail.com>
8722
8723 * util/grub-fstest.c (cmd_cp): Clarify error message.
8724 (cmd_cmp): Likewise.
8725
61b99bfc
YB
87262011-10-30 Yves Blusseau <blusseau@zetam.org>
8727
8728 * po/POTFILES.in: Regenerate because of the removal of afs, afs_be, befs
8729 and befs_be.
8730
faba3d16
VS
87312011-10-29 Vladimir Serbinenko <phcoder@gmail.com>
8732
8733 Remove afs and befs because of copyright problem.
8734
8735 * grub-core/fs/afs.c: Removed.
8736 * grub-core/fs/afs_be.c: Removed.
8737 * grub-core/fs/befs.c: Removed.
8738 * grub-core/fs/befs_be.c: Removed.
8739 * Makefile.util.def (libgrubkern): Remove afs, afs_be, befs and befs_be.
8740 * grub-core/Makefile.core.def (afs): Removed.
8741 (afs_be): Likewise.
8742 (befs): Likewise.
8743 (befs_be): Likewise.
8744
c39224b0
VS
87452011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8746
8747 Prefer rockridge over Joliet.
8748
8749 * grub-core/fs/iso9660.c (grub_iso9660_mount): Move rockridge detection
8750 to ...
8751 (set_rockridge): ... here.
8752 (grub_iso9660_mount): Check rockridge on the primary label when
8753 discovering. Ignore Joliet if Rockridge is present.
8754
e551115a
VS
87552011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8756
8757 Use shifts in nilfs2.
8758
8759 * grub-core/fs/nilfs2.c (LOG_INODE_SIZE): New definition.
8760 (LOG_NILFS_DAT_ENTRY_SIZE): Likewise.
8761 (grub_nilfs2_palloc_entries_per_group): Replace with ...
8762 (grub_nilfs2_log_palloc_entries_per_group): ... this.
8763 (grub_nilfs2_palloc_group): Use shifts and bitmasks.
8764 (grub_nilfs2_entries_per_block): Replaced with ...
8765 (grub_nilfs2_log_entries_per_block_log): ... this.
8766 (grub_nilfs2_blocks_per_group): Replaced with ...
8767 (grub_nilfs2_blocks_per_group_log): ... this.
8768 (grub_nilfs2_blocks_per_desc_block): Replaced with ...
8769 (grub_nilfs2_blocks_per_desc_block_log): ... this.
8770 (grub_nilfs2_palloc_desc_block_offset): Replaced with ...
8771 (grub_nilfs2_palloc_desc_block_offset_log): ... this.
8772 (grub_nilfs2_palloc_entry_offset): Replaced ...
8773 (grub_nilfs2_palloc_entry_offset_log): ... this. Use shifts.
8774 (grub_nilfs2_dat_translate): Use shifts.
8775 (grub_nilfs2_read_inode): Likewise.
8776 (GRUB_MOD_INIT): Ensure that logs are correct.
8777
564dd58c
VS
87782011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8779
8780 Use shifts in minix filesystem.
8781
8782 * grub-core/fs/minix.c (GRUB_MINIX_ZONESZ): Use log_block_size.
8783 (GRUB_MINIX_ZONE2SECT): Likewise.
8784 (grub_minix_data): Replace block_size with log_block_size.
8785 (grub_minix_read_file): Use shifts.
8786 (grub_minix_mount): Check block size and take a logarithm.
8787
ed9ba06d
VS
87882011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8789
8790 Use shifts in squash4.
8791
8792 * grub-core/fs/squash4.c (grub_squash_data): New field log2_blksz.
8793 (squash_mount): Check block size and take logarithm.
8794 (direct_read): Use shifts.
8795
ad03fe76
VS
87962011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8797
8798 Correct befs block counting logic.
8799
8800 * grub-core/fs/afs.c (GRUB_AFS_BLOCKS_PER_DI_RUN): Replaced with...
8801 (GRUB_AFS_LOG_BLOCKS_PER_DI_RUN): ... this.
8802 (GRUB_AFS_BLOCKRUN_LOG_SIZE): New definition.
8803 (grub_afs_read_inode): Use block_shift.
8804 (RANGE_SHIFT): New definition.
8805 (grub_afs_read_block): Account for RANGE_SHIFT, emit errors on
8806 unexpected conditions, use shifts and appropriate types.
8807 (GRUB_MOD_INIT): Check the value of GRUB_AFS_BLOCKRUN_LOG_SIZE.
8808
6563f63d
VS
88092011-10-28 Vladimir Serbinenko <phcoder@gmail.com>
8810
8811 * grub-core/disk/raid.c (scan_devices): Check partition.
8812 * grub-core/disk/lvm.c (do_lvm_scan): Likewise.
8813
5b1ae25f
VS
88142011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
8815
8816 Support BFS (befs) UUID.
8817
8818 * grub-core/fs/afs.c (grub_afs_inode): Make small_data zero-size.
8819 (grub_afs_small_data_element_header): New struct.
8820 (grub_afs_read_inode): Read complete inode. Fix ino type while on it.
8821 (grub_afs_read_attribute) [MODE_BFS]: New function.
8822 (grub_afs_iterate_dir): Allocate for complete inode.
8823 (grub_afs_mount): Likewise.
8824 (grub_afs_uuid) [MODE_BFS]: New function.
8825 (grub_afs_fs) [MODE_BFS]: Add .uuid.
8826
f8d82408
VS
88272011-10-27 Vladimir Serbinenko <phcoder@gmail.com>
8828
8829 * grub-core/fs/zfs/zfs.c (read_device): Silence spurious warning.
8830 (zfs_unmount): Fix memory leak.
8831
5773fb64
VS
88322011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8833
8834 Support NTFS reparse points.
8835
8836 * grub-core/fs/ntfs.c (list_file): Set symlink type when appropriate.
8837 (symlink_descriptor): New struct.
8838 (grub_ntfs_read_symlink): New function.
8839 (grub_ntfs_iterate_dir): Use grub_ntfs_read_symlink.
8840 (grub_ntfs_open): Likewise.
8841
91c3fdde
VS
88422011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8843
8844 * include/grub/ntfs.h: Add GRUB_NTFS_ prefix. All users updated.
8845
3be82e10
VS
88462011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8847
8848 fstest xnu_uuid subcommand.
8849
8850 * grub-core/commands/xnu_uuid.c (libgrubkrn): Add
8851 grub-core/commands/xnu_uuid.c.
8852 * util/grub-fstest.c (CMD_XNU_UUID): New enum value.
8853 (fstest): Handle xnu_uuid.
8854 (options): Document xnu_uuid.
8855 (argp_parser): Parse xnu_uuid.
8856
8e32442e
VS
88572011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8858
8859 * grub-core/commands/xnu_uuid.c (grub_cmd_xnu_uuid): Support
8860 -l argument. Add newline at the end if printing.
8861 (GRUB_MOD_INIT): Document -l.
8862
52a05075
VS
88632011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8864
8865 * grub-core/fs/nilfs2.c (grub_nilfs2_uuid): Add missing field length.
8866
1869edb5
VS
88672011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8868
8869 ZFS multi-device and version 33 support.
8870
8871 * Makefile.util.def (libgrubkern): Add grub-core/fs/zfs/zfsinfo.c.
8872 * grub-core/fs/zfs/zfs.c (grub_zfs_device_desc): New struct.
8873 (grub_zfs_data): Add multidev-ice-related fields.
8874 (zio_checksum_verify): Zero-pad printed values. Print checksum name.
8875 (dva_get_offset): Make dva const.
8876 (zfs_fetch_nvlist): New function.
8877 (fill_vdev_info_real): Likewise.
8878 (fill_vdev_info): Likewise.
8879 (check_pool_label): Likewise.
8880 (scan_disk): Likewise.
8881 (scan_devices): Likewise.
8882 (read_device): Likewise.
8883 (read_dva): Likewise.
8884 (zio_read_gang): Use read_dva.
8885 (zio_read_data): Likewise.
8886 (zap_leaf_lookup): Add missing endian conversion.
8887 (zap_verify): Add missing endian conversion. All users updated.
8888 (fzap_lookup): Likewise.
8889 (fzap_iterate): Likewise.
8890 (dnode_get_path): Handle SA bonus.
8891 (nvlist_find_value): Make input const. All users updated.
8892 (unmount_device): New function.
8893 (zfs_unmount): Use unmount_device.
8894 (zfs_mount): Use scan_disk.
8895 (zfs_mtime): New function.
8896 (grub_zfs_open): Handle system attributes.
8897 (fill_fs_info): Likewise.
8898 (grub_zfs_dir): Likewise.
8899 (grub_zfs_fs): Add mtime.
8900 * grub-core/fs/zfs/zfsinfo.c (print_vdev_info): Add missing return.
8901 * include/grub/zfs/sa_impl.h (SA_TYPE_OFFSET): New definition.
8902 (SA_MTIME_OFFSET): Likewise.
8903 (SA_SYMLINK_OFFSET): Likewise.
8904 * include/grub/zfs/zfs.h (SPA_VERSION): Increase to 33.
8905 * util/grub-fstest.c (CMD_ZFSINFO): New enum value.
8906 (fstest): Support zfsinfo.
8907 (argp_parser): Likewise.
8908
186b4028
VS
89092011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
8910
8911 * include/grub/datetime.h (grub_datetime2unixtime): Fix off-by-one
8912 error.
8913
89142011-10-26 Vladimir Serbinenko <phcoder@gmail.com>
5587329c
VS
8915
8916 ZFS fixes.
8917
8918 * grub-core/fs/zfs/zfs.c (fzap_iterate): Fix handling of indexes
8919 sharing the same block. Iterate over correct number of indices.
8920 (dnode_get_path): Handle symlinks correctly.
8921
c0584900
VS
89222011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8923
8924 * grub-core/fs/jfs.c (grub_jfs_sblock): Fix offset to volname.
8925
67e2bd71
VS
89262011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8927
8928 Read label on HFS+.
8929
8930 * grub-core/fs/hfsplus.c (grub_hfsplus_cmp_catkey_id): New function.
8931 (grub_hfsplus_btree_search): Fix types.
8932 (grub_hfsplus_label): Implement.
8933
e9cc6b7b
VS
89342011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8935
8936 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Fix a memory leak.
8937
19832ddb
VS
89382011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8939
8940 * grub-core/fs/fat.c (grub_fat_uuid): Make uppercase to match Linux.
8941
66b40850
VS
89422011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8943
8944 Fix symlink handling on iso9660.
8945
8946 * grub-core/fs/iso9660.c (grub_fshelp_node): Remove dir_off. Add symlink
8947 All users updated.
8948 (grub_iso9660_susp_iterate): Accept zero-size iterate.
8949 (grub_iso9660_read_symlink): Moved most of code ...
8950 (grub_iso9660_iterate_dir): ... here. Fill node->symlink.
8951
db821363
VS
89522011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8953
8954 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
8955 Use union to avoid breaking strict-aliasing rules.
8956
e1211949
VS
89572011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8958
8959 Support multi-extent iso files.
8960
8961 * grub-core/fs/iso9660.c (grub_iso9660_data): Remove first_sector.
8962 Add node.
8963 (grub_fshelp_node): Revamp. All users updated.
8964 (FLAG_*): New enum.
8965 (read_node): New function.
8966 (grub_iso9660_susp_iterate): Use read_node. Receive a node as argument.
8967 All users updated.
8968 (grub_iso9660_mount): Don't attempt to read sua when there is none.
8969 (get_node_size): New function.
8970 (grub_iso9660_iterate_dir): Use read_node. Agglomerate multi-extent
8971 entries.
8972 Fix memory leak on . and ..
8973 (grub_iso9660_read): Use read_node.
8974 (grub_iso9660_close): Free node.
8975
d4888031
VS
89762011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8977
8978 Fix tar 4G limit and handle paths containing dot.
8979
8980 * grub-core/fs/cpio.c (grub_cpio_data): Use grub_off_t for offsets.
8981 (canonicalize): New function.
8982 (grub_cpio_find_file): Use canonicalize. Store offs in
8983 grub_disk_addr_t.
8984 (grub_cpio_dir): Use grub_disk_addr_t.
8985 (grub_cpio_open): Likewise.
8986
9f12e664
VS
89872011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
8988
8989 Fix handling of uncompressed blocks on squashfs and break 4G limit.
8990
8991 * grub-core/fs/squash4.c (grub_squash_super): Add block_size. Remove
8992 unused flags.
8993 (grub_squash_inode): Add long_file and block_size.
8994 (grub_squash_cache_inode): New struct.
8995 (grub_squash_dirent): Make types into enum.
8996 (SQUASH_TYPE_LONG_REGULAR): New type.
8997 (grub_squash_frag_desc): Add field size.
8998 (SQUASH_BLOCK_FLAGS): New enum.
8999 (grub_squash_data): Use grub_squash_cache_inode.
9000 (grub_fshelp_node): Make ino_chunk 64-bit.
9001 (read_chunk): Minor argument change. All users updated.
9002 (squash_mount): Use correct le_to_cpu.
9003 (grub_squash_open): Handle LONG_REGULAR.
9004 (direct_read): New function.
9005 (grub_squash_read_data): Handle blocks correctly.
9006
9f326fba
VS
90072011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9008
9009 * grub-core/kern/disk.c (grub_disk_read_small): Fix memory leak.
9010
f4d9b64b
VS
90112011-10-25 Vladimir Serbinenko <phcoder@gmail.com>
9012
9013 * grub-core/fs/romfs.c (grub_romfs_open): Add missing return.
9014
5bbd28b8
VS
90152011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
9016
9017 Fix 2G limit on ZFS.
9018
9019 * grub-core/fs/zfs/zfs.c (zio_checksum_verify): Use more appropriate
9020 types.
9021 (uberblock_verify): Likewise.
9022 (dmu_read): Likewise.
9023 (grub_zfs_read): Likewise. Remove invalid cast.
9024
68c72069
VS
90252011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
9026
9027 * grub-core/fs/jfs.c (grub_jfs_blkno): Use more appropriate types.
9028 (grub_jfs_blkno): Fix incorrect shift.
9029 (grub_jfs_read_file): Use more appropriate types.
9030
6e536dc8
VS
90312011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
9032
9033 Support triple indirect on minix2 and minix3.
9034
9035 * grub-core/fs/minix.c (grub_minix_inode) [MODE_MINIX2 || MODE_MINIX3]:
9036 Declare triple_indir_zone.
9037 (grub_minix_get_file_block) [MODE_MINIX2 || MODE_MINIX3]: Handle triple
9038 indirect.
9039
e0864e7a
VS
90402011-10-24 Vladimir Serbinenko <phcoder@gmail.com>
9041
9042 Minix FS fixes.
9043
9044 * grub-core/fs/minix.c (GRUB_MINIX_INODE_SIZE): Size is always 32-bit.
9045 (grub_minix_inode) [!MODE_MINIX2 && !MODE_MINIX3]: Make size 32-bit.
9046 Rename ctime to mtime. All users updated.
9047 (grub_minix_get_file_block): Fix types and double indirect computations.
9048
89481cab
VS
90492011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9050
9051 * grub-core/fs/fat.c (grub_fat_label) [MODE_EXFAT]: Set *label to 0
9052 if no label is found.
9053 (grub_fat_iterate_dir): Fix file size type.
9054 (grub_fat_iterate_dir): Likewise.
9055
f646e143
VS
90562011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9057
9058 * grub-core/lib/reed_solomon.c (gf_invert): Declare as const and
9059 save some space.
9060 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
9061 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
9062
534d769e
VS
90632011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9064
9065 * util/import_gcry.py: Automatically fix camellia.c and camellia.h.
9066
e084ba18
VS
90672011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9068
9069 * util/import_gcry.py: Accept space between # and include.
9070
3471ecdf
VS
90712011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9072
9073 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/longjmp.S.
9074
124df5f6
VS
90752011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9076
9077 Fine grainely disable warnings on lexer. Remove Wno-error on it.
9078
9079 * grub-core/Makefile.core.def (normal): Remove -Wno-error.
9080 * grub-core/script/lexer.c: Declare yytext_ptr to avoid having
9081 yylex_strncpy.
9082 * grub-core/script/yylex.l: Add fine-grained #pragma.
9083
4defb8d5
VS
90842011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9085
9086 * grub-core/lib/posix_wrap/string.h (memcpy) [GRUB_UTIL]:
9087 New inline function.
9088 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (memcpy) [GRUB_UTIL]:
9089 Likewise.
9090 (memset) [GRUB_UTIL]: Likewise.
9091 (memcmp) [GRUB_UTIL]: Likewise.
9092
4e94ae65
VS
90932011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9094
9095 * include/grub/misc.h (grub_memcpy): Declare grub_memcpy with static
9096 inline function rather than a define.
9097
18c575e5
VS
90982011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9099
9100 * util/grub-setup.c: Add missing include.
9101
f8bc22a8
VS
91022011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9103
9104 * util/ieee1275/grub-ofpathname.c: Add missing include.
9105
3ce69fc9
VS
91062011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9107
9108 * grub-core/kern/i386/pc/startup.S (grub_exit): Add missing zeroing-out.
9109 * grub-core/lib/i386/reboot_trampoline.S (grub_reboot_start):
9110 Likewise.
9111
d1e293bb
VS
91122011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9113
9114 * grub-core/io/lzopio.c (test_header): Fix incorrect memcmp instead of
9115 grub_memcmp usage.
9116
7a5c54a4
VS
91172011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
9118
9119 * util/grub-install.in: Add datarootdir as per automake manual
9120 suggestion.
9121 * util/grub-mknetdir.in: Likewise.
9122
91232011-10-23 Vladimir Serbinenko <phcoder@gmail.com>
7bec1053
VS
9124
9125 * util/grub.d/10_hurd.in: Add datarootdir as per automake manual
9126 suggestion.
9127 * util/grub.d/10_kfreebsd.in: Likewise.
9128 * util/grub.d/10_linux.in: Likewise.
9129 * util/grub.d/10_netbsd.in: Likewise.
9130 * util/grub.d/10_windows.in: Likewise.
9131 * util/grub.d/20_linux_xen.in: Likewise.
9132
766f7d08
VS
91332011-10-20 Vladimir Serbinenko <phcoder@gmail.com>
9134
9135 Remove redundant grub_kernel_image_size.
9136
9137 * grub-core/kern/i386/coreboot/init.c (grub_machine_init): Use
9138 _edata and _start.
9139 * grub-core/kern/i386/coreboot/startup.S: Move multiboot header after
9140 the small code. It moves it only by few bytes but simplifies the code.
9141 * grub-core/kern/i386/pc/init.c (grub_machine_init): Use _edata and
9142 _start.
9143 * grub-core/kern/i386/pc/startup.S: Use _edata and _start.
9144 (grub_kernel_image_size): Removed.
9145 * grub-core/kern/i386/qemu/startup.S: Use _edata and _start.
9146 (grub_kernel_image_size): Removed.
9147 [APPLE_CC]: Remove apple compiler support. i386-qemu port can't be
9148 compiled with Apple toolchain.
9149 * grub-core/kern/sparc64/ieee1275/crt0.S: Remove leftover fields.
9150 * include/grub/i386/pc/kernel.h (grub_kernel_image_size): Removed.
9151 * include/grub/i386/qemu/kernel.h (grub_kernel_image_size): Removed.
9152 (grub_total_module_size): Likewise.
9153 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_KERNEL_IMAGE_SIZE):
9154 Removed.
9155 (GRUB_KERNEL_I386_PC_COMPRESSED_SIZE): Put it lower.
9156 (GRUB_KERNEL_I386_PC_INSTALL_DOS_PART): Likewise.
9157 (GRUB_KERNEL_I386_PC_INSTALL_BSD_PART): Likewise.
9158 (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY): Likewise.
9159 (GRUB_KERNEL_I386_QEMU_KERNEL_IMAGE_SIZE): Removed.
9160 (GRUB_KERNEL_SPARC64_IEEE1275_KERNEL_IMAGE_SIZE): Likewise.
9161 (GRUB_KERNEL_SPARC64_IEEE1275_COMPRESSED_SIZE): Likewise.
9162 * include/grub/sparc64/ieee1275/kernel.h (grub_kernel_image_size):
9163 Removed.
9164 (grub_total_module_size): Removed.
9165 * util/grub-mkimage.c (image_target_desc): Remove image_size.
9166 (image_targets): Likewise.
9167 Set .compressed_size to no field on sparc.
9168 (generate_image): Remove kernel_image_size handling.
9169
fcf1d672
SJ
91702011-10-19 Szymon Janc <szymon@janc.net.pl>
9171
9172 * grub-core/bus/usb/uhci.c (grub_uhci_setup_transfer): Fix possible
9173 NULL pointer dereference.
9174
de9c615e
VS
91752011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9176
9177 Removed unused GRUB_BOOT_VERSION. Check for kernel version is better
9178 done with a dedicated section.
9179
9180 * grub-core/boot/sparc64/ieee1275/boot.S: Remove GRUB_BOOT_VERSION.
9181 Ensure the correct position of boot_path.
9182 * grub-core/kern/i386/efi/startup.S: Remove GRUB_BOOT_VERSION.
9183 * grub-core/kern/i386/pc/startup.S: Likewise. Ensure correct position of
9184 other fields.
9185 * grub-core/kern/x86_64/efi/startup.S: Remove GRUB_BOOT_VERSION.
9186 * include/grub/boot.h: Removed. All references removed.
9187 * include/grub/sparc64/ieee1275/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
9188 Removed.
9189 (GRUB_BOOT_MACHINE_BOOT_DEVPATH): Make it lower.
9190
e55599dc
VS
91912011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9192
9193 * util/grub-install.in: Declare IEEE1275 as able to find out the disk
9194 name.
9195
36dd20ad
VS
91962011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9197
9198 * grub-core/kern/main.c (grub_set_prefix_and_root): Init prefix.
9199
f8f72eb8
VS
92002011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9201
9202 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_encode_devname):
9203 Don't add the bogus brackets.
9204
a374751b
VS
92052011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9206
9207 ExFAT support.
9208
9209 * Makefile.util.def (libgrubmods.a): Add grub-core/fs/exfat.c.
9210 * grub-core/Makefile.core.def (exfat): New module.
9211 * grub-core/fs/exfat.c: New file.
9212 * grub-core/fs/fat.c (GRUB_FAT_DIR_ENTRY_SIZE): Removed.
9213 (GRUB_FAT_ATTR_*): Make into an enum.
9214 (GRUB_FAT_ATTR_LONG_NAME) [MODE_EXFAT]: Removed.
9215 (GRUB_FAT_ATTR_VALID) [MODE_EXFAT]: Remove GRUB_FAT_ATTR_VOLUME_ID.
9216 (GRUB_FAT_ATTR_VOLUME_ID) [MODE_EXFAT]: Removed.
9217 (GRUB_FAT_MAXFILE): Removed.
9218 (grub_exfat_bpb) [MODE_EXFAT]: New struct.
9219 (grub_current_fat_bpb_t): New type.
9220 (grub_fat_dir_entry) [MODE_EXFAT]: New struct.
9221 (grub_fat_dir_node) [MODE_EXFAT]: New struct.
9222 (grub_fat_dir_node_t): New type.
9223 (grub_fat_data) [MODE_EXFAT]: Remove root_sector and num_root_sectors.
9224 (fat_log2) [MODE_EXFAT]: Removed.
9225 (grub_fat_mount): Use grub_current_fat_bpb_t. Add some sanity checks.
9226 (grub_fat_mount) [MODE_EXFAT]: Handle ExFAT.
9227 (grub_fat_iterate_dir) [MODE_EXFAT]: New function.
9228 (grub_fat_find_dir) [MODE_EXFAT]: Handle ExFAT.
9229 (grub_fat_label) [MODE_EXFAT]: New function.
9230 (grub_fat_fs) [MODE_EXFAT]: Set name to "exfat" and
9231 reserved_first_sector to 0.
9232
544c2487
VS
92332011-10-19 Vladimir Serbinenko <phcoder@gmail.com>
9234
9235 Move grub_reboot out of the kernel.
9236
9237 * grub-core/Makefile.core.def (reboot): Add platform-specific files.
9238 * grub-core/kern/efi/efi.c (grub_reboot): Moved to ...
9239 * grub-core/lib/efi/reboot.c: ... here.
9240 * grub-core/kern/i386/efi/startup.S: Remove including of realmode.S.
9241 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
9242 * grub-core/kern/i386/pc/startup.S (grub_exit): Inline cold_reboot.
9243 * grub-core/kern/i386/realmode.S (grub_reboot): Moved to...
9244 * grub-core/lib/i386/reboot_trampoline.S: ... here.
9245 * grub-core/kern/ieee1275/openfw.c (grub_reboot): Moved to...
9246 * grub-core/lib/ieee1275/reboot.c: ... here.
9247 * grub-core/kern/mips/arc/init.c (grub_reboot): Moved to...
9248 * grub-core/lib/mips/arc/reboot.c: ... here.
9249 * grub-core/kern/mips/loongson/init.c (grub_reboot): Moved to...
9250 * grub-core/lib/mips/loongson/reboot.c: ...here.
9251 * grub-core/kern/mips/qemu_mips/init.c (grub_reboot): Moved to...
9252 * grub-core/lib/mips/qemu_mips/reboot.c: ... here.
9253 * include/grub/emu/misc.h (grub_reboot): New function declaration.
9254 * include/grub/i386/reboot.h: New file.
9255 * include/grub/mips/loongson/ec.h: Fix includes.
9256 * include/grub/mips/qemu_mips/kernel.h (grub_reboot): Removed.
9257 * include/grub/misc.h (grub_reboot): Don't mark as kernel function.
9258 * grub-core/lib/i386/reboot.c: New file.
9259
a97501d2
VS
92602011-10-18 Vladimir Serbinenko <phcoder@gmail.com>
9261
9262 Make grub_prefix into module to fix the arbitrary limit and save
9263 some space.
9264
9265 * grub-core/kern/emu/main.c (grub_prefix): Removed.
9266 * grub-core/kern/i386/coreboot/startup.S (grub_prefix): Likewise.
9267 * grub-core/kern/i386/efi/startup.S (grub_prefix): Likewise.
9268 * grub-core/kern/i386/ieee1275/startup.S (grub_prefix): Likewise.
9269 * grub-core/kern/i386/pc/startup.S (grub_prefix): Likewise.
9270 * grub-core/kern/i386/qemu/startup.S (grub_prefix): Likewise.
9271 * grub-core/kern/ia64/efi/startup.S (grub_prefix): Likewise.
9272 * grub-core/kern/mips/startup.S (grub_prefix): Likewise.
9273 * grub-core/kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
9274 * grub-core/kern/sparc64/ieee1275/crt0.S (grub_prefix): Likewise.
9275 * grub-core/kern/x86_64/efi/startup.S (grub_prefix): Likewise.
9276 * include/grub/ia64/efi/kernel.h: Removed.
9277 * include/grub/kernel.h: New module type OBJ_TYPE_PREFIX.
9278 (grub_prefix): Removed.
9279 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_PREFIX): Removed.
9280 (GRUB_KERNEL_I386_PC_PREFIX_END): Likewise.
9281 (GRUB_KERNEL_I386_QEMU_PREFIX): Likewise.
9282 (GRUB_KERNEL_I386_QEMU_PREFIX_END): Likewise.
9283 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX): Likewise.
9284 (GRUB_KERNEL_SPARC64_IEEE1275_PREFIX_END): Likewise.
9285 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX): Likewise.
9286 (GRUB_KERNEL_POWERPC_IEEE1275_PREFIX_END): Likewise.
9287 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX): Likewise.
9288 (GRUB_KERNEL_MIPS_LOONGSON_PREFIX_END): Likewise.
9289 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
9290 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
9291 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
9292 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
9293 (GRUB_KERNEL_I386_EFI_PREFIX): Likewise.
9294 (GRUB_KERNEL_I386_EFI_PREFIX_END): Likewise.
9295 (GRUB_KERNEL_IA64_EFI_PREFIX): Likewise.
9296 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
9297 (GRUB_KERNEL_X86_64_EFI_PREFIX): Likewise.
9298 (GRUB_KERNEL_X86_64_EFI_PREFIX_END): Likewise.
9299 (GRUB_KERNEL_I386_COREBOOT_PREFIX): Likewise.
9300 (GRUB_KERNEL_I386_COREBOOT_PREFIX_END): Likewise.
9301 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX): Likewise.
9302 (GRUB_KERNEL_I386_MULTIBOOT_PREFIX_END): Likewise.
9303 (GRUB_KERNEL_I386_IEEE1275_PREFIX): Likewise.
9304 (GRUB_KERNEL_I386_IEEE1275_PREFIX_END): Likewise.
9305 (GRUB_KERNEL_MACHINE_PREFIX): Likewise.
9306 (GRUB_KERNEL_MACHINE_PREFIX_END): Likewise.
9307 * grub-core/kern/main.c (grub_set_prefix_and_root): Retrieve grub_prefix
9308 from module.
9309 * util/grub-mkimage.c (image_target_desc): Removed prefix and
9310 prefix_end.
9311 (image_targets): Likewise.
9312 (generate_image): Put prefix as a module.
9313
39705fad
VS
93142011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9315
9316 Replace grub_module_iterate with FOR_MODULES.
9317
9318 * grub-core/disk/memdisk.c (GRUB_MOD_INIT): Switched to new interface.
9319 * grub-core/kern/efi/efi.c (grub_arch_modules_addr): Renamed to...
9320 (grub_efi_modules_addr): ...this.
9321 * grub-core/kern/efi/init.c (grub_modbase): New variable.
9322 (grub_efi_init): Set grub_modbase.
9323 * grub-core/kern/emu/main.c (grub_arch_modules_addr): Removed.
9324 (grub_modbase): New variable.
9325 * grub-core/kern/i386/coreboot/init.c (grub_arch_modules_addr): Removed.
9326 (grub_modbase): New variable.
9327 (grub_machine_init): Set grub_modbase.
9328 * grub-core/kern/i386/pc/init.c (grub_arch_modules_addr): Removed.
9329 (grub_modbase): New variable.
9330 (grub_machine_init): Set grub_modbase.
9331 * grub-core/kern/ieee1275/init.c (grub_arch_modules_addr): Removed.
9332 (grub_modbase): New variable.
9333 (grub_machine_init): Set grub_modbase.
9334 * grub-core/kern/main.c (grub_module_iterate): Remove.
9335 (grub_modules_get_end): Use grub_modbase.
9336 (grub_load_modules): Use FOR_MODULES.
9337 (grub_load_config): Likewise.
9338 * grub-core/kern/mips/arc/init.c (grub_arch_modules_addr): Removed.
9339 (grub_modbase): New variable.
9340 (grub_machine_init): Set grub_modbase.
9341 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): Removed.
9342 (grub_modbase): New variable.
9343 (grub_machine_init): Set grub_modbase.
9344 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr):
9345 Removed.
9346 (grub_modbase): New variable.
9347 (grub_machine_init): Set grub_modbase.
9348 * include/grub/efi/efi.h (grub_efi_modules_addr): New declaration.
9349 * include/grub/kernel.h (grub_arch_modules_addr): Removed.
9350 (grub_module_iterate): Likewise.
9351 (grub_modbase): New variable declaration.
9352 (FOR_MODULES): New macro.
9353
2afb7f6c
VS
93542011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9355
9356 * configure.ac: Check for __ctzdi2 and __ctzsi2.
9357 * include/grub/libgcc.h: Include __ctzdi2 and __ctzsi2 if present.
9358
366e34fa
VS
93592011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9360
9361 Fix few obvious type discrepancies.
9362
9363 * grub-core/fs/affs.c (grub_affs_read_file): Use grub_off_t for offset.
9364 * grub-core/fs/afs.c (grub_afs_read_file): Likewise.
9365 * grub-core/fs/fshelp.c (grub_fshelp_find_file): Remove leftover
9366 variable.
9367 * grub-core/fs/hfs.c (grub_hfs_read_file): Use grub_off_t for offset
9368 and connected types.
9369 * grub-core/fs/nilfs2.c (grub_nilfs2_read_file): Use grub_off_t for
9370 offset.
9371 (grub_nilfs2_iterate_dir): Use grub_off_t for fpos.
9372 * grub-core/fs/sfs.c (grub_sfs_read_file): Use grub_off_t for offset.
9373 * grub-core/fs/ufs.c (grub_ufs_read_file): Use grub_off_t for offset
9374 and connected types.
9375
177b960e
VS
93762011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9377
9378 Fix python 3.x incompatibilities.
9379
9380 * gentpl.py: Put brackets around print strings.
9381 * util/import_gcry.py: Open explicitly as utf-8.
9382 Use in instead of has_key.
9383
3b619ae1
VS
93842011-10-16 Vladimir Serbinenko <phcoder@gmail.com>
9385
9386 * grub-core/fs/xfs.c (grub_xfs_inode): New field fork_offset.
9387 (GRUB_XFS_INO_AGBITS): Make into inline function.
9388 (GRUB_XFS_INO_INOINAG): Likewise.
9389 (GRUB_XFS_INO_AG): Likewise.
9390 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
9391 (GRUB_XFS_EXTENT_OFFSET): Likewise.
9392 (GRUB_XFS_EXTENT_BLOCK): Likewise.
9393 (GRUB_XFS_EXTENT_SIZE): Likewise.
9394 (GRUB_XFS_ROUND_TO_DIRENT): Likewise.
9395 (GRUB_XFS_NEXT_DIRENT): Likewise.
9396 (grub_xfs_read_block): Rewrite the btree parsing. Fixes invalid BMAP.
9397 (grub_xfs_read_file): Fix offset type.
9398
8bcebcb8
RM
93992011-10-15 Robert Millan <rmh@gnu.org>
9400
9401 * util/getroot.c (grub_util_get_grub_dev): Fix OS selection #ifdefs.
9402
0017e5ef
RM
94032011-10-15 Robert Millan <rmh@gnu.org>
9404
9405 Fix build problem on FreeBSD and GNU/kFreeBSD.
9406
9407 * util/getroot.c [__FreeBSD_kernel__]: Include `<sys/mount.h>'.
9408
d8919552
VS
94092011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
9410
9411 Fix overflow with >2GiB file on HFS+. >4GiB wasn't tested.
9412
9413 * grub-core/fs/hfsplus.c (grub_hfsplus_btree): Use more appropriate
9414 types.
9415 (grub_hfsplus_btree_recoffset): Likewise.
9416 (grub_hfsplus_btree_recptr): Likewise.
9417 (grub_hfsplus_find_block): Likewise.
9418 (grub_hfsplus_btree_search): Likewise.
9419 (grub_hfsplus_read_block): Likewise.
9420 (grub_hfsplus_read_file): Likewise.
9421 (grub_hfsplus_mount): Likewise.
9422 (grub_hfsplus_btree_iterate_node): Likewise.
9423 (grub_hfsplus_btree_search): Likewise.
9424 (grub_hfsplus_iterate_dir): Likewise.
9425 (grub_hfsplus_read): A small code simplification.
9426
c81296b6
VS
94272011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
9428
9429 * grub-core/kern/emu/hostdisk.c
9430 (convert_system_partition_to_system_disk): Don't assume that children
9431 of mapper nodes are mapper nodes.
9432
0eb8ffb1
VS
94332011-10-14 Vladimir Serbinenko <phcoder@gmail.com>
9434
9435 * grub-core/lib/posix_wrap/ctype.h (isxdigit): Use grub_isxdigit.
9436 * include/grub/misc.h (grub_isxdigit): New function.
9437 * grub-core/video/colors.c (my_isxdigit): Removed. All users
9438 switched to grub_isxdigit.
9439 * grub-core/term/serial.c (grub_serial_find): Fix in case of port
9440 number starting with a letter.
9441
a98f4a08
RM
94422011-10-09 Robert Millan <rmh@gnu.org>
9443
9444 LVM support for FreeBSD and GNU/kFreeBSD.
9445
9446 * util/lvm.c (grub_util_lvm_isvolume): Enable on FreeBSD and
9447 GNU/kFreeBSD.
9448 (LVM_DEV_MAPPER_STRING): Move from here ...
9449 * include/grub/util/lvm.h (LVM_DEV_MAPPER_STRING): ... to here.
9450 * util/getroot.c: Include `<grub/util/lvm.h>'.
9451 (grub_util_get_dev_abstraction): Enable
9452 grub_util_biosdisk_is_present() on FreeBSD and GNU/kFreeBSD.
9453 Check for LVM abstraction on FreeBSD and GNU/kFreeBSD.
9454 (grub_util_get_grub_dev): Replace "/dev/mapper/" with
9455 `LVM_DEV_MAPPER_STRING'. Enable LVM and mdRAID only on platforms that
9456 support it.
9457 * util/grub-setup.c (main): Check for LVM also on FreeBSD and
9458 GNU/kFreeBSD.
9459 * util/grub.d/10_kfreebsd.in: Load `geom_linux_lvm' kernel module
9460 when LVM abstraction is required for ${GRUB_DEVICE}.
9461
050e8e90
SJ
94622011-10-06 Szymon Janc <szymon@janc.net.pl>
9463
9464 Add support for LZO compression in GRUB:
9465 - import of minilzo library,
9466 - LZO decompression for btrfs,
9467 - lzop files decompression.
9468
9469 * grub-core/io/lzopio.c: New file.
9470 * grub-core/lib/adler32.c: Likewise.
9471 * grub-core/lib/minilzo/lzoconf.h: Likewise.
9472 * grub-core/lib/minilzo/lzodefs.h: Likewise.
9473 * grub-core/lib/minilzo/minilzo.c: Likewise.
9474 * grub-core/lib/minilzo/minilzo.h: Likewise.
9475 * Makefile.util.def (libgrubmods.a): Add grub-core/io/lzopio.c,
9476 grub-core/lib/adler32.c, grub-core/io/lzopio.c,
9477 grub-core/lib/minilzo/minilzo.c to common.
9478 * Makefile.util.def (libgrubmods.a): Add flags required by minilzo to
9479 cflags in cppflags.
9480 * grub-core/Makefile.core.def (btrfs): Likewise.
9481 * grub-core/Makefile.core.def (lzopio): New module.
9482 (adler32): Likewise.
9483 * grub-core/fs/btrfs.c: Include minilzo.h.
9484 (GRUB_BTRFS_COMPRESSION_LZO): New define.
9485 (GRUB_BTRFS_LZO_BLOCK_SIZE): Likewise.
9486 (GRUB_BTRFS_LZO_BLOCK_MAX_CSIZE): Likewise.
9487 (grub_btrfs_lzo_decompress): New function.
9488 (grub_btrfs_extent_read): Add support for LZO compression type.
9489 * include/grub/types.h (GRUB_UCHAR_MAX): New define.
9490 (GRUB_USHRT_MAX): Likewise.
9491 (GRUB_UINT_MAX): Likewise.
9492 * grub-core/lib/posix_wrap/limits.h (USHRT_MAX): Likewise.
9493 (UINT_MAX): Likewise.
9494 (CHAR_BIT): Likewise.
9495 * grub-core/lib/posix_wrap/sys/types.h (ULONG_MAX): Moved to
9496 grub-core/lib/posix_wrap/limits.h
9497 (UCHAR_MAX): Likewise.
9498 * include/grub/file.h (grub_file_filter_id): New compression filter
9499 GRUB_FILE_FILTER_LZOPIO.
9500 * include/grub/file.h (grub_file_filter_id): Set
9501 GRUB_FILE_FILTER_LZOPIO as GRUB_FILE_FILTER_COMPRESSION_LAST.
9502 * include/grub/types.h (grub_get_unaligned16): New function.
9503 (grub_get_unaligned32): Likewise.
9504 (grub_get_unaligned64): Likewise.
9505 * util/import_gcry.py (cryptolist): Add adler32.
9506
0eb8ffb1
VS
95072011-10-05 Vladimir Serbinenko <phcoder@gmail.com>
9508
9509 * grub-core/Makefile.core.def: Eliminate rarely used emu_condition. This
9510 in perspective decreases the complexity of build system and fixes
9511 compilation right now.
9512
ce79cc99 95132011-10-01 Ales Nesrsta <starous@volny.cz>
9514
9515 * grub-core/bus/usb/uhci.c: Changes made by Rock Cui - thanks!
9516 (fixed problem related to using UHCI with coreboot).
9517
8667a314
BC
95182011-08-25 BVK Chaitanya <bvk.groups@gmail.com>
9519
9520 * gentpl.py: Use Autogen macros so that the output template file
9521 (Makefile.tpl) size is reduced.
9522
fc5efcc0
MK
95232011-09-29 Mads Kiilerich <mads@kiilerich.com>
9524
9525 * grub-core/Makefile.core.def (kernel): Add kern/i386/int.S to
9526 extra_dist.
9527
d1ab689d
ML
95282011-09-29 Mario Limonciello <mario_limonciello@dell.com>
9529
9530 * util/misc.c (grub_util_get_disk_size) [__MINGW32__]: Strip trailing
9531 slashes on PHYSICALDRIVE%d paths when making Windows CreateFile calls.
9532
c05de032
ML
95332011-09-29 Mario Limonciello <mario_limonciello@dell.com>
9534
9535 * grub-core/kern/emu/misc.c (canonicalize_file_name) [__MINGW32__]: Use
9536 _fullpath.
9537
cca7ccd8
ML
95382011-09-29 Mario Limonciello <mario_limonciello@dell.com>
9539
9540 Remove extra declaration of sleep for mingw32.
9541
9542 * util/misc.c (sleep) [__MINGW32__]: Removed.
9543 * include/grub/util/misc.h (sleep) [__MINGW32__]: Likewise.
9544
e0b0dc83
GS
95452011-09-28 Grégoire Sutre <gregoire.sutre@gmail.com>
9546
9547 * include/grub/bsdlabel.h (grub_partition_bsd_disk_label): Add fields
9548 type and packname.
9549 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK):
9550 Resurrected.
9551 (NETBSD_BTINFO_BOOTWEDGE): New definition.
9552 (grub_netbsd_btinfo_bootwedge): New struct.
9553 * grub-core/loader/i386/bsd.c (grub_netbsd_add_boot_disk_and_wedge):
9554 New function.
9555 (grub_cmd_netbsd): Call grub_netbsd_add_boot_disk_and_wedge.
9556
91a1a164
TH
95572011-09-28 Thomas Haller <thomas.haller@fen-net.de>
9558
9559 * grub-core/loader/multiboot_elfxx.c (Elf_Shdr): Set according to
9560 loader.
9561
2ded951e
AB
95622011-09-28 Andreas Born <futur.andy@googlemail.com>
9563
9564 Fix incorrect identifiers in bash-completion.
9565
9566 * util/bash-completion.d/grub-completion.bash.in
9567 (_grub_mkpasswd-pbkdf2): Rename to ...
9568 (_grub_mkpasswd_pbkdf2): ... this. All users updated.
9569 (_grub_script-check): Rename to ...
9570 (_grub_script_check): ... this. All users updated.
9571
69915030
VS
95722011-09-28 Vladimir Serbinenko <phcoder@gmail.com>
9573
9574 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy):
9575 Return 0 if disk isn't biosdisk.
9576
20fd15f9
GS
95772011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
9578
9579 * Makefile.util.def (grub-mkrelpath): Add LIBUTIL for getrawpartition(3)
9580 on NetBSD.
9581 * Makefile.util.def (grub-fstest): Likewise.
9582
1a7d7db9
GS
95832011-09-17 Grégoire Sutre <gregoire.sutre@gmail.com>
9584
9585 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors) [__NetBSD__]:
9586 Get sector size from disk label.
9587
2221ab6c
CW
95882011-09-05 Colin Watson <cjwatson@ubuntu.com>
9589
9590 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Return 1 for
9591 */README* as well as README*.
9592 Reported by: Axel Beckert.
9593
ca51c4a0
VS
95942011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9595
9596 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Handle the
9597 case of less than 256 MiB of RAM.
9598
ab80f326
VS
95992011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9600
9601 * grub-core/commands/wildcard.c (make_regex): Handle @.
9602
4155e697
VS
96032011-08-23 Vladimir Serbinenko <phcoder@gmail.com>
9604
9605 * util/grub-install.in: Move cryptodisk logic to appropriate place.
9606
ab178c08
SJ
96072011-08-21 Szymon Janc <szymon@janc.net.pl>
9608
9609 * acinclude.m4: Use AC_LANG_PROGRAM macro to generate source code for
9610 AC_LANG_CONFTEST macros.
9611
7dc3c686
SJ
96122011-08-20 Szymon Janc <szymon@janc.net.pl>
9613
9614 Add grub-fstest option to uncompress data for commands.
9615
9616 * util/grub-fstest.c (uncompress): New var.
9617 (options): New option -u.
9618
fe8d4a7b
SJ
96192011-08-20 Szymon Janc <szymon@janc.net.pl>
9620
9621 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Add
9622 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E to switch case statement.
9623
a5219af1
SJ
96242011-08-20 Szymon Janc <szymon@janc.net.pl>
9625
9626 * grub-core/io/gzio.c (grub_gzio_open): Always return original io if
9627 file type was not recognized correctly (not gzip or corrupted).
9628
f87abff5
VS
96292011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9630
9631 * grub-core/kern/mips/loongson/init.c (grub_reboot): Reboot Fuloong.
9632 * include/grub/cs5536.h (GRUB_CS5536_MSR_DIVIL_RESET): New definition.
9633
d94497ea
VS
96342011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9635
9636 * grub-core/Makefile.core.def (kernel): Add video/radeon_fuloong2e.c on
9637 loongson.
9638 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
9639 video_radeon_fuloong2e.
9640 * grub-core/video/radeon_fuloong2e.c: New file.
9641 * include/grub/video.h (grub_video_id_t): Add new ID
9642 GRUB_VIDEO_DRIVER_RADEON_FULOONG2E.
9643
0d1fd011
VS
96442011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9645
9646 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_COP0_PRID): New
9647 define.
9648 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Check
9649 that PRID matches the detected subplatform and reset the subplatform
9650 if it doesn't.
9651
84beb0ee
VS
96522011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9653
9654 * grub-core/kern/misc.c (grub_vprintf): Fix a bug on malloc failure.
9655
1227c133
VS
96562011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9657
9658 Fix PCI iterating on functions >= 4.
9659
9660 * grub-core/bus/pci.c (grub_pci_iterate): Remove useless ghost skipping.
9661 * include/grub/mips/loongson/pci.h (GRUB_LOONGSON_OHCI_GHOST_FUNCTION):
9662 Removed.
9663 (GRUB_LOONGSON_EHCI_GHOST_FUNCTION): Likewise.
9664 (grub_pci_read): Fix bitmask.
9665 (grub_pci_read_word): Likewise.
9666 (grub_pci_read_byte): Likewise.
9667 (grub_pci_write): Likewise.
9668 (grub_pci_write_word): Likewise.
9669 (grub_pci_write_byte): Likewise.
9670
9594c689
VS
96712011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9672
9673 * configure.ac: Don't impose march=loongson2f on loongson platform. (It
9674 can still be specified in TARGET_CFLAGS)
9675
14a2562c
VS
96762011-08-19 Vladimir Serbinenko <phcoder@gmail.com>
9677
9678 Rename Fuloong into Fuloong 2F. Add new ID for Fuloong2E.
9679
9680 * grub-core/Makefile.core.def (fwstart_fuloong): Rename fwstart_fuloong
9681 into fwstart_fuloong2f. Use boot/mips/loongson/fuloong2f.S.
9682 * grub-core/boot/mips/loongson/fuloong.S: Rename to ...
9683 * grub-core/boot/mips/loongson/fuloong2f.S: ... this.
9684 (FULOONG): Rename to ...
9685 (FULOONG2F): ... this. All users updated.
9686 * grub-core/boot/mips/startup_raw.S (machtype_fuloong_str): Rename to
9687 (machtype_fuloong2f_str): ... this.
9688 (machtype_fuloong2e_str): New string.
9689 Check for machtype_fuloong2e_str.
9690 * grub-core/loader/mips/linux.c (loongson_machtypes)
9691 [GRUB_MACHINE_MIPS_LOONGSON]: Add GRUB_ARCH_MACHINE_FULOONG2E.
9692 * grub-core/term/serial.c (loongson_defserial)
9693 [GRUB_MACHINE_MIPS_LOONGSON]: New array.
9694 (grub_serial_register) [GRUB_MACHINE_MIPS_LOONGSON]: Use
9695 loongson_defserial.
9696 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_FULOONG):
9697 Rename to ...
9698 (GRUB_ARCH_MACHINE_FULOONG2F): ... this.
9699 (GRUB_ARCH_MACHINE_FULOONG2E): New const.
9700 * util/grub-mkimage.c (image_target_desc): Rename IMAGE_FULOONG_FLASH
9701 to IMAGE_FULOONG2F_FLASH. All users updated.
9702 (image_targets): Rename images.
9703 * util/grub-mkstandalone.in: Accept fuloong2f and fuloong2e.
9704
b526cbb6
SJ
97052011-08-19 Szymon Janc <szymon@janc.net.pl>
9706
9707 Make enable of disk cache statistics code configurable.
9708
9709 * configure.ac: --enable-cache-stats added.
9710 * config.h.in (DISK_CACHE_STATS): New define.
9711 * grub-core/Makefile.core.def (cacheinfo): New command.
9712 * include/grub/disk.h(grub_disk_cache_get_performance): New function.
9713 * grub-core/commands/cacheinfo.c: New file.
9714 * grub-core/commands/minicmd.c (grub_rescue_cmd_info): Updated and
9715 moved to cacheinfo.c.
9716 * grub-core/kern/disk.c: Use DISK_CACHE_STATS to disable disk cache
9717 debug code.
9718 * include/grub/disk.h: Likewise.
9719
fb739ccd
SJ
97202011-08-19 Szymon Janc <szymon@janc.net.pl>
9721
9722 * Makefile.am (AUTOMAKE_OPTIONS): = Added -Wno-portability flag.
9723 * grub-core/Makefile.am: Likewise.
9724
2bba8cfd
VS
97252011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9726
9727 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_iterate): Skip with
9728 non-zero pull.
9729
43526629
VS
97302011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9731
9732 * grub-core/fs/jfs.c (grub_jfs_read_file): New parameter ino.
9733 All users updated.
9734 (grub_jfs_lookup_symlink): Use correct starting inode.
9735
5c144cc8
VS
97362011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9737
9738 * util/grub-setup.c (main): Add missing gcry initialisation.
9739
b1257f65
VS
97402011-08-16 Vladimir Serbinenko <phcoder@gmail.com>
9741
9742 Don't accept text modes on EFI when booting Linux.
9743
9744 * grub-core/loader/i386/linux.c (ACCEPTS_PURE_TEXT): New define.
9745 (grub_linux_boot) [!ACCEPTS_PURE_TEXT]: Restrict to graphics modes.
9746
828bc390
ML
97472011-08-15 Mario Limonciello <mario_limonciello@dell.com>
97482011-08-15 Colin Watson <cjwatson@ubuntu.com>
9749
9750 * util/grub-probe.c (probe): Canonicalise the path argument, fixing
9751 use of "/path/.." as in grub-install for EFI as well as handling
9752 symlinks correctly.
9753 Fixes Debian bug #637768.
9754
5f60ccac
CW
97552011-08-15 Colin Watson <cjwatson@ubuntu.com>
9756
9757 * util/grub-probe.c: Remove duplicate #include.
9758
6dc212f9
RM
97592011-08-10 Robert Millan <rmh@gnu.org>
9760
9761 Detect LSI MegaRAID SAS (`mfi') devices on GNU/kFreeBSD.
9762
9763 * util/deviceiter.c [__FreeBSD_kernel__] (get_mfi_disk_name): New
9764 function.
9765 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for mfi
9766 (/dev/mfid[0-9]+) devices using get_mfi_disk_name().
9767
66816d85
RM
97682011-08-03 Robert Millan <rmh@gnu.org>
9769
9770 * include/grub/zfs/zap_leaf.h (typedef union zap_leaf_chunk): Mark
9771 la_array as packed.
9772 Reported by: Zachary Bedell
9773
20168fca
CW
97742011-07-26 Colin Watson <cjwatson@ubuntu.com>
9775
9776 * configure.ac: The Loongson port requires grub-mkfont due to its
9777 use of -DUSE_ASCII_FAILBACK. Raise an error if it is not going to
9778 be built.
9779
303b6246
CW
97802011-07-26 Colin Watson <cjwatson@ubuntu.com>
9781
9782 * util/grub-install.in: Don't source grub-mkconfig_lib until after
9783 processing arguments (otherwise help2man fails when GRUB has not yet
9784 been installed).
9785
6795300e
VS
97862011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9787
41aa28ea
VS
9788 New script grub-mkstandalone.
9789
9790 * Makefile.util.def (grub-mkstandalone): New script.
9791 * docs/man/grub-mkstandalone.h2m: New file.
9792 * util/grub-mkstandalone.in: Likewise.
9793
97942011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9795
9796 Support ATA disks with 4K sectors.
6795300e
VS
9797
9798 * include/grub/ata.h (grub_ata): New member log_sector_size.
9799 * grub-core/disk/ata.c (grub_ata_dumpinfo): Show sector size.
9800 (grub_ata_identify): Read sector size.
9801 (grub_ata_readwrite): Use log_sector_size rather than hardcoded value.
9802
92227597
VS
98032011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9804
9805 * util/grub-install.in: Don't use uhci outside of x86.
9806
c77069f5
VS
98072011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9808
9809 * util/grub-mkrescue.in: Add missing quotes.
9810
98112011-07-25 Vladimir Serbinenko <phcoder@gmail.com>
b70e4cb0
VS
9812
9813 * grub-core/normal/menu.c (grub_menu_execute_entry): Fix NULL
9814 dereference.
9815
583168a2
VS
98162011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
9817
9818 * grub-core/disk/pata.c (grub_pata_readwrite): Add missing wait.
9819
6be1c01f
VS
98202011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
9821
9822 * include/grub/video.h: add missing EXPORT_FUND on
9823 grub_video_edid_checksum and grub_video_edid_preferred_mode.
9824
a1167439
VS
98252011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
9826
9827 * include/grub/mips/kernel.h: Fix define conflict.
9828
bf66054f
VS
98292011-07-23 Vladimir Serbinenko <phcoder@gmail.com>
9830
9831 * grub-core/kern/mips/cache_flush.S [GRUB_MACHINE_MIPS_LOONGSON]: Flush
9832 all four ways.
9833
8fc4fa45
CW
98342011-07-21 Colin Watson <cjwatson@ubuntu.com>
9835
9836 Preferred resolution detection for VBE.
9837
9838 * grub-core/video/video.c (grub_video_edid_checksum): New function.
9839 (grub_video_edid_preferred_mode): Likewise. Try EDID followed by
9840 the Flat Panel extension, in line with the X.org VESA driver.
9841 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_flat_panel_info):
9842 New function.
9843 (grub_vbe_bios_get_ddc_capabilities): Likewise.
9844 (grub_vbe_bios_read_edid): Likewise.
9845 (grub_vbe_get_preferred_mode): Likewise.
9846 (grub_video_vbe_setup): When the mode is "auto", try to get the
9847 preferred mode from VBE, and use the largest mode that is no larger
9848 than the preferred mode (some BIOSes expose a preferred mode that is
9849 not in their mode list!). If this fails, fall back to 640x480 as a
9850 safe conservative choice.
9851 (grub_video_vbe_get_edid): New function.
9852 (grub_video_vbe_adapter): Add get_edid.
9853 * include/grub/video.h (struct grub_vbe_edid_info): New structure.
9854 (struct grub_video_adapter): Add get_edid.
9855 (grub_video_edid_checksum): Add prototype.
9856 (grub_video_edid_preferred_mode): Likewise.
9857 * include/grub/i386/pc/vbe.h (struct grub_vbe_flat_panel_info): New
9858 structure.
9859
9860 * grub-core/commands/videoinfo.c (print_edid): New function.
9861 (grub_cmd_videoinfo): Print EDID if available.
9862
9863 * util/grub.d/00_header.in (GRUB_GFXMODE): Default to "auto". This
9864 is more appropriate on a wider range of platforms than 640x480.
9865 * docs/grub.texi (Simple configuration): Update GRUB_GFXMODE
9866 documentation.
9867
ca5572a9
VS
98682011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9869
9870 * util/grub-install.in: Recognize ESP mounted at /boot/EFI.
9871
e4bcf625
VS
98722011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9873
9874 * po/POTFILES.in: Regenerate.
9875
c4edd548
VS
98762011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9877
9878 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix
9879 incorrect memory usage.
9880
16a2bab0
VS
98812011-07-10 Vladimir Serbinenko <phcoder@gmail.com>
9882
9883 * util/grub-install.in: Source grub-mkconfig_lib.
9884
2e418de6
VS
98852011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
9886
9887 Remove getroot.c from core on emu platform.
9888
9889 * grub-core/Makefile.core.def (kernel): Remove kern/emu/getroot.c and
9890 kern/emu/raid.c.
9891 * grub-core/kern/emu/main.c (main): Don't try to guess root device. It's
9892 useless.
9893 * grub-core/kern/emu/misc.c (get_win32_path): Moved from here...
9894 * util/getroot.c (get_win32_path): ... here.
9895 * grub-core/kern/emu/misc.c (fini_libzfs): Moved from here...
9896 * util/getroot.c (fini_libzfs): ... here.
9897 * grub-core/kern/emu/misc.c (grub_get_libzfs_handle): Moved from here...
9898 * util/getroot.c (grub_get_libzfs_handle): ... here.
9899 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir):
9900 Moved from here...
9901 * util/getroot.c (grub_find_zpool_from_dir): ... here.
9902 * grub-core/kern/emu/misc.c
9903 (grub_make_system_path_relative_to_its_root): Moved from here...
9904 * util/getroot.c (grub_make_system_path_relative_to_its_root): ... here.
9905 * grub-core/kern/emu/getroot.c: Moved from here ...
9906 * util/getroot.c: ... here. All users updated.
9907 * grub-core/kern/emu/raid.c: Moved from here ...
9908 * util/raid.c: ... here. All users updated.
9909
def9832a
VS
99102011-07-08 Vladimir Serbinenko <phcoder@gmail.com>
9911
9912 * po/POTFILES.in: Regenerate.
9913
cd8fe79a
VS
99142011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
9915
9916 Fix compilation on GNU/Linux.
9917
9918 * grub-core/kern/emu/getroot.c (grub_util_pull_device) [!FreeBSD]:
9919 Disable geli.
9920 (grub_util_get_grub_dev) [!FreeBSD]: Likewise.
9921 (grub_util_pull_device) [HAVE_DEVICE_MAPPER]: Fix const and func name.
9922 * grub-core/disk/cryptodisk.c (grub_cryptodisk_open): Fix proto.
9923
a251b719
VS
99242011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
99252011-07-07 Michael Gorven <michael@gorven.za.net>
99262011-07-07 Clemens Fruhwirth <clemens@endorphin.org>
9927
9928 LUKS and GELI support.
9929
9930 * Makefile.util.def (libgrubkern.a): Add grub-core/lib/crypto.c,
9931 grub-core/disk/luks.c, grub-core/disk/geli.c,
9932 grub-core/disk/cryptodisk.c, grub-core/disk/AFSplitter.c,
9933 grub-core/lib/pbkdf2.c, grub-core/commands/extcmd.c,
9934 grub-core/lib/arg.c.
9935 (libgrubmods.a): Remove gcrypts cflags and cppflags.
9936 Remove grub-core/commands/extcmd.c, grub-core/lib/arg.c,
9937 grub-core/lib/crypto.c, grub-core/lib/libgcrypt-grub/cipher/sha512.c,
9938 grub-core/lib/libgcrypt-grub/cipher/crc.c and grub-core/lib/pbkdf2.c.
9939 (grub-bin2h): Add libgcry.a.
9940 (grub-mkimage): Likewise.
9941 (grub-mkrelpath): Likewise.
9942 (grub-script-check): Likewise.
9943 (grub-editenv): Likewise.
9944 (grub-mkpasswd-pbkdf2): Likewise.
9945 (grub-pe2elf): Likewise.
9946 (grub-fstest): Likewise.
9947 (grub-mkfont): Likewise.
9948 (grub-mkdevicemap): Likewise.
9949 (grub-probe): Likewise.
9950 (grub-ofpath): Likewise.
9951 (grub-mklayout): Likewise.
9952 (example_unit_test): Likewise.
9953 (grub-menulst2cfg): Likewise.
9954 * autogen.sh (UTIL_DEFS): Add Makefile.utilgcry.def.
9955 * grub-core/Makefile.core.def (cryptodisk): New module.
9956 (luks): Likewise.
9957 (geli): Likewise.
9958 * grub-core/disk/AFSplitter.c: New file.
9959 * grub-core/disk/cryptodisk.c: Likewise.
9960 * grub-core/disk/geli.c: Likewise.
9961 * grub-core/disk/luks.c: Likewise.
9962 * grub-core/kern/emu/getroot.c (get_dm_uuid): New function based on
9963 grub_util_is_lvm.
9964 (grub_util_get_dm_abstraction): New function.
9965 (grub_util_follow_gpart_up): Likewise.
9966 (grub_util_get_geom_abstraction): Likewise.
9967 (grub_util_get_dev_abstraction): Use new functions.
9968 (grub_util_pull_device): Pull GELI and LUKS.
9969 (grub_util_get_grub_dev): Handle LUKS and GELI.
9970 * grub-core/kern/emu/hostdisk.c (grub_util_get_fd_sectors): New function.
9971 (grub_util_biosdisk_open): Use grub_util_get_fd_sectors.
9972 (follow_geom_up): Removed.
9973 (grub_util_fd_seek): New function.
9974 (open_device): Use grub_util_fd_seek.
9975 (nread): Rename to ..
9976 (grub_util_fd_read): ... this. All users updated.
9977 * grub-core/lib/crypto.c (grub_crypto_ecb_decrypt): A better prototype.
9978 (grub_crypto_cbc_decrypt): Likewise.
9979 (grub_crypto_hmac_write): Likewise.
9980 (grub_crypto_hmac_buffer): Likewise.
9981 (grub_password_get): Extend to util.
9982 * include/grub/crypto.h (gcry_cipher_spec) [GRUB_UTIL]:
9983 New member modname.
9984 (gcry_md_spec) [GRUB_UTIL]: Likewise.
9985 * include/grub/cryptodisk.h: New file.
9986 * include/grub/disk.h (grub_disk_dev_id): Rename LUKS to CRYPTODISK.
9987 * include/grub/emu/getroot.h (grub_dev_abstraction_types): Add
9988 LUKS and GELI.
9989 (grub_util_follow_gpart_up): New proto.
9990 * include/grub/emu/hostdisk.h (grub_util_fd_seek): Likewise.
9991 (grub_util_fd_read): Likewise.
9992 (grub_cryptodisk_cheat_mount): Likewise.
9993 (grub_util_cryptodisk_print_uuid): Likewise.
9994 (grub_util_get_fd_sectors): Likewise.
9995 * util/grub-fstest.c (mount_crypt): New var.
9996 (fstest): Mount crypto if requested.
9997 (options): New option -C.
9998 (argp_parser): Parse -C.
9999 (main): Init and fini gcry.
10000 * util/grub-install.in: Support cryptodisk install.
10001 * util/grub-mkconfig.in: Export GRUB_ENABLE_CRYPTODISK.
10002 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Support
10003 cryptodisk.
10004 (prepare_grub_to_access_device): Likewise.
10005 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_password_get.
10006 * util/grub-probe.c (probe_partmap): Support cryptodisk UUID probe.
10007 (probe_cryptodisk_uuid): New function.
10008 (probe_abstraction): Likewise.
10009 (probe): Use new functions.
10010 * util/import_gcry.py: Create Makefile.utilgcry.def.
10011 Add modname member.
10012
9bfdcbbc
VS
100132011-07-07 Vladimir Serbinenko <phcoder@gmail.com>
10014
10015 Lazy device scanning.
10016
10017 * Makefile.util.def (libgrubkern.a): Add grub-core/kern/emu/raid.c.
10018 (grub-setup): Remove util/raid.c.
10019 * grub-core/Makefile.core.def (kernel): Add kern/emu/raid.c on emu.
10020 * grub-core/disk/lvm.c (scan_depth): New variable.
10021 (grub_lvm_iterate): Rescan if necessary.
10022 (find_lv): New function based on grub_lvm_open.
10023 (grub_lvm_open): Use find_lv. Rescan on error.
10024 (is_node_readable): New function.
10025 (is_lv_readable): Likewise.
10026 (grub_lvm_scan_device): Skip already found disks.
10027 (do_lvm_scan): New function. Move grub_lvm_scan_device inside of it.
10028 Stop if searched device is found and readable.
10029 * grub-core/disk/raid.c (inscnt): New variable.
10030 (scan_depth): Likewise.
10031 (scan_devices): New function based on grub_raid_register. Abort if
10032 looked for device is found.
10033 (grub_raid_iterate): Rescan if needed.
10034 (find_array): NEw function based on -grub_raid_open.
10035 (grub_raid_open): Use find_array and rescan.
10036 (insert_array): Set became_readable_at.
10037 * grub-core/kern/disk.c (grub_disk_dev_iterate): Iterate though "pull.
10038 * grub-core/kern/emu/getroot.c (grub_util_open_dm) [HAVE_DEVICE_MAPPER]:
10039 New function.
10040 (grub_util_is_lvm) [HAVE_DEVICE_MAPPER]: Use grub_util_open_dm.
10041 (grub_util_pull_device): New function.
10042 (grub_util_get_grub_dev): Call grub_util_pull_device.
10043 * util/raid.c: Moved to ..
10044 * grub-core/kern/emu/raid.c: ... here.
10045 (grub_util_raid_getmembers): New parameter "bootable".
10046 All users updated. Support 1.x.
10047 * include/grub/ata.h (grub_ata_dev): Change iterate prototype.
10048 All users updated.
10049 * include/grub/disk.h (grub_disk_pull_t): New enum.
10050 (grub_disk_dev): Change iterate prototype.
10051 All users updated.
10052 * include/grub/emu/getroot.h (grub_util_raid_getmembers) [__linux__]:
10053 New proto.
10054 * include/grub/emu/hostdisk.h (grub_util_pull_device): Likewise.
10055 * include/grub/lvm.h (grub_lvm_lv): New members fullname and compatname.
10056 * include/grub/raid.h (grub_raid_array): New member became_readable_at.
10057 * include/grub/scsi.h (grub_scsi_dev): Change iterate prototype.
10058 All users updated.
10059 * include/grub/util/raid.h: Removed.
10060
1c358e59
VS
100612011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
10062
10063 * po/POTFILES.in: Regenerate.
10064
abee94ed
VS
100652011-07-06 Vladimir Serbinenko <phcoder@gmail.com>
10066
10067 Unify sparc init with other ieee1275.
10068
10069 * grub-core/Makefile.core.def (kernel): Use kern/ieee1275/init.c
10070 instead of kern/sparc64/ieee1275/init.c.
10071 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options)
10072 [__sparc__]: Set GRUB_IEEE1275_FLAG_NO_PARTITION_0.
10073 * grub-core/kern/ieee1275/init.c [__sparc__]: Include
10074 grub/machine/kernel.h.
10075 (grub_ieee1275_original_stack) [__sparc__]: New variable.
10076 (grub_claim_heap) [__sparc__]: Use sparc version.
10077 (grub_machine_init): Moved args parsing to
10078 (grub_parse_cmdline): ...this.
10079 * grub-core/kern/sparc64/ieee1275/init.c: Removed.
10080 * include/grub/offsets.h (GRUB_KERNEL_SPARC64_IEEE1275_MOD_GAP):
10081 New definition.
10082 (GRUB_KERNEL_SPARC64_IEEE1275_MOD_ALIGN): Likewise.
10083
10084 Move BOOTP to separate file.
10085
10086 * grub-core/Makefile.core.def (net): Add net/bootp.c.
10087 * grub-core/net/net.c: Move all BOOTP functions to
10088 * grub-core/net/bootp.c: ... here.
10089
10090 Use frame interface on PXE.
10091
10092 * grub-core/Makefile.core.def (pxecmd): Removed.
10093 (pxe): Use net/drivers/i386/pc/pxe.c rather than net/i386/pc/pxe.c.
10094 * grub-core/commands/i386/pc/pxecmd.c: Removed.
10095 * grub-core/i386/pc/pxe.c: Moved from here ...
10096 * grub-core/net/i386/pc/pxe.c: ... here. Rewritten.
10097 * grub-core/net/net.c (grub_net_open_real): Handle old pxe syntax.
10098 * include/grub/i386/pc/pxe.h (grub_pxe_unload): Removed.
10099
10100 EFI network support.
10101
10102 * grub-core/Makefile.core.def (efinet): New module.
10103 * grub-core/disk/efi/efidisk.c (compare_device_paths): Moved from
10104 here...
10105 * grub-core/kern/efi/efi.c (grub_efi_compare_device_paths): ... here.
10106 All users updated.
10107 * grub-core/kern/efi/init.c (grub_efi_net_config): New variable.
10108 (grub_machine_get_bootlocation): Call grub_efi_net_config if needed.
10109 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_7): New function.
10110 * grub-core/net/drivers/efi/efinet.c: New file.
10111 * include/grub/efi/efi.h (grub_efi_compare_device_paths): New proto.
10112 (grub_efi_net_config): New extern var.
10113
10114 Various cleanups and bugfixes.
10115
10116 * grub-core/disk/efi/efidisk.c (grub_efidisk_open): Fix off-by-one
10117 error.
10118 (grub_efidisk_get_device_name): Unify similar codepaths. Accept whole
10119 disk declared as partition.
10120 * grub-core/disk/ieee1275/ofdisk.c (grub_ofdisk_open): Fix memory
10121 leak on failure.
10122 * grub-core/kern/dl.c (grub_dl_load_file): Fix memory leak.
10123 * grub-core/kern/mm.c (grub_debug_malloc): Don't use unsupported %zx.
10124 (grub_debug_zalloc): Likewise.
10125 (grub_debug_realloc): Likewise.
10126 (grub_debug_memalign): Likewise.
10127 * grub-core/net/arp.c (grub_net_arp_receive): IPv4 is 4-byte wide.
10128 Check that target is IPv4.
10129 * grub-core/net/drivers/ieee1275/ofnet.c (grub_ofnet_findcards): Use
10130 local-mac-address as fallback.
10131 * grub-core/net/ethernet.c (grub_net_recv_ethernet_packet): Prevent
10132 memory leak.
10133 * grub-core/net/ip.c (ipchksum): Rename to ...
10134 (grub_net_ip_chksum): ... this. All users updated.
10135 (grub_net_recv_ip_packets): Special handling for DHCP.
10136 * util/grub-mkimage.c (generate_image): Zero-out aout header.
10137
10138 Unify prefix handling
10139
10140 * grub-core/kern/efi/init.c (grub_efi_set_prefix): Revamped into ...
10141 (grub_machine_get_bootlocation): ... this.
10142 * grub-core/kern/emu/main.c (grub_machine_set_prefix): Revamped into ...
10143 (grub_machine_get_bootlocation): ... this.
10144 (grub_prefix): New variable.
10145 (prefix): Removed.
10146 (root_dev): New variable.
10147 (dir): Likewise.
10148 (main): Use new variables.
10149 * grub-core/kern/i386/coreboot/init.c (grub_machine_set_prefix):
10150 Revamped into ...
10151 (grub_machine_get_bootlocation): ... this.
10152 * grub-core/kern/i386/efi/init.c (grub_machine_set_prefix): Removed.
10153 * grub-core/kern/i386/pc/init.c (make_install_device): Revamped into ...
10154 (grub_machine_get_bootlocation): ... this.
10155 (grub_machine_set_prefix): Removed.
10156 * grub-core/kern/ia64/efi/init.c (grub_machine_set_prefix): Removed.
10157 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix):
10158 Revamped into ...
10159 (grub_machine_get_bootlocation): ... this.
10160 * grub-core/kern/main.c (grub_set_root_dev): Revamped into ...
10161 (grub_set_prefix_and_root): ... this. All users updated.
10162 * grub-core/kern/mips/init.c (grub_machine_set_prefix):
10163 Revamped into ...
10164 (grub_machine_get_bootlocation): ... this.
10165 * include/grub/kernel.h (grub_machine_set_prefix): Removed.
10166 (grub_machine_get_bootlocation): New proto.
10167 * include/grub/i386/pc/kernel.h (grub_pc_net_config): New var.
10168
10169 Less intrusive and more reliable seek on network implementation.
10170
10171 * grub-core/kern/file.c (grub_file_net_seek): Removed.
10172 (grub_file_seek): Don't call grub_file_net_seek.
10173 * grub-core/net/net.c (grub_net_fs_read): Renamed to ...
10174 (grub_net_fs_read_real): .. this.
10175 (grub_net_seek_real): Use net->offset.
10176 (grub_net_fs_read): Seek if necessary.
10177
10178 Unify IEEE1275 netwotk config with the other platforms.
10179
10180 * grub-core/kern/ieee1275/init.c (grub_ieee1275_net_config):
10181 New variable.
10182 (grub_machine_get_bootlocation): Support network.
10183 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args):
10184 Support type and device parsing.
10185 (grub_ieee1275_get_device_type): New function.
10186 * grub-core/net/drivers/ieee1275/ofnet.c (grub_getbootp_real): Revamped
10187 into ...
10188 (grub_ieee1275_net_config_real): ... this.
10189 (grub_ofnet_probecards): Removed.
10190 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove ofnet.h.
10191 * include/grub/ieee1275/ofnet.h: Removed.
10192 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_net_config): NEw
10193 extern var.
10194 (grub_ieee1275_get_device_type): New function.
10195
10196 Unify network device closing across platforms and make more robust.
10197
10198 * grub-core/kern/ieee1275/init.c (grub_machine_fini): Don't call
10199 grub_grubnet_fini.
10200 * grub-core/net/ethernet.c (send_ethernet_packet): Open card if it isn't
10201 already.
10202 * grub-core/net/net.c (grub_net_network_level_interface_register):
10203 Update num_ifaces.
10204 (grub_net_card_unregister): Close all interfaces.
10205 (receive_packets): Don't poll if no iterfaces are registered.
10206 Open if necessary.
10207 (grub_net_fini_hw): New function.
10208 (grub_net_restore_hw): Likewise.
10209 (fini_hnd): New variable.
10210 (GRUB_MOD_INIT): Register preboot hook.
10211 (GRUB_MOD_FINI): Run and unregister preboot hook.
10212
10213 Poll network cards when idle.
10214
10215 * grub-core/kern/term.c (grub_net_poll_cards_idle): New variable.
10216 (grub_checkkey): Call grub_net_poll_cards_idle if it's not NULL.
10217 * grub-core/net/net.c (receive_packets): Save last poll time.
10218 (grub_net_poll_cards_idle_real): New function.
10219 (GRUB_MOD_INIT): Register grub_net_poll_cards_idle.
10220 (GRUB_MOD_FINI): Unregister grub_net_poll_cards_idle.
10221 * include/grub/kernel.h (grub_poll_cards_idle): New extern variable.
10222
10223 Rename ofnet interfaces.
10224
10225 * grub-core/net/drivers/ieee1275/ofnet.c (find_alias): New function.
10226 (grub_ofnet_findcards): Use ofnet_%s names.
10227
10228 * util/grub-mknetdir.in: Support for EFI and IEEE1275.
10229
10230 Cleanup socket opening.
10231
10232 * grub-core/net/net.c (grub_net_fs_open): Rewritten.
10233 (grub_net_fs_close): Likewise.
10234 (grub_net_fs_read_real): Use eof member.
10235 * include/grub/net/udp.h (+grub_net_udp_open): New proto.
10236 (+grub_net_udp_close): New inline function.
10237
10238 * include/grub/net/tftp.h: Moved to the top of ...
10239 * grub-core/net/tftp.c: ... here.
10240 * include/grub/net/ip.h: Moved mostly to the top of ...
10241 * grub-core/net/ip.c: ... here.
10242 * include/grub/net/ethernet.h: Moved mostly to the top of ...
10243 * grub-core/net/ethernet.c: ... here.
10244
10245 * grub-core/kern/device.c (grub_device_close): Free device->net->server.
10246
10247 * grub-core/commands/probe.c (grub_cmd_probe): Use protocol name for
10248 FS name.
10249
10250 * include/grub/net/ip.h (ipv4_ini): Removed.
10251 (ipv4_fini): Likewise.
10252
10253 * include/grub/net/ip.h (grub_net_recv_ip_packets): New proto.
10254 (grub_net_send_ip_packets): Likewise.
10255
cf1337aa
VS
102562011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10257
10258 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_init): Use new
10259 grub_read_cmos prototype.
10260
93c06ff9
VS
102612011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10262
10263 VGA text support in qemu-mips
10264
10265 * grub-core/Makefile.core.def (kernel): Add term/i386/pc/vga_text.c,
10266 term/i386/vga_common.c and kern/vga_init.c on qemu-mips.
10267 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init vga
10268 text.
10269 * grub-core/kern/i386/qemu/init.c: Renamed to ...
10270 * grub-core/kern/vga_init.c: ... this.
10271 * grub-core/kern/vga_init.c (VGA_ADDR) [__mips__]: Adjust.
10272 (grub_qemu_init_cirrus) [__mips__]: Skip PCI and adjust the I/O base.
10273 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN) [__mips__]:
10274 Adjust.
10275 * include/grub/vga.h [GRUB_MACHINE_MIPS_QEMU_MIPS]: Declare
10276 GRUB_MACHINE_PCI_IO_BASE.
10277
748ccabe
VS
102782011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10279
10280 MIPS qemu flash support.
10281
10282 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]: Check
10283 magic.
10284 * grub-core/kern/mips/qemu_mips/init.c (probe_mem): New function.
10285 (grub_machine_init): Probe memory if its size isn't known.
10286 * util/grub-mkimage.c (image_targets): Add flash targets.
10287 (generate_image): Handle flash targets.
10288
d7345994
VS
102892011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10290
10291 MIPS qemu at_keyboard support.
10292
10293 * gentpl.py (videoinkernel): Add qemu-mips.
10294 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add necessary headers.
10295 * grub-core/Makefile.core.def (kernel): Add at_keyboard and layout.
10296 * grub-core/kern/mips/qemu_mips/init.c (grub_machine_init): Init new
10297 modules.
10298 * grub-core/term/at_keyboard.c (grub_keyboard_controller_init)
10299 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Don't consider original set.
10300 * grub-core/term/serial.c (grub_serial_register)
10301 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Make com0 explicitly active.
10302
a07a81b3
VS
103032011-07-05 Vladimir Serbinenko <phcoder@gmail.com>
10304
10305 CMOS support on sparc.
10306
10307 * gentpl.py (cmos): Add powerpc and sparc.
10308 * grub-core/Makefile.core.def (datetime): Add lib/ieee1275/cmos.c on
10309 powerpc and sparc.
10310 * grub-core/lib/cmos_datetime.c (grub_get_datetime)
10311 [__powerpc__ || __sparc__]: Rename to grub_get_datetime_cmos.
10312 (grub_set_datetime) [__powerpc__ || __sparc__]: Likewise to
10313 grub_set_datetime_cmos.
10314 * grub-core/lib/ieee1275/cmos.c: New file.
10315 * grub-core/lib/ieee1275/datetime.c (no_ieee1275_rtc): New vaiable.
10316 (find_rtc): Set no_ieee1275_rtc on error.
10317 (grub_get_datetime): Call grub_get_datetime_cmos on error.
10318 (grub_set_datetime): Call grub_set_datetime_cmos on error.
10319 * include/grub/cmos.h (grub_cmos_read): Return grub_err_t since it may
10320 fail. Move value to argument. All users updated
10321 (grub_cmos_write): Likewise.
10322 (grub_cmos_read) [__powerpc__ || __sparc__]: Rewritten.
10323 (grub_cmos_write) [__powerpc__ || __sparc__]: Likewise.
10324 * include/grub/datetime.h [__powerpc__ || __sparc__]: Declare
10325 grub_get_datetime_cmos and grub_set_datetime_cmos.
10326
77546584
GS
103272011-07-02 Grégoire Sutre <gregoire.sutre@gmail.com>
10328
10329 * util/grub-mkconfig.in: Use @PACKAGE@ instead of hardcoded name when
10330 sourcing grub-mkconfig_lib.
10331 * util/update-grub_lib.in: Likewise.
10332 * util/grub.d/00_header.in: Likewise.
10333 * util/grub.d/10_hurd.in: Likewise.
10334 * util/grub.d/10_kfreebsd.in: Likewise.
10335 * util/grub.d/10_linux.in: Likewise.
10336 * util/grub.d/10_netbsd.in: Likewise.
10337 * util/grub.d/10_windows.in: Likewise.
10338 * util/grub.d/20_linux_xen.in: Likewise.
10339 * util/grub.d/30_os-prober.in: Likewise.
10340
54894791
CW
103412011-06-28 Colin Watson <cjwatson@ubuntu.com>
10342
10343 * grub-core/term/gfxterm.c (grub_virtual_screen_setup): Use
10344 default_bg_color rather than black.
10345 (grub_gfxterm_fullscreen): Likewise.
10346 (grub_gfxterm_background_color_cmd): Save new background color in
10347 default_bg_color.
10348
8d5d8444
VS
103492011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10350
10351 * grub-core/Makefile.core.def (chain): Fix coreboot filename.
10352
5afeb5bd
VS
103532011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10354
10355 * grub-core/disk/pata.c (grub_pata_initialize) [QEMU_MIPS]: Fix a
10356 mismerge.
10357
ba7df45e
VS
103582011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10359
10360 Chainloading on coreboot support.
10361
10362 * grub-core/Makefile.core.def (chain): Add coreboot.
10363 * grub-core/loader/i386/coreboot/chainloader.c: New file.
10364
d0b526b2
VS
103652011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10366
10367 * grub-core/loader/i386/bsd.c (grub_bsd_load): Handle relocator failure
10368 if it happens.
10369
5ff1d945
VS
103702011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10371
10372 Implement time command.
10373
10374 * grub-core/Makefile.core.def (time): New module.
10375 * grub-core/commands/time.c: New file.
10376 * grub-core/script/parser.y: Remove "time" keyword.
10377 * grub-core/script/yylex.l: Likewise.
10378
5ebaad7e
VS
103792011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10380
10381 * include/grub/loader.h (grub_loader_unregister_preboot_hook): Export.
10382
bdea3798
VS
103832011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10384
10385 * grub-core/lib/relocator.c (malloc_in_range): Fix a memory corruption
10386 when handling leftovers.
10387
b28c5655
VS
103882011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10389
10390 * util/ieee1275/grub-ofpathname.c (main): Handle --help and --version
10391 so that help2man doesn't fail.
10392
b6f945dc
VS
103932011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10394
10395 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer) Use right
10396 type in pointers on sparc64.
10397 (get_card_packet): Likewise.
10398
f9b75e8a
CW
103992011-06-27 Colin Watson <cjwatson@ubuntu.com>
10400
10401 * grub-core/commands/videoinfo.c (hook): Indicate current video mode
10402 with `*'.
10403 (grub_cmd_videoinfo): Fetch current video mode.
10404
1e3d9b86
VS
104052011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10406
10407 * grub-core/disk/scsi.c (grub_scsi_read): Limit SCSI reads to 32K
10408 because of underlying system restrictions.
10409
efff4b1c
VS
104102011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10411
10412 * util/grub-mkrescue.in: Rename "ata" to "pata" and add ahci when
10413 necessary.
10414
9fc9ce37
VS
104152011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10416
10417 Coreboot video support.
10418
10419 * grub-core/Makefile.core.def (vga): Extend to coreboot and multiboot.
10420 (vbe): Likewise.
10421 * grub-core/kern/i386/coreboot/startup.S: Include int.S.
10422 * grub-core/kern/i386/pc/startup.S (grub_bios_interrupt): Moved from
10423 here ...
10424 * grub-core/kern/i386/int.S: ... here.
10425 * grub-core/video/i386/pc/vbe.c: Updated includes.
10426 * grub-core/video/i386/pc/vga.c: Likewise.
10427 * include/grub/i386/coreboot/memory.h
10428 (GRUB_MEMORY_MACHINE_SCRATCH_ADDR): New definition.
10429 (GRUB_MEMORY_MACHINE_SCRATCH_SEG): Likewise.
10430 (GRUB_MEMORY_MACHINE_SCRATCH_SIZE): Likewise.
10431 * include/grub/i386/pc/int.h (GRUB_CPU_INT_FLAGS_DEFAULT) [!PCBIOS]:
10432 Disable interrupts.
10433 * include/grub/i386/pc/vga.h: Removed. All users updated.
10434
41bec7fe
VS
104352011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10436
10437 * grub-core/disk/ahci.c (grub_ahci_readwrite_real): Use proper
10438 definitions for dprintf.
10439 * grub-core/disk/pata.c (grub_pata_readwrite): Likewise.
10440
ca80309d
VS
104412011-06-27 Vladimir Serbinenko <phcoder@gmail.com>
10442
10443 * grub-core/net/drivers/ieee1275/ofnet.c (send_card_buffer): Fix
10444 prototype.
10445 (get_card_packet): Likewise.
10446
9e322ce8
YB
104472011-06-26 Yves Blusseau <blusseau@zetam.org>
10448
10449 Display the path of the file when file is not found
10450
10451 * grub-core/fs/fat.c: Display the filename when file is not found.
10452 * grub-core/fs/fshelp.c: Likewise.
10453 * grub-core/fs/hfs.c: Likewise.
10454 * grub-core/fs/jfs.c: Likewise.
10455 * grub-core/fs/minix.c: Likewise.
10456 * grub-core/fs/ufs.c: Likewise.
10457 * grub-core/fs/btrfs.c: Likewise.
10458 * grub-core/commands/i386/pc/play.c: Likewise.
10459
cbf597af
SJ
104602011-06-26 Szymon Janc <szymon@janc.net.pl>
10461
10462 * grub-core/commands/cmp.c (grub_cmd_cmp): Remove unnecessary NULL
10463 pointer checks before calling grub_free().
10464 * grub-core/commands/wildcard.c (match_devices): Likewise.
10465 * grub-core/commands/wildcard.c (match_files): Likewise.
10466 * grub-core/fs/cpio.c (grub_cpio_dir): Likewise.
10467 * grub-core/fs/cpio.c (grub_cpio_open): Likewise.
10468 * grub-core/fs/udf.c (grub_udf_read_block): Likewise.
10469 * grub-core/fs/xfs.c (grub_xfs_read_block): Likewise.
10470 * grub-core/loader/efi/chainloader.c (grub_cmd_chainloader): Likewise.
10471 * grub-core/normal/cmdline.c (grub_cmdline_get): Likewise.
10472 * grub-core/script/yylex.l (grub_lexer_unput): Likewise.
10473 * grub-core/video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
10474 * grub-core/video/readers/png.c (grub_png_output_byte): Likewise.
10475
6295b32f
P
104762011-06-25 Patrick <p55@mailinator.com>
10477
10478 * grub-core/kern/main.c (grub_load_normal_mode): Correct the comment.
10479
77c0840b
VS
104802011-06-25 Vladimir Serbinenko <phcoder@gmail.com>
10481
10482 * grub-core/net/i386/pc/pxe.c (grub_pxe_recv): Fix declaration.
10483 (grub_pxe_send): Likewise.
10484 (GRUB_MOD_INIT): Fix types.
10485
40ea05de
SJ
104862011-06-24 Szymon Janc <szymon@janc.net.pl>
10487
10488 * grub-core/io/xzio.c: Fix code style issues
10489
90162423
MRA
104902011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
104912011-06-24 Manoel Rebelo Abranches <mrabran@gmail.com>
423a1849
MRA
10492
10493 Network infrastructure.
10494 The ARP protocol was made by Paulo Pinatti <ppinatti@br.ibm.com>
10495
10496 * include/grub/net/arp.h: New file.
90162423
MRA
10497 * include/grub/net/device.h: Likewise.
10498 * include/grub/net/ethernet.h: Likewise.
10499 * include/grub/net/ip.h: Likewise.
10500 * include/grub/net/netbuff.h: Likewise.
10501 * include/grub/net/tftp.h: Likewise.
10502 * include/grub/net/udp.h: Likewise.
10503 * include/grub/ieee1275/ofnet.h: Likewise.
10504 * include/grub/emu/export.h: Likewise.
10505 * include/grub/net.h: Likewise.
10506 * grub-core/net/arp.c: Likewise.
10507 * grub-core/net/ethernet.c: Likewise.
10508 * grub-core/net/ip.c: Likewise.
10509 * grub-core/net/udp.c: Likewise.
10510 * grub-core/net/tftp.c: Likewise.
10511 * grub-core/net/netbuff.c: Likewise.
10512 * grub-core/net/net.c: Likewise.
10513 * grub-core/net/drivers/emu/emunet.c: Likewise.
10514 * grub-core/net/drivers/ieee1275/ofnet.c: Likewise.
10515 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add net.h, ofnet.h and
10516 export.h.
10517 * grub-core/Makefile.core.def (net): New module.
10518 (tftp): Likewise.
10519 (ofnet): Likewise.
10520 (emunet): Likewise.
10521 * grub-core/commands/ls.c (grub_ls_list_devices) [!GRUB_UTIL]: List
10522 network protocols.
10523 * grub-core/kern/device.c (grub_net_open) : New variable.
10524 (grub_device_open): Handle network device.
10525 (grub_device_close): Likewise.
10526 * grub-core/kern/file.c (grub_file_net_seek) : New variable.
10527 (grub_grubnet_fini): Likewise.
10528 (grub_file_seek): Seek in network device.
10529 * grub-core/kern/fs.c (grub_fs_probe): Handle network devices.
10530 * grub-core/kern/ieee1275/init.c (grub_machine_set_prefix): Handle
10531 network root.
10532 (grub_machine_fini): Call grub_grubnet_fini.
10533 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_parse_args): Handle
10534 network.
10535 (grub_ieee1275_get_aliasdevname): New function.
10536 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
10537 Add unofficial Solaris network info.
10538 (grub_multiboot_make_mbi): Likewise.
10539 * grub-core/fs/i386/pc/pxe.c: Moved from here ...
10540 * grub-core/net/i386/pc/pxe.c: ...here. Adapted for new design.
10541 * include/grub/device.h (grub_fs): Removed.
10542 * include/grub/err.h (grub_err_t): Add network-related values.
10543 * include/grub/i386/pc/pxe.h: Removed bootp parts.
10544 * include/grub/ieee1275/ieee1275.h (grub_ofnetcard_data): New struct.
10545 (grub_ieee1275_get_aliasdevname): New proto.
10546 * include/grub/net.h: Rewritten.
423a1849 10547
031f22a0
VS
105482011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10549
10550 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of readable
10551 names.
10552
4388ca72
VS
105532011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10554
10555 * grub-core/commands/wildcard.c (match_files): Add a useful dprintf.
10556 (wildcard_expand): Don't stop on nonregexp parts after regexp ones since
10557 it truncates the output.
10558 Reported by: Ximin Luo.
10559
98e2f506
VS
105602011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10561
10562 * grub-core/fs/iso9660.c (grub_iso9660_iterate_dir): Skip . and ..
10563
2a5e94d8
VS
105642011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10565
10566 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
10567 partmap before abstraction.
10568
535c1910
AK
105692011-06-24 Alexander Kurtz <kurtz.alex@googlemail.com>
10570
10571 * util/grub-mkconfig_lib.in: Add missing quotes.
10572
bc09e1a2
VS
105732011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10574
10575 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Revert to
10576 old method if mountinfo would return /dev/root and /dev/root doesn't
10577 exist.
10578
290766fb
VS
105792011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10580
10581 ZFS zlib support
10582
10583 * grub-core/fs/zfs/zfs.c (zlib_decompress): New function.
10584 (decomp_table): Add zlib entries.
10585 (zio_read): USe 8 bits for compression function rather than 3.
10586 * include/grub/zfs/zio.h (zio_compress): Add zlib values.
10587
105882011-06-24 Vladimir Serbinenko <phcoder@gmail.com>
10589
10590 * grub-core/disk/ahci.c: Add missing license statements.
10591 * grub-core/fs/romfs.c: Likewise.
10592 * grub-core/lib/ia64/setjmp.S: Likewise.
10593 * grub-core/loader/i386/pc/freedos.c: Likewise.
10594 * grub-core/loader/ia64/efi/linux.c: Likewise.
10595 * grub-core/video/colors.c: Likewise.
10596 * include/grub/dl.h (GRUB_MOD_DEP): New macro.
10597
5ab3f48a
VS
105982011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10599
10600 AHCI support.
10601
10602 * grub-core/Makefile.core.def (ata_pthru): Removed.
10603 (ahci): New module.
10604 (pata): Likewise.
10605 * grub-core/bus/usb/ohci.c (GRUB_MOD_FINI): Unregister preboot hook
10606 on unload.
10607 * grub-core/commands/hdparm.c (grub_hdparm_do_ata_cmd): Use ATA
10608 readwrite.
10609 (grub_hdparm_do_check_powermode_cmd): Likewise.
10610 (grub_hdparm_do_smart_cmd): Likewise.
10611 (grub_hdparm_set_val_cmd): Likewise.
10612 (grub_cmd_hdparm): Likewise. Check thta we have an ATA device.
10613 * grub-core/disk/ahci.c: New file.
10614 * grub-core/disk/ata.c: Factor out the low-level part into ...
10615 * grub-core/disk/pata.c: ... here.
10616 * grub-core/disk/ata_pthru.c: Contents moved to ...
10617 * grub-core/disk/pata.c: ... here.
10618 * grub-core/disk/scsi.c (grub_scsi_names): New array.
10619 (grub_scsi_iterate): Use grub_scsi_names.
10620 (grub_scsi_open): Likewise.
10621 * grub-core/kern/disk.c (grub_disk_ata_pass_through): Removed.
10622 * include/grub/ata.h (grub_ata_commands): Add DMA commands.
10623 (grub_ata_regs_t): New struct.
10624 (grub_disk_ata_pass_through_parms): Likewise.
10625 (grub_ata_device): Renamed to ...
10626 (grub_ata): ... this.
10627 (grub_ata_dev): New struct.
10628 Removed all low-level inline functions.
10629 * include/grub/scsi.h: Add PATA and AHCI subsystems.
10630 (grub_scsi_dev): Removed 'name' and 'id'. Added 'id' parameter to
10631 iterate hooks and open. All users updated.
10632 * util/grub-install.in: Handle AHCI disk module.
10633
c31dc5f5
SJ
106342011-06-23 Szymon Janc <szymon@janc.net.pl>
10635
10636 Add support for DRI and RSTn markers in JPEG files.
10637
10638 * grub-core/video/readers/jpeg.c (JPEG_MARKER_DRI): New define.
10639 (JPEG_MARKER_RST0): Likewise.
10640 (JPEG_MARKER_RST1): Likewise.
10641 (JPEG_MARKER_RST2): Likewise.
10642 (JPEG_MARKER_RST3): Likewise.
10643 (JPEG_MARKER_RST4): Likewise.
10644 (JPEG_MARKER_RST5): Likewise.
10645 (JPEG_MARKER_RST6): Likewise.
10646 (JPEG_MARKER_RST7): Likewise.
10647 (grub_jpeg_data): New fields dri, r1, bitmap_ptr.
10648 (grub_jpeg_decode_dri): New function.
10649 (grub_jpeg_decode_sos): Move image data related part into
10650 grub_jpeg_decode_data function.
10651 (grub_jpeg_decode_data): New function.
10652 (grub_jpeg_reset): New function.
10653 (grub_jpeg_decode_jpeg): Handle new markers.
10654
fe12fd5b
VS
106552011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10656
10657 * util/ieee1275/ofpath.c (check_sas): Close fd.
10658 (main): Free of_path.
10659 Reported by: David Volgyes <dvolgyes>.
10660
03147f46
VS
106612011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10662
10663 * util/grub-mkpasswd-pbkdf2.c (main): Don't double-close.
10664 Reported by: David Volgyes <dvolgyes>.
10665
cad3237f
VS
106662011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10667
10668 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Close
10669 file after stat.
10670 Reported by: David Volgyes <dvolgyes>.
10671
13548d26
VS
106722011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10673
10674 * util/raid.c (grub_util_raid_getmembers): Close fd before returning.
10675
10676 Reported by: David Volgyes <dvolgyes>.
10677
e061a1b5
VS
106782011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10679
10680 * grub-core/lib/reed_solomon.c (rs_recover) [STANDALONE]:
10681 Prevent memory leak.
10682
1abe47dc
VS
106832011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10684
10685 * grub-core/lib/reed_solomon.c (rs_recover): Prevent memory leak.
10686 (main): Close file.
e061a1b5 10687 Reported by: David Volgyes <dvolgyes>.
1abe47dc 10688
fbc62666
VS
106892011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10690
10691 * grub-core/loader/i386/xnu.c (grub_cpu_xnu_fill_devprop): Don't attempt
10692 to continue if allocation is failed.
10693
10694 Reported by: David Volgyes <dvolgyes>.
10695
e98c83e9
DV
106962011-06-23 David Volgyes <dvolgyes>
10697
10698 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Avoid NULL-pointer
10699 dereference.
10700
a199a8cd
VS
107012011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10702
10703 Fix spurious warning.
10704
10705 * grub-core/partmap/acorn.c (grub_acorn_boot_block): Make a union.
10706 (acorn_partition_map_find): Use .bin member.
10707
e2d1dba0
VS
107082011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10709
10710 * grub-core/kern/emu/getroot.c (grub_guess_root_device): Don't accept
10711 /dev/root as a valid device.
10712
8a5d6919
JM
107132011-06-23 Jim Meyering <meyering@redhat.com>
10714
e2d1dba0
VS
10715 Avoid NULL deref in grub_device_open.
10716
8a5d6919
JM
10717 * grub-core/kern/device.c (grub_device_open): Don't dereference
10718 a NULL pointer upon failed grub_env_get.
10719
f7db6f4a
VS
107202011-06-23 Vladimir Serbinenko <phcoder@gmail.com>
10721
10722 Support non-512B sectors and agglomerate reads.
10723
10724 * Makefile.util.def (libgrubmods.a): Add grub-core/commands/testload.c.
10725 * grub-core/disk/efi/efidisk.c (grub_efidisk_data): Remove disk_io.
10726 (disk_io_guid): Removed.
10727 (make_devices): Locate solely by BlockIO.
10728 (grub_efidisk_open): Fill log_sector_size and total_sectors.
10729 (grub_efidisk_read): Use read_blocks.
10730 (grub_efidisk_write): Use write_blocks.
10731 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Fill
10732 log_sector_size.
10733 (get_safe_sectors): Handle non-512B sectors.
10734 (grub_biosdisk_read): Remove special CDROM handling. Handle non-512B
10735 sectors.
10736 (grub_biosdisk_write): Handle non-512B sectors.
10737 * grub-core/disk/scsi.c (grub_scsi_open): Fill log_sector_size.
10738 (grub_scsi_read): Remove special non-512B block handling (now handled
10739 one level up).
10740 * grub-core/kern/disk.c (grub_disk_open): Fill default log_sector_size
10741 and do sanity checks.
10742 (grub_disk_adjust_range): Handle non-512B sectors.
10743 (transform_sector): New function.
10744 (grub_disk_read_small): Likewise.
10745 (grub_disk_read): Rewritten.
10746 (grub_disk_write): Handle non-512B sectors.
10747 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_open): Fill
10748 log_sector_size.
10749 (open_device): Use log_sector_size.
10750 (grub_util_biosdisk_read): Likewise.
10751 (grub_util_biosdisk_write): Likewise.
10752 * grub-core/partmap/msdos.c (grub_partition_msdos_iterate): Handle
10753 non-512B sectors.
10754 (pc_partition_map_embed): Likewise.
10755 * include/grub/disk.h (grub_disk): New field log_sector_size.
10756 (GRUB_DISK_CACHE_SIZE): Redefined from GRUB_DISK_CACHE_BITS.
10757 (GRUB_DISK_CACHE_BITS): Increased to 6.
10758 * util/grub-fstest.c (fstest): New command testload.
10759 (argp_parser): Likewise.
10760
881ac815
RM
107612011-06-16 Robert Millan <rmh@gnu.org>
10762
10763 Detect `ataraid' devices on GNU/kFreeBSD. Fix for ATA devices using
10764 `ata' driver on kernel of FreeBSD 9.
10765
10766 * util/deviceiter.c [__FreeBSD_kernel__] (get_ada_disk_name)
10767 (get_ataraid_disk_name): New functions.
10768 [__FreeBSD_kernel__] (grub_util_iterate_devices): Scan for ataraid
10769 (/dev/ar[0-9]+) and ada (/dev/ada[0-9]+) devices using
10770 get_ataraid_disk_name() and get_ada_disk_name().
10771
1e9aef7d
CW
107722011-06-13 Colin Watson <cjwatson@ubuntu.com>
10773
10774 * docs/man/grub-mklayout.h2m (DESCRIPTION): Add a reference to the
10775 input format.
10776
351c7c8a
CW
107772011-05-29 Colin Watson <cjwatson@ubuntu.com>
10778
10779 * docs/grub.texi (Obtaining and Building GRUB): Substitute
10780 `ftp.gnu.org' for `alpha.gnu.org'.
10781
6b4e6430
CW
107822011-05-27 Colin Watson <cjwatson@ubuntu.com>
10783
10784 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Handle
10785 partitions under /dev/disk/by-id/.
10786
c64db050
CW
107872011-05-27 Colin Watson <cjwatson@ubuntu.com>
10788
10789 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Give up
10790 after ten consecutive open failures. Scanning all the way up to
10791 10000 is excessive and can cause serious performance problems in
10792 some configurations.
10793 Fixes Ubuntu bug #787461.
10794
245f4aba
VS
107952011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10796
10797 * grub-core/disk/arc/arcdisk.c (reopen): Close old handle before
10798 opening new one.
10799
f767c929
VS
108002011-05-21 Colin Watson <cjwatson@ubuntu.com>
108012011-05-21 Vladimir Serbinenko <phcoder@gmail.com>
10802
10803 Don't stat devices unless we have to.
10804
10805 * grub-core/kern/emu/getroot.c (grub_find_device): Recognize
10806 dir == /dev/mapper.
10807 (grub_guess_root_device): Use already known os_dev if possible.
10808 * grub-core/kern/emu/hostdisk.c
10809 (convert_system_partition_to_system_disk): Scan only in /dev/mapper
10810 if device is known to be a dm one.
10811
f35fa3a6
CW
108122011-05-20 Colin Watson <cjwatson@ubuntu.com>
10813
10814 * util/grub-mkconfig.in: Export GRUB_CMDLINE_LINUX_XEN_REPLACE and
10815 GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT.
10816 Reported by: Pawel Tecza.
10817
9a79fcf2
VS
108182011-05-19 Vladimir Serbinenko <phcoder@gmail.com>
10819
10820 * grub-core/Makefile.core.def (lsacpi): Fix ia64 mismerge.
10821 (lsefisystab): Likewise.
10822 (lssal): Likewise.
10823 (lsefimmap): Likewise.
10824 (hdparm): Enable on qemu-mips.
10825 (setjmp): Add ia64 nodist.
10826 (serial): Simplify tags.
10827
63e3eea9
CW
108282011-05-18 Colin Watson <cjwatson@ubuntu.com>
10829
10830 * Makefile.util.def (grub-ofpathname): Install manual page.
10831
09728256
CW
108322011-05-18 Colin Watson <cjwatson@ubuntu.com>
10833
10834 * grub-core/fs/squash4.c: Add missing GRUB_MOD_LICENSE.
10835
8b63a142
CW
108362011-05-18 Colin Watson <cjwatson@ubuntu.com>
10837
10838 * .bzrignore: Add grub-core/modinfo.sh and a number of test files.
10839
e775d8ed
VS
108402011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10841
10842 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Downgrade a printf
10843 into dprintf.
10844
bf947d36
VS
108452011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10846
10847 Use full 64-bit division.
10848
10849 * grub-core/kern/misc.c (grub_divmod64_full): Renamed to ...
10850 (grub_divmod64): ... this.
10851 * include/grub/misc.h (grub_divmod64): Removed. All users switch to full
10852 version.
10853
b84f26c5
CW
108542011-05-18 Colin Watson <cjwatson@ubuntu.com>
10855
10856 * util/grub-mkrescue.in: Use portable `.' rather than non-portable
10857 `source'.
10858
5626056f
CW
108592011-05-18 Colin Watson <cjwatson@ubuntu.com>
10860
10861 * grub-core/genmod.sh.in: Use 'set -e' rather than '#! /bin/sh -e',
10862 to avoid accidents when debugging with 'sh -x'.
10863 * grub-core/gensyminfo.sh.in: Likewise.
10864 * tests/example_scripted_test.in: Likewise.
10865 * tests/grub_cmd_regexp.in: Likewise.
10866 * tests/grub_script_blanklines.in: Likewise.
10867 * tests/grub_script_dollar.in: Likewise.
10868 * tests/grub_script_expansion.in: Likewise.
10869 * tests/grub_script_final_semicolon.in: Likewise.
10870 * tests/partmap_test.in: Likewise.
10871 * tests/util/grub-shell-tester.in: Likewise.
10872 * tests/util/grub-shell.in: Likewise.
10873
e2965f4a
CW
108742011-05-18 Colin Watson <cjwatson@ubuntu.com>
10875
10876 Move gfxmenu color handling to video, so that gfxterm can use it
10877 too.
10878
10879 * grub-core/gfxmenu/named_colors.c: Move to ...
10880 * grub-core/video/colors.c: ... here. Rename
10881 grub_gui_get_named_color to grub_video_get_named_color.
10882 * grub-core/gfxmenu/gui_string_util.c (my_isxdigit): Move to ...
10883 * grub-core/video/colors.c (my_isxdigit): ... here.
10884 * grub-core/gfxmenu/gui_string_util.c (parse_hex_color_component):
10885 Move to ...
10886 * grub-core/video/colors.c (parse_hex_color_component): ... here.
10887 * grub-core/gfxmenu/gui_string_util.c (grub_gui_parse_color): Move
10888 to ...
10889 * grub-core/video/colors.c (grub_video_parse_color): ... here.
10890
10891 * include/grub/gui.h (grub_gui_color_t): Move to ...
10892 * include/grub/video.h (grub_video_rgba_color_t): ... here.
10893 * include/grub/gui.h (grub_gui_color_rgb): Move to ...
10894 * include/grub/video.h (grub_video_rgba_color_rgb): ... here.
10895 * include/grub/gui.h (grub_gui_map_color): Move to ...
10896 * include/grub/video.h (grub_video_map_rgba_color): ... here.
10897 * include/grub/gui_string_util.h (grub_gui_get_named_color): Move
10898 to ...
10899 * include/grub/video.h (grub_video_get_named_color): ... here.
10900 * include/grub/gui_string_util.h (grub_gui_parse_color): Move to ...
10901 * include/grub/video.h (grub_video_parse_color): ... here.
10902
10903 * grub-core/Makefile.core.def (kernel) [videoinkernel]: Add
10904 video/colors.c.
10905 (gfxmenu): Remove gfxmenu/named_colors.c.
10906 (video) [videomodules]: Add video/colors.c.
10907
10908 Add a background_color command.
10909
10910 * grub-core/term/gfxterm.c (grub_gfxterm_background_color_cmd): New
10911 function.
10912 (GRUB_MOD_INIT): Register background_color command.
10913 (GRUB_MOD_FINI): Unregister background_color command.
10914 (redraw_screen_rect): Allow blend/replace of text layer to be
10915 controlled independently from whether there is a background bitmap.
10916 (grub_gfxterm_background_image_cmd): Change blend_text_bg when
10917 changing bitmap.
10918
1e4b4390
VS
109192011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10920
26618ff0
VS
10921 Patch BPB in ntldr and chainloader --bpb.
10922
1e4b4390
VS
10923 * grub-core/fs/fat.c: Include grub/fat.h.
10924 (grub_fat_bpb): Moved to ...
10925 * include/grub/fat.h (grub_fat_bpb): ... here. New file.
10926 * grub-core/loader/i386/pc/chainloader.c: Include grub/fat.h and
10927 grub/ntfs.h.
10928 * include/grub/i386/pc/chainloader.h (grub_chainloader_flags_t):
10929 Moved from here...
10930 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_flags_t): ...
10931 here.
10932 * grub-core/loader/i386/pc/chainloader.c (grub_chainloader_patch_bpb):
10933 New function.
10934 (grub_chainloader_cmd): Patch BPB if --bpb is given.
10935 (GRUB_MOD_INIT): Show --bpb.
10936 * grub-core/loader/i386/pc/ntldr.c (grub_cmd_ntldr): Patch BPB.
10937 * grub-core/normal/main.c (features): New variable.
10938 (GRUB_MOD_INIT): Set feature_* variables.
10939 * include/grub/i386/pc/chainloader.h (grub_chainloader_patch_bpb): New
10940 proto.
10941 * include/grub/ntfs.h (grub_ntfs_bpb): New field bios_drive.
10942
cf02731e
VS
109432011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10944
10945 * grub-core/Makefile.core.def (ieee1275_fb): Use enable=powerpc_ieee1275
10946 for cleanness.
10947
e3a1073f
VS
109482011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10949
10950 FreeDOS direct loading support.
10951
10952 * docs/grub.texi (Supported OS): Add FreeDOS.
10953 * grub-core/Makefile.core.def (freedos): New module.
10954 * grub-core/lib/i386/relocator.c (grub_relocator16_ebx): New extern
10955 variable.
10956 (grub_relocator16_boot): Handle %ebx.
10957 * grub-core/lib/i386/relocator16.S: Likewise.
10958 * grub-core/loader/i386/pc/freedos.c: New file.
10959
05caa461
VS
109602011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10961
10962 Long Linux command line support.
10963
10964 * grub-core/loader/i386/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
10965 (maximal_cmdline_size): New variable.
10966 (allocate_pages): Use maximal_cmdline_size.
10967 (grub_cmd_linux): Set and use maximal_cmdline_size.
10968 * grub-core/loader/i386/pc/linux.c (GRUB_LINUX_CL_END_OFFSET): Removed.
10969 (allocate_pages): Use maximal_cmdline_size.
10970 (grub_cmd_linux): Set and use maximal_cmdline_size.
10971 * include/grub/i386/linux.h (GRUB_LINUX_SETUP_MOVE_SIZE): Removed.
10972 (linux_kernel_header): Add fields kernel_alignment, relocatable, pad
10973 and cmdline_size.
10974
a2491e23
VS
109752011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
109762011-05-18 Colin Watson <cjwatson@ubuntu.com>
10977
10978 Improve devmapper support
10979
10980 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Removed.
10981 (grub_util_is_lvm): New function.
10982 (grub_util_get_dev_abstraction): Assume dmraid if not lvm rather
10983 than lvm if not dmraid.
10984 Handle mapped md nodes.
10985 * grub-core/kern/emu/hostdisk.c (device_is_mapped): Rename to ...
10986 (grub_util_device_is_mapped): ... this. Make always available. All users
10987 updated.
10988 (grub_util_get_dm_node_linear_info) [HAVE_DEVICE_MAPPER]: New function.
10989 (convert_system_partition_to_system_disk): Handle lvm, mpath and
10990 dmraid nodes.
10991 * include/grub/emu/misc.h (grub_util_device_is_mapped): New proto.
10992
6ad6223e
VS
109932011-05-18 Vladimir Serbinenko <phcoder@gmail.com>
10994
10995 Unify grub-mkrescue (except powerpc) and grrub-mknetdir across platforms
10996
10997 * grub-core/Makefile.am (platform_DATA): Add modinfo.sh.
10998 * grub-core/modinfo.sh.in: New file.
10999 * grub-core/Makefile.core.def (modinfo.sh): New script.
11000 * util/grub-mknetdir.in: Use modinfo.sh.
11001 * util/grub-mkrescue.in: Likewise.
11002
543a8f6e
VS
110032011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11004
11005 * grub-core/kern/ia64/dl_helper.c (grub_ia64_dl_get_tramp_got_size):
11006 Fix potential usage of Elf32 instead of Elf64 when compiling on
11007 32-bit architecture. Add endianness macros while on it.
11008
4959e111
VS
110092011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11010
11011 Use mipsel- rather than mips- in directories involving mipsel ports to
11012 allow both endiannesses coexist.
11013
11014 * configure.ac: proparate target_cpu=mipsel rather than resetting to
11015 mips. All conditions adjusted.
11016 * tests/util/grub-shell-tester.in: Remove gratuitious target_cpu
11017 variable.
11018 * util/grub-install.in: Adjust conditions to take renaming into account.
11019 * util/grub-mkimage.c (image_targets): Likewise. New target
11020 mips-qemu_mips-elf for bigendian mips.
11021
35341bbc
VS
110222011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11023
11024 Avoid unnecessary copying on MIPS.
11025
11026 * grub-core/boot/decompressor/none.c (grub_decompress_core): Exit
11027 early if src == dest.
11028 * util/grub-mkimage.c (generate_image): Arange for src == dest if
11029 compression is none.
11030
b772baed
VS
110312011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11032
11033 Reduce memory footprint on SGI by putting modules before the kernel
11034 as opposed to after.
11035
11036 * grub-core/Makefile.core.def (kernel): Increase linking address.
11037 (none_decompress): Likewise.
11038 (xz_decompress): Likewise.
11039 * grub-core/boot/mips/startup_raw.S: Use prewritten uncompression
11040 address.
11041 * grub-core/kern/mips/arc/init.c (grub_machine_init): Handle memory
11042 layout change.
11043 (grub_arch_modules_addr): New function.
11044 * grub-core/kern/mips/init.c (grub_arch_modules_addr): Moved from here...
11045 * grub-core/kern/mips/loongson/init.c (grub_arch_modules_addr): .. here
11046 * grub-core/kern/mips/qemu_mips/init.c (grub_arch_modules_addr): ... and
11047 here.
11048 * grub-core/kern/mips/startup.S (total_size): Rename to ...
11049 (grub_total_modules_size): ... this. Make global.
11050 [GRUB_MACHINE_ARC]: Don't attempt to move modules out of the bss.
11051 * include/grub/offsets.h (GRUB_KERNEL_MIPS_LOONGSON_UNCOMPRESSED_ADDR):
11052 New definition.
11053 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_ADDR): Likewise.
11054 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_ADDR): Likewise.
11055 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_ADDR): Likewise.
11056 (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): Increased.
11057 * util/grub-mkimage.c (image_target_desc): New flag
11058 PLATFORM_FLAGS_MODULES_BEFORE_KERNEL.
11059 (image_targets): Set PLATFORM_FLAGS_MODULES_BEFORE_KERNEL on mips-arc.
11060 (generate_image): Handle images with modules before kernel.
11061
566a1917
VS
110622011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11063
11064 Prevent potential loss of memory map by overwrite on qemu-mips.
11065
11066 * grub-core/boot/mips/startup_raw.S [GRUB_MACHINE_MIPS_QEMU_MIPS]:
11067 Save ram size in $s4.
11068 * grub-core/kern/mips/qemu_mips/init.c (RAMSIZE): Removed.
11069 All users changed to grub_arch_memsize.
11070 * grub-core/kern/mips/startup.S (grub_arch_machine): Restrict to
11071 Loongson.
11072 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Save grub_arch_memsize.
11073 * grub-core/loader/mips/linux.c (grub_linux_boot): Pass memory size.
11074 * include/grub/mips/qemu_mips/memory.h (grub_arch_memsize): New
11075 external variable.
11076
5d420cd9
CW
110772011-05-17 Colin Watson <cjwatson@ubuntu.com>
11078
11079 * .bzrignore: Remove grub-dumpbios.
11080
d064b830
CW
110812011-05-17 Colin Watson <cjwatson@ubuntu.com>
11082
11083 * util/grub.d/20_linux_xen.in: Honour GRUB_CMDLINE_LINUX_XEN_REPLACE
11084 and GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT, which replace
11085 GRUB_CMDLINE_LINUX and GRUB_CMDLINE_LINUX_DEFAULT (complementing the
11086 existing options which append).
11087 * docs/grub.texi (Simple configuration): Document new options.
11088 Reported by: Ian Jackson. Fixes Debian bug #617538.
11089
3ca2b466
CW
110902011-05-17 Colin Watson <cjwatson@ubuntu.com>
11091
11092 * util/grub-fstest.c (cmd_cat): New function.
11093 (fstest): Handle CMD_CAT.
11094 (options): Add cat.
11095 (argp_parser): Handle cat.
11096
24c9143a
CW
110972011-05-17 Colin Watson <cjwatson@ubuntu.com>
11098
11099 * Makefile.util.def (grub-bin2h): Don't install.
11100 * docs/man/grub-bin2h.h2m: Remove.
11101
90f7ac19
VS
111022011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11103
11104 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Move to the right
11105 place.
11106
8d4a5178
VS
111072011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11108
11109 Reenable qemu-mips port.
11110
11111 * configure.ac: Handle --target=qemu-mips and --target=qemu_mips.
11112 Fix small arc bug while on it.
11113 * gentpl.py: Handle qemu_mips.
11114 * grub-core/Makefile.am: Likewise.
11115 * grub-core/Makefile.core.def: Likewise.
11116 * grub-core/disk/ata.c [GRUB_MACHINE_MIPS_QEMU_MIPS]: Remove
11117 inappropriate includes.
11118 (grub_ata_pciinit) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Removed.
11119 (grub_ata_initialize): [GRUB_MACHINE_MIPS_QEMU_MIPS]: Rewritten.
11120 * grub-core/kern/main.c (grub_modules_get_end)
11121 [GRUB_MACHINE_MIPS_QEMU_MIPS]: Enable.
11122 * grub-core/kern/mips/qemu-mips: Moved to ..
11123 * grub-core/kern/mips/qemu_mips: ... this.
11124 * grub-core/kern/mips/qemu_mips/init.c (grub_get_rtc): Removed.
11125 (grub_machine_init): Call terminfo_init and serial_init.
11126 * grub-core/kern/mips/startup.S: Change MIPS_LOONGSON to MACHINE.
11127 * grub-core/loader/mips/linux.c (params) [GRUB_MACHINE_MIPS_QEMU_MIPS]:
11128 New variable.
11129 (grub_linux_boot) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle the qemu-mips
11130 parameter passing.
11131 (grub_linux_unload) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Free params.
11132 (grub_cmd_linux) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Handle params.
11133 (grub_cmd_initrd) [GRUB_MACHINE_MIPS_QEMU_MIPS]: Likewise.
11134 * include/grub/mips/qemu_mips/cmos.h: New file.
11135 * include/grub/mips/qemu-mips/kernel.h: Don't include cpu/kernel.h.
11136 * include/grub/mips/qemu-mips/memory.h (grub_machine_mmap_iterate):
11137 Removed.
11138 * include/grub/mips/qemu-mips/serial.h (GRUB_MACHINE_SERIAL_PORTS):
11139 Use correct mips-style address.
11140 * include/grub/mips/qemu-mips/time.h: Include cpu/time.h.
11141 (GRUB_TICKS_PER_SECOND): Removed.
11142 (grub_get_rtc): Likewise.
11143 (grub_cpu_idle): Likewise.
11144 * include/grub/offsets.h (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ADDR):
11145 New definition.
11146 (GRUB_KERNEL_MIPS_QEMU_MIPS_LINK_ALIGN): Likewise.
11147 (GRUB_KERNEL_MIPS_QEMU_MIPS_COMPRESSED_SIZE): Likewise.
11148 (GRUB_KERNEL_MIPS_QEMU_MIPS_UNCOMPRESSED_SIZE): Likewise.
11149 (GRUB_KERNEL_MIPS_QEMU_MIPS_TOTAL_MODULE_SIZE): Likewise.
11150 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX): Likewise.
11151 (GRUB_KERNEL_MIPS_QEMU_MIPS_PREFIX_END): Likewise.
11152 (GRUB_KERNEL_MIPS_QEMU_MIPS_MOD_ALIGN): Likewise.
11153 * util/grub-mkimage.c (image_targets): Add mipsel-qemu_mips-elf.
11154
400b9371
VS
111552011-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11156
11157 SGI ARCS port.
11158
11159 * Makefile.util.def (libgrubmods.a): Add dvh.c.
11160 * conf/Makefile.common (CCASFLAGS_PLATFORM): Add -mips3 on all mips
11161 platforms.
11162 * configure.ac: New target mips-arc.
11163 * gentpl.py: Likewise.
11164 * grub-core/Makefile.am: Likewise.
11165 * grub-core/Makefile.core.def: Likewise.
11166 (xz_decompress): Remove -D GRUB_MACHINE_LINK_ADDR.
11167 (none_decompress): Likewise.
11168 (lsdev): New module.
11169 (datetime): Use lib/arc/datetime.c on ARC.
11170 (part_dvh): New module.
11171 * grub-core/commands/arc/lsdev.c: New file.
11172 * grub-core/disk/arc/arcdisk.c: Likewise.
11173 * grub-core/kern/mips/arc/init.c: Likewise.
11174 * grub-core/kern/mips/cache_flush.S: Don't flush non 4-byte
11175 aligned addresses.
11176 * grub-core/kern/mips/dl.c (grub_arch_dl_check_header): Fix bigendian
11177 support.
11178 (grub_arch_dl_relocate_symbols): Likewise.
11179 * grub-core/kern/mips/loongson/init.c (grub_get_rtc): Moved from here...
11180 * grub-core/kern/mips/init.c (grub_get_rtc): ... here.
11181 * grub-core/kern/mips/startup.S (grub_arch_cpuclock): Have on all
11182 platforms.
11183 * grub-core/lib/arc/datetime.c: New file.
11184 * grub-core/loader/mips/linux.c: Always include time.h. Don't include
11185 pci.h on non-loongson.
11186 (envp_off) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove.
11187 (grub_linux_boot): Set unused registers to 0.
11188 (grub_cmd_linux) [!GRUB_MACHINE_MIPS_LOONGSON]: Remove envp.
11189 * grub-core/mmap/mips/loongson/uppermem.c: Moved from here ...
11190 * grub-core/mmap/mips/uppermem.c: ...here.
11191 * grub-core/partmap/dvh.c: New file.
11192 * grub-core/term/arc/console.c: Likewise.
11193 * grub-core/term/terminfo.c (ANSI_C0_STR): New const.
11194 (grub_terminfo_set_current): Add terminal "arc".
11195 (grub_terminfo_readkey): Support ARC sequences.
11196 * include/grub/arc/arc.h: New file.
11197 * include/grub/arc/console.h: Likewise.
11198 * include/grub/disk.h (grub_disk_dev_id): Add
11199 GRUB_DISK_DEVICE_ARCDISK_ID.
11200 * include/grub/mips/arc/kernel.h: New file.
11201 * include/grub/mips/arc/memory.h: Likewise.
11202 * include/grub/mips/arc/time.h: Likewise.
11203 * include/grub/mips/loongson/kernel.h (grub_halt): Moved from here ...
11204 * include/grub/mips/kernel.h (grub_halt): ... here.
11205 * include/grub/mips/loongson.h (GRUB_CPU_REGISTER_WRAP): Moved from
11206 here...
11207 * include/grub/mips/mips.h (GRUB_CPU_REGISTER_WRAP): ... here.
11208 (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): Moved from here ...
11209 * include/grub/mips/mips.h (GRUB_CPU_LOONGSON_COP0_TIMER_COUNT): .. here
11210 * include/grub/mips/loongson/kernel.h (grub_reboot): Removed redundant
11211 proto.
11212 * include/grub/mips/loongson/memory.h (GRUB_ARCH_LOWMEMVSTART): Moved
11213 from here ...
11214 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMVSTART): ... here.
11215 (GRUB_ARCH_LOWMEMPSTART): Moved from here ...
11216 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMPSTART): ... here.
11217 (GRUB_ARCH_LOWMEMMAXSIZE): Moved from here ...
11218 * include/grub/mips/memory.h (GRUB_ARCH_LOWMEMMAXSIZE): ... here.
11219 (GRUB_ARCH_HIGHMEMPSTART): Moved from here ...
11220 * include/grub/mips/memory.h (GRUB_ARCH_HIGHMEMPSTART): ... here.
11221 (grub_phys_addr_t): Moved from here ...
11222 * include/grub/mips/memory.h (grub_phys_addr_t): ... here.
11223 (grub_vtop): Moved from here ...
11224 * include/grub/mips/memory.h (grub_vtop): ... here.
11225 (grub_map_memory): Moved from here ...
11226 * include/grub/mips/memory.h (grub_map_memory): ... here.
11227 (grub_unmap_memory): Moved from here ...
11228 * include/grub/mips/memory.h (grub_unmap_memory): ... here.
11229 (grub_machine_mmap_iterate): Moved from here ...
11230 * include/grub/mips/memory.h (grub_machine_mmap_iterate): ... here.
11231 (grub_mmap_get_lower): Moved from here ...
11232 * include/grub/mips/memory.h (grub_mmap_get_lower): ... here.
11233 (grub_mmap_get_upper): Moved from here ...
11234 * include/grub/mips/memory.h (grub_mmap_get_upper): ... here.
11235 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
11236 here ...
11237 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
11238 * include/grub/mips/loongson/time.h (grub_get_rtc): Moved from
11239 here ...
11240 * include/grub/mips/time.h (grub_get_rtc): ... here.
11241 * include/grub/mips/loongson/time.h (grub_arch_cpuclock): Moved from
11242 here ...
11243 * include/grub/mips/time.h (grub_arch_cpuclock): ... here.
11244 * include/grub/mips/loongson/time.h (grub_cpu_idle): Moved from
11245 here ...
11246 * include/grub/mips/time.h (grub_cpu_idle): ... here.
11247 * include/grub/offsets.h (GRUB_KERNEL_MIPS_ARC_LINK_ADDR): New
11248 definition.
11249 (GRUB_KERNEL_MIPS_ARC_LINK_ALIGN): Likewise.
11250 (GRUB_KERNEL_MIPS_ARC_COMPRESSED_SIZE): Likewise.
11251 (GRUB_KERNEL_MIPS_ARC_UNCOMPRESSED_SIZE): Likewise.
11252 (GRUB_KERNEL_MIPS_ARC_TOTAL_MODULE_SIZE): Likewise.
11253 (GRUB_KERNEL_MIPS_ARC_PREFIX): Likewise.
11254 (GRUB_KERNEL_MIPS_ARC_PREFIX_END): Likewise.
11255 (GRUB_KERNEL_MIPS_ARC_MOD_ALIGN): Likewise.
11256 (GRUB_MACHINE_LINK_ADDR): Likewise.
11257 * include/grub/terminfo.h (GRUB_TERMINFO_READKEY_MAX_LEN): Increased
11258 to 6.
11259 * util/grub-install.in: Run dvhtool on ARC.
11260 * util/grub-mkimage.c (image_targets): Add mips-arc.
b6296b3f 11261 (generate_image): Handle ECOFF output for mips-arc.
400b9371 11262
c8ecc840
VS
112632011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11264
11265 * grub-core/bus/pci.c (grub_memalign_dma32): Always allocate in 64-byte
11266 blocks.
11267
153a4b55
VS
112682011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11269
11270 * grub-core/bus/usb/usbhub.c (attach_root_port): Wait 10ms
11271 after enabling port.
11272
ff44d107
VS
112732011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11274
11275 Skip incorrect USB devices.
11276
11277 * grub-core/bus/usb/usb.c (grub_usb_device_initialize): Fail if
11278 configcnt == 0.
11279 * include/grub/usb.h (grub_usb_err_t): New enum value
11280 GRUB_USB_ERR_BADDEVICE.
11281
638dbe4f
VS
112822011-05-16 Vladimir Serbinenko <phcoder@gmail.com>
11283
11284 Fuloong video init support.
11285
11286 * include/grub/vga.h (grub_vga_write_arx): inb monochrome address as
11287 well.
11288 (grub_vga_read_arx): New function.
11289 * grub-core/video/sis315pro.c (GRUB_SIS315PRO_MMIO_SPACE): New
11290 definition.
11291 (framebuffer): New members io, mmioptr and mmiobase.
11292 (read_sis_cmd): New function.
11293 (write_sis_cmd): Likewise.
11294 (grub_video_sis315pro_setup): Do the initialisation. Use 640x480
11295 rather than 640x400.
11296 * grub-core/video/sis315_init.c: New file.
11297
c3fc520c
VS
112982011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11299
11300 * grub-core/bus/cs5536.c: Don't include grub/machine/kernel.h on
11301 non-loongson.
11302 * grub-core/kern/mips/dl.c (grub_arch_dl_init_linker): Fix argument
11303 to grub_dl_register_symbol.
11304
67b1e5c9
VS
113052011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11306
11307 Fix compilation errors.
11308
11309 * grub-core/term/ns8250.c (serial_get_divisor): Declare 'port' as
11310 potentially unused.
11311 * grub-core/loader/i386/linux.c (grub_linux_setup_video):
11312 Handle GRUB_VIDEO_DRIVER_SIS315PRO.
11313 * grub-core/bus/cs5536.c (grub_cs5536_init_geode): Restrict DIVIL init
11314 to loongson machines.
11315
b756f75f
VS
113162011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11317
11318 Several FS mtime support.
11319
11320 * grub-core/fs/affs.c (grub_affs_time): New struct.
11321 (grub_affs_file): New field mtime.
11322 (grub_fshelp_node): Changed 'block' and 'parent' to more appropriate
11323 type. Removed 'size'. New field 'di'. All users updated.
11324 (grub_affs_mount): Simplify checsum checking.
11325 (grub_affs_iterate_dir): New helper grub_affs_create_node.
11326 (grub_affs_dir): Handle mtime.
11327 * grub-core/fs/cpio.c (grub_cpio_find_file): Handle mtime.
11328 (grub_cpio_dir): Likewise.
11329 * grub-core/fs/hfs.c (grub_hfs_dirrec): New fields 'ctime' and 'mtime'.
11330 (grub_hfs_filerec): New field mtime.
11331 (grub_hfs_dir): Handle mtime.
11332 (grub_hfs_mtime): New function.
11333 (grub_hfs_fs): Register grub_hfs_mtime.
11334 * grub-core/fs/iso9660.c (grub_iso9660_date2): New struct.
11335 (grub_iso9660_dir): New field mtime.
11336 (grub_fshelp_node): New field dirent.
11337 (iso9660_to_unixtime): New function.
11338 (iso9660_to_unixtime2): Likewise.
11339 (grub_iso9660_read_symlink): Use node->dirent.
11340 (grub_iso9660_iterate_dir): Likewise.
11341 (grub_iso9660_dir): Set mtime.
11342 (grub_iso9660_mtime): New function.
11343 (grub_iso9660_fs): Register grub_iso9660_mtime.
11344 * grub-core/fs/jfs.c (grub_jfs_time): New struct.
11345 (grub_jfs_inode): New fields atime, ctime and mtime.
11346 (grub_jfs_dir): Set mtime.
11347 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
11348 * grub-core/fs/ntfs.c (list_file): Set mtime.
11349 (grub_ntfs_dir): Likewise.
11350 * grub-core/fs/reiserfs.c (grub_fshelp_node): New field 'mtime'.
11351 (grub_reiserfs_iterate_dir): Set mtime.
11352 (grub_reiserfs_dir): Likewise.
11353 * grub-core/fs/sfs.c (grub_sfs_obj): New field mtime.
11354 (grub_fshelp_node): Likewise.
11355 (grub_sfs_iterate_dir): Set mtime.
11356 (grub_sfs_dir): Likewise.
11357 * grub-core/fs/udf.c (grub_udf_dir): Set mtime.
11358 * grub-core/fs/xfs.c (grub_xfs_time): New struct.
11359 (grub_xfs_inode): New fields atime, mtime, ctime.
11360 (grub_xfs_dir): Set mtime.
11361 * include/grub/datetime.h (grub_datetime2unixtime): New function.
11362 * include/grub/hfs.h (grub_hfs_sblock): New fields ctime and mtime.
11363 * include/grub/ntfs.h (grub_fshelp_node): New field mtime.
11364
11365 Support UDF symlinks.
11366
11367 * grub-core/fs/udf.c (grub_udf_iterate_dir): Handle symlinks.
11368 (grub_ufs_read_symlink): New function. All users updated.
11369
11370 Check amiga partmap checksum.
11371
11372 * grub-core/partmap/amiga.c (grub_amiga_rdsk): Pad to 128 bytes.
11373 (grub_amiga_partition): Likewise.
11374 (amiga_partition_map_checksum): New function.
11375 (amiga_partition_map_iterate): Check checksum.
11376
5470225d
VS
113772011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11378
11379 ROMFS support.
11380
11381 * Makefile.util.def (libgrubmods.a): Add romfs.
11382 * grub-core/Makefile.core.def (romfs): New module.
11383 * grub-core/fs/romfs.c: New file.
11384
d4680a35
VS
113852011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11386
11387 Squashfs v4 support.
11388
11389 * Makefile.util.def (libgrubmods.a): Add squash4.
11390 * grub-core/Makefile.core.def (squash4): New module.
11391 * grub-core/fs/squash4.c: New file.
11392 * grub-core/io/gzio.c (grub_gzio): New members disk_input_off,
11393 disk_input_start, disk_input.
11394 (get_byte): Handle disk_input.
11395 (grub_zlib_disk_read): New function.
11396 * include/grub/deflate.h (grub_zlib_disk_read): New proto.
11397
bcb18e74
FZ
113982011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
113992011-05-15 Feiran Zheng <famcool@gmail.com>
11400
11401 * Makefile.util.def (libgrubmods.a): Add minix3.
11402 * grub-core/Makefile.core.def (minix3): New module.
11403 * grub-core/fs/minix.c (GRUB_MINIX_MAGIC) [MODE_MINIX3]: New value.
11404 (GRUB_MINIX_BSIZE): Removed.
11405 (GRUB_MINIX_INODE_DIR_BLOCKS): New definition. All users updated.
11406 (grub_minix_ino_t): New type.
11407 (grub_minix_le_to_cpu_ino): New macro.
11408 (GRUB_MINIX_ZONE2SECT): New definition. All users updated.
11409 (grub_minix_sblock) [MODE_MINIX3]: Change for minix3.
11410 (grub_minix_data): New field block_size.
11411 (grub_minix_read_file): Handle 64-bit correctly.
11412 * grub-core/fs/minix3.c: New file.
11413
32297d5f
TG
114142011-05-15 Tristan Gingold <gingold@free.fr>
114152011-05-15 Robert Millan <rmh.grub@aybabtu.com>
114162011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11417
11418 IA64 support.
11419
11420 * Makefile.util.def (libgrubmods.a): Add grub-core/kern/ia64/dl_helper.c
11421 * configure.ac: Add ia64-efi target.
11422 Probe for __ia64_trampoline, __udivsi3, __umoddi3, __udivdi3,
11423 __divsi3, __modsi3, __umodsi3, __moddi3 and __divdi3 symbols.
11424 * gentpl.py: Add ia64_efi platform.
11425 Rename x86_efi to efi and Add ia64-efi. All users updated.
11426 * grub-core/Makefile.am: Set KERNEL_HEADER_FILES for ia64-efi.
11427 * grub-core/Makefile.core.def (kernel.img): Add compile flags for ia64.
11428 Remove kern/generic/rtc_get_time_ms.c on EFI.
11429 Add kern/ia64/efi/startup.S, kern/ia64/efi/init.c, kern/ia64/dl.c,
11430 kern/ia64/dl_helper.c on ia64-efi.
11431 Add kern/emu/cache.c on emu.
11432 (linux): Use on loader/ia64/efi/linux.c on ia64.
11433 * grub-core/gensymlist.sh (grub_register_exported_symbols): Check
11434 whether symbol is a function.
11435 * grub-core/kern/dl.c [GRUB_MACHINE_EMU]: Include sys/mman.h.
11436 (grub_symbol): New field 'isfunc'.
11437 (grub_dl_resolve_symbol): Return whole symbol rather than just address.
11438 (grub_dl_register_symbol): New argument 'isfunc'. All users updated.
11439 (grub_dl_load_segments): Place all sections into the same region.
11440 [__ia64__]: Create trampolines and got.
11441 [GRUB_MACHINE_EMU]: Call mprotect.
11442 (grub_dl_resolve_symbols): Resolve symbol type as well.
11443 [__ia64__]: Create function descriptors.
11444 * grub-core/kern/efi/efi.c (grub_get_rtc): Renamed to ...
11445 (grub_rtc_get_time_ms): ... this. Expressions simplified.
11446 (grub_get_rtc): New function.
11447 * grub-core/kern/emu/cache.c [__ia64__]: New file.
11448 * grub-core/kern/emu/cache.S: Renamed to ...
11449 * grub-core/kern/emu/cache_s.S: ... this.
11450 [__ia64__]: Add a nop.
11451 * grub-core/kern/emu/full.c (grub_arch_dl_get_tramp_got_size)
11452 [__ia64__]: New function.
11453 * grub-core/kern/emu/lite.c [__ia64__]: Include ../ia64/dl.c.
11454 * grub-core/kern/ia64/dl.c: New file.
11455 * grub-core/kern/ia64/dl_helper.c: Likewise.
11456 * grub-core/kern/ia64/efi/init.c: New file.
11457 * grub-core/kern/ia64/efi/startup.S: Likewise.
11458 * grub-core/lib/efi/halt.c [__ia64__]: Don't try acpi.
11459 * grub-core/lib/ia64/longjmp.S: New file (from glibc).
11460 * grub-core/lib/ia64/setjmp.S: Likewise (from glibc).
11461 * grub-core/lib/setjmp.S [__ia64__]: Include ./ia64/setjmp.S.
11462 * grub-core/loader/ia64/efi/linux.c: New file.
11463 * include/grub/dl.h (GRUB_MOD_NAME): Redefined using C rather than asm.
11464 (GRUB_MOD_DEP): Likewise.
11465 (grub_dl) [__ia64__]: New fields got and tramp.
11466 (grub_dl): New field 'base'.
11467 (grub_dl_register_symbol): New argument isfunc. All users updated.
11468 (GRUB_IA64_DL_TRAMP_ALIGN): New definition.
11469 (GRUB_IA64_DL_TRAMP_SIZE): Likewise.
11470 (GRUB_IA64_DL_GOT_ALIGN): Likewise.
11471 (grub_ia64_dl_get_tramp_got_size): New proto.
11472 (GRUB_ARCH_DL_TRAMP_ALIGN) [__ia64__]: Likewise
11473 (GRUB_ARCH_DL_GOT_ALIGN) [__ia64__]: Likewise
11474 (grub_arch_dl_get_tramp_got_size) [__ia64__]: Likewise
11475 * include/grub/efi/api.h: Skip call wrappers on ia64.
11476 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_IA64): New definition.
11477 * include/grub/efi/time.h (GRUB_TICKS_PER_SECOND): Change to 1000.
11478 * include/grub/elf.h (ELF_ST_INFO): New definition.
11479 * include/grub/ia64/efi/kernel.h: New file.
11480 * include/grub/ia64/efi/memory.h: Likewise.
11481 * include/grub/ia64/efi/time.h: Likewise.
11482 * include/grub/ia64/kernel.h: Likewise.
11483 * include/grub/ia64/setjmp.h: Likewise (from glibc).
11484 * include/grub/ia64/time.h: New file.
11485 * include/grub/ia64/types.h: Likewise.
11486 * include/grub/libgcc.h (__udivsi3, __umodsi3, __umoddi3, __udivdi3,
11487 __moddi3, __divdi3, __divsi3, __modsi3, __ia64_trampoline):
11488 New protos.
11489 * include/grub/offsets.h (GRUB_KERNEL_IA64_EFI_PREFIX): New definition.
11490 (GRUB_KERNEL_IA64_EFI_PREFIX_END): Likewise.
11491 * include/grub/types.h (PRIxGRUB_ADDR): Likewise.
11492 * util/grub-mkimage.c (image_target_desc): New field pe_target.
11493 All users updated.
11494 (EFI64_HEADER_SIZE): New definition. All users updated.
11495 (image_targets): Add ia64-efi.
11496 * util/grub-mkimagexx.c (relocate_symbols): New arguments jumpers and
11497 jumpers_addr. All users updated.
11498 Create function descriptors.
11499 (count_funcs): New function.
11500 (unaligned_uint32): New struct.
11501 (MASK20): New definition.
11502 (MASK19): Likewise.
11503 (MASKF21): Likewise.
11504 (add_value_to_slot_20b): New function.
11505 (add_value_to_slot_21_real): Likewise.
11506 (add_value_to_slot_21): Likewise.
11507 (ia64_kernel_trampoline): New struct.
11508 (nopm): New variable.
11509 (jump): Likewise.
11510 (make_trampoline): New function.
11511 (relocate_addresses): Handle ia64.
11512 (make_reloc_section): Likewise.
11513 (load_image): Likewise.
11514
983b414d
VS
115152011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11516
11517 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Silence spurious
11518 warning. Move variables before code while on it.
11519
5d063cdc
VS
115202011-05-15 Vladimir Serbinenko <phcoder@gmail.com>
11521
11522 Fuloong support.
11523
11524 * configure.ac: Rename yeeloong platform to loongson. All users updated.
11525 * grub-core/Makefile.core.def (fwstart_fuloong): New image.
11526 * grub-core/boot/mips/loongson/fuloong.S: New file.
11527 * grub-core/boot/mips/loongson/fwstart.S: Wait for CS5536 to come up.
11528 Explicitly init CS5536.
11529 [FULOONG]: Don't use serial until CS5536 is available.
11530 Set GPIO based on dumps.
11531 (serial_hw_init) [FULOONG]: Handle CS5536 parts.
11532 [FULOONG]: Handle GPIO and memory controller differences.
11533 Parse machine type in $a2.
11534 * grub-core/boot/mips/startup_raw.S: Determine and save the
11535 architecture.
11536 * grub-core/bus/cs5536.c (gpiodump): Move to fwstart.S.
11537 (grub_cs5536_init_geode): Remove gpio part. Conditionalise DIVIL
11538 init on architecture type.
11539 * grub-core/kern/mips/loongson/init.c (grub_machine_init): Init
11540 SIS315E. Don't init at_keyboard on fuloong.
11541 (grub_halt): Support Fuloong.
11542 * grub-core/kern/mips/startup.S [LOONGSON]: Save $s7.
11543 * grub-core/loader/mips/linux.c (LOONGSON_MACHTYPE): Removed.
11544 (loongson_machtypes): New array.
11545 (grub_cmd_linux) [GRUB_MACHINE_MIPS_LOONGSON]: Pass the right machine
11546 type.
11547 * grub-core/term/ns8250.c (serial_get_divisor): New parameter port and
11548 config. All users updated. Handle CS5536 serial.
11549 * grub-core/term/serial.c (grub_serial_register): Conditionalise
11550 default port on machine type. Register serial as inactive.
11551 * grub-core/video/sis315pro.c: New file.
11552 * include/grub/cs5536.h (GRUB_CS5536_MSR_MAILBOX_CONFIG_ENABLED): New
11553 definition.
11554 (GRUB_CS5536_MSR_MAILBOX_CONFIG): Likewise.
11555 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART1_COM1): Likewise.
11556 (GRUB_CS5536_MSR_DIVIL_LEG_IO_UART2_COM3): Likewise.
11557 (GRUB_CS5536_MSR_DIVIL_UART1_CONF): Likewise.
11558 (GRUB_CS5536_MSR_DIVIL_UART2_CONF): Likewise.
11559 * include/grub/mips/loongson.h (GRUB_CPU_LOONGSON_SHUTDOWN_GPIO): Rename
11560 to ...
11561 (GRUB_CPU_YEELOONG_SHUTDOWN_GPIO): ... this.
11562 * include/grub/mips/loongson/kernel.h (GRUB_ARCH_MACHINE_YEELOONG): New
11563 definition.
11564 (GRUB_ARCH_MACHINE_FULOONG): Likewise.
11565 (grub_arch_machine): New extern var.
11566 * include/grub/mips/loongson/serial.h
11567 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Renamed to ...
11568 (GRUB_MACHINE_SERIAL_PORT0_DIVISOR_115200): ... this.
11569 (GRUB_MACHINE_SERIAL_PORT): Renamed to ...
11570 (GRUB_MACHINE_SERIAL_PORT0): ... this.
11571 (GRUB_MACHINE_SERIAL_PORT2_DIVISOR_115200): New definition.
11572 (GRUB_MACHINE_SERIAL_PORT1): Likewise.
11573 (GRUB_MACHINE_SERIAL_PORT2): Likewise.
11574 (GRUB_MACHINE_SERIAL_PORTS): Include ports 1 and 2.
11575 * include/grub/term.h (grub_term_register_input_inactive): New inline
11576 function.
11577 (grub_term_register_output_inactive): Likewise.
11578 * include/grub/video.h (grub_video_driver_id): New value
11579 GRUB_VIDEO_DRIVER_SIS315PRO.
11580 * util/grub-mkimage.c (image_target_desc): Rename name to dirname.
11581 New field "names". All users updated.
11582 New field value IMAGE_FULOONG_FLASH.
11583 (generate_image): USe separate fwstart hashes for yeeloong and fuloong.
11584
6ada82d1
JU
115852011-05-14 Jordan Uggla <jordan.uggla@gmail.com>
11586
11587 * docs/grub.texi (Invoking grub-install): Fix additional outdated claims
11588 and add some clarification.
11589
90c571a4
VS
115902011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11591
11592 * util/grub.d/10_linux.in: Autoload gzio since it's needed on some
11593 platforms if kernel is compressed.
11594
de04eecf
VS
115952011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11596
11597 * grub-core/kern/mm.c (grub_memalign): Disable auto-unloadding of
11598 unused modules since currently referrence counter isn't reliable and
11599 there isn't much memory to recover there anyway.
11600
57688121
VS
116012011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11602
11603 * grub-core/kern/dl.c (grub_dl_load_file): Decrease ref counter
11604 rather than resetting it to allow modules to reference themselves
11605 in init.
11606
3d2c7e35
VS
116072011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11608
11609 * grub-core/kern/dl.c (grub_dl_unload): Don't decrease reference
11610 counter on dependencies since grub_dl_unref already handles this.
11611
b25db218
VS
116122011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11613
11614 * grub-core/font/font_cmd.c (loadfont_command): Set grub_errno
11615 on error if not already done.
11616
25a45338
VS
116172011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11618
11619 Fix few potential memory misusage.
11620
11621 * grub-core/font/font.c (load_font_index): Don't free char_index to
11622 avoid double free.
b25db218
VS
11623 (grub_font_load): Zero-fill font at alloc for safety.
11624 Close file on error.
11625 (free_font): Free bmp_idx.
25a45338 11626
0cac83df
VS
116272011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11628
11629 * docs/grub.texi (Installation): Fix several outdated claims.
11630
2217a143
VS
116312011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11632
11633 Handle module_license on windows.
11634
11635 * util/grub-pe2elf.c (MODLICENSE_SECTION): New definition. All following
11636 sections shifted.
11637 (insert_string): Make argument const char * instead of char *.
11638 (write_section_data): Handle long section names.
11639 Handle module_license.
11640
d4de6b01
VS
116412011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11642
11643 * grub-core/commands/menuentry.c (grub_cmd_menuentry): Correctly
11644 handle class-free menuentries.
11645 (grub_normal_add_menu_entry): Add a check to be sure.
11646
4c2a3b43
VS
116472011-05-14 Vladimir Serbinenko <phcoder@gmail.com>
11648
11649 * grub-core/term/at_keyboard.c (set1_e0_mapping): Fix swap between
11650 PgUp and PgDown.
11651
85c6210f
VS
116522011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11653
11654 * configure.ac: Bump version to 1.99.
11655
36084912
VS
116562011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11657
11658 Give ATA device a bit more time on first try in order to allow disks
11659 to spin up.
11660
11661 * grub-core/disk/ata.c (grub_atapi_identify): Use GRUB_ATA_TOUT_DEV_INIT
11662 if dev->present is 1. Reset dev->present on failure.
11663 (grub_ata_device_initialize): Set dev->present to 1.
11664 * include/grub/ata.h (GRUB_ATA_TOUT_DEV_INIT): New value.
11665 (grub_ata_device): New member 'present'.
11666
bda0e219
VS
116672011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11668
11669 * util/grub-mkimage.c (generate_image): Update hash.
11670
19e1c41b
VS
116712011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11672
11673 Flush caches on DMA memory.
11674
11675 * grub-core/kern/mips/cache.S (grub_arch_sync_dma_caches): New function.
11676 * grub-core/bus/pci.c (grub_memalign_dma32): Flush caches.
11677 (grub_dma_free): Likewise.
11678 * include/grub/cache.h (grub_arch_sync_dma_caches): New declaration.
11679
91bbcc0c
VS
116802011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11681
11682 * grub-core/boot/mips/yeeloong/fwstart.S: Add explicit set mips3
11683 to avoid asm treating ld and sd as macros.
11684
60ddfad3
VS
116852011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11686
11687 * grub-core/boot/mips/startup_raw.S: Flush cache after loading
11688 decompressor.
11689
a298aa04
VS
116902011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11691
11692 * grub-core/boot/mips/startup_raw.S: Use jalr rather than bal to call
11693 grub_decompress_core since later would fail if grub_decompress_core
11694 is too far.
11695
9b44feca
VS
116962011-05-13 Vladimir Serbinenko <phcoder@gmail.com>
11697
11698 * grub-core/kern/mips/dl.c (grub_arch_dl_relocate_symbols): Handle
11699 R_MIPS_JALR since it's used by newer compiler.
11700
56dbe7b4
VS
117012011-05-10 Vladimir Serbinenko <phcoder@gmail.com>
11702
11703 * util/grub.d/10_linux.in: Correctly handle the Linux in root.
11704
52856af2
VS
117052011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11706
11707 * grub-core/loader/efi/chainloader.c (grub_chainloader_unload): Set
11708 file_path to 0 for surety.
11709 (grub_chainloader_boot): Set exit_data to NULL.
11710 Unset the loader once done.
11711 (grub_cmd_chainloader): Fix confusing error message if file is empty.
11712
9c9bfc6d
VS
117132011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11714
11715 * grub-core/term/at_keyboard.c (fetch_key): Make a printf on
11716 unknown key into a dprintf.
11717
dd94a3df
VS
117182011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11719
11720 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Don't abort
11721 on first non-existant partition.
11722
fa68d99c
VS
117232011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11724
11725 * grub-core/kern/emu/hostdisk.c (open_device): Set data->fd to -1 if
11726 openning fails.
11727 Reported by: Mark Korenberg.
11728
157effb7
VS
117292011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11730
11731 * grub-core/kern/emu/hostdisk.c (linux_find_partition): Prevent possible
11732 overflow.
11733
ea75312f
VS
117342011-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11735
11736 * util/grub-mkimage.c (main): Explicitely flush and sync the output
11737 before closing to ensure that it will be readable by grub-setup.
11738
072b5d31
VS
117392011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11740
11741 * grub-core/loader/efi/appleloader.c (MAKE_PIWG_PATH): New macro.
11742 (devpath_1): Use MAKE_PIWG_PATH.
11743 (devpath_2): Likewise.
11744 (devpath_3): Likewise.
11745 (devpath_4): Likewise.
11746 (devpath_5): Likewise.
11747 (devpath_6): Likewise.
11748
11749 The appleldr.mod was checked that to be binary identical to previous
11750 version.
11751
7fae0051
Z
117522011-05-05 Zach <mikezackles>
11753
11754 Support 2010 Macbooks.
11755
11756 * grub-core/loader/efi/appleloader.c (devpath_6): New variable.
11757 (devs): Add devpath_6.
11758
7c515bee
VS
117592011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11760
11761 * util/grub-mkpasswd-pbkdf2.c (main): Use /dev/urandom and not
11762 /dev/random. /dev/urandom is good enough for our purposes (salting).
11763
ed660bd8
VS
117642011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11765
11766 * util/grub-mkrescue.in (process_input_dir): Include efiemu??.o.
11767
ee5614b7
VS
117682011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11769
11770 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Correctly handle
11771 hexadecimal.
11772
664889a6
VS
117732011-05-05 Vladimir Serbinenko <phcoder@gmail.com>
11774
11775 * grub-core/efiemu/main.c (grub_efiemu_load_file): Return grub_errno
11776 and not 0 on failure.
11777
bd405bbc
CW
117782011-05-03 Colin Watson <cjwatson@ubuntu.com>
11779
11780 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_dir): Return
11781 GRUB_ERR_BAD_FS rather than GRUB_ERR_IO if the disk is not a pxe
11782 disk; otherwise grub_fs_probe will not fall back to the next
11783 filesystem.
11784 (grub_pxefs_open): Likewise, for consistency.
11785 Reported and tested by: Ezekiel Grave.
11786
4ebff753
CW
117872011-05-03 Colin Watson <cjwatson@ubuntu.com>
11788
11789 * tests/partmap_test.in: Don't hardcode path to parted.
11790 Reported by: Peter Hjalmarsson. Fixes Savannah bug #33150.
11791
8f942553
CW
117922011-05-01 Colin Watson <cjwatson@ubuntu.com>
11793
11794 * docs/grub.texi (GRUB only offers a rescue shell): Suggest the use
11795 of `ls' to find out which devices are available.
11796
3c62402d
VS
117972011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11798
11799 * grub-core/loader/i386/linux.c (grub_linux_boot): Supply target rather
11800 than source address for efi mmap buffer.
11801
723f63f2
VS
118022011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11803
11804 * grub-core/partmap/amiga.c (amiga_partition_map_iterate): Fix a
11805 wrong action on non-detecting the magic.
11806
68797f92
VS
118072011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11808
11809 * grub-core/gnulib/regex.c: Remove GRUB_MOD_LICENSE since it's
11810 already supplied by another part of the module (fixes compilation on
11811 FreeBSD).
11812
6be8715d
VS
118132011-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11814
11815 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Make mdraid UUID
11816 match the one used by mdadm.
11817
e91dba5b
CW
118182011-04-21 Colin Watson <cjwatson@ubuntu.com>
11819
11820 * po/README: Add instructions for creating po/LINGUAS.
11821
c85140b3
CW
118222011-04-21 Colin Watson <cjwatson@ubuntu.com>
11823
11824 Add "SEE ALSO" sections to most man pages. Fixes Debian bug
11825 #551428.
11826
11827 * docs/man/grub-editenv.h2m (SEE ALSO): New section.
11828 * docs/man/grub-emu.h2m (SEE ALSO): Likewise.
11829 * docs/man/grub-fstest.h2m (SEE ALSO): Likewise.
11830 * docs/man/grub-install.h2m (SEE ALSO): Likewise.
11831 * docs/man/grub-macho2img.h2m (SEE ALSO): Likewise.
11832 * docs/man/grub-menulst2cfg.h2m (SEE ALSO): Likewise.
11833 * docs/man/grub-mkconfig.h2m (SEE ALSO): Likewise.
11834 * docs/man/grub-mkdevicemap.h2m (SEE ALSO): Likewise.
11835 * docs/man/grub-mkfont.h2m (SEE ALSO): Likewise.
11836 * docs/man/grub-mkimage.h2m (SEE ALSO): Likewise.
11837 * docs/man/grub-mklayout.h2m (SEE ALSO): Likewise.
11838 * docs/man/grub-mknetdir.h2m (SEE ALSO): Likewise.
11839 * docs/man/grub-mkpasswd-pbkdf2.h2m (SEE ALSO): Likewise.
11840 * docs/man/grub-mkrelpath.h2m (SEE ALSO): Likewise.
11841 * docs/man/grub-mkrescue.h2m (SEE ALSO): Likewise.
11842 * docs/man/grub-ofpathname.h2m (SEE ALSO): Likewise.
11843 * docs/man/grub-pe2elf.h2m (SEE ALSO): Likewise.
11844 * docs/man/grub-probe.h2m (SEE ALSO): Likewise.
11845 * docs/man/grub-reboot.h2m (SEE ALSO): Likewise.
11846 * docs/man/grub-script-check.h2m (SEE ALSO): Likewise.
11847 * docs/man/grub-set-default.h2m (SEE ALSO): Likewise.
11848 * docs/man/grub-setup.h2m (SEE ALSO): Likewise.
11849
92051871
CW
118502011-04-21 Colin Watson <cjwatson@ubuntu.com>
11851
11852 * grub-core/kern/emu/getroot.c
11853 (grub_find_root_device_from_mountinfo): Remove non-virtual-device
11854 test that was incorrectly reintroduced in r3214.
11855 Reported by: Ian Dall. Fixes Savannah bug #33133.
11856
b13f79a4
CW
118572011-04-21 Colin Watson <cjwatson@ubuntu.com>
11858
11859 Fix stack pointer handling in 16-bit relocator.
11860
11861 * grub-core/lib/i386/relocator16.S (grub_relocator16_start): Move
11862 grub_relocator16_sp to %esp rather than %ss, and zero-extend it.
11863 Fixes Ubuntu bug #683904.
11864
9b710a88
VS
118652011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
11866
11867 * configure.ac: Bump version to 1.99~rc2.
11868
d97e7b59
VS
118692011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
11870
11871 * include/grub/dl.h [ASM_FILE]: Adapt for assembly.
11872 * grub-core/lib/i386/setjmp.S: Add missing GRUB_MOD_LICENSE.
11873 * grub-core/lib/x86_64/setjmp.S: Likewise.
11874 * grub-core/lib/mips/setjmp.S: Likewise.
11875 * grub-core/lib/powerpc/setjmp.S: Likewise.
11876 * grub-core/lib/sparc64/setjmp.S: Likewise.
11877
0624551c
VS
118782011-04-20 Vladimir Serbinenko <phcoder@gmail.com>
11879
11880 * grub-core/lib/efi/datetime.c: Add missing GRUB_MOD_LICENSE.
11881 * grub-core/lib/efi/datetime.c: Likewise.
11882
e8f28d4c
VS
118832011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
11884
11885 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_flush):
11886 New function.
11887 (grub_util_biosdisk_close): Use grub_util_biosdisk_flush.
11888 * include/grub/emu/hostdisk.h (grub_util_biosdisk_flush): New proto.
11889 * util/grub-setup.c (setup): Use grub_util_biosdisk_flush.
11890
bba79a15
VS
118912011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
11892
11893 * grub-core/term/gfxterm.c (grub_gfxterm_fullscreen): Preserve previous
11894 bitmap.
11895 (grub_gfxterm_term_init): Likewise.
11896
abc474ef
VS
118972011-04-19 Vladimir Serbinenko <phcoder@gmail.com>
11898
11899 Take into account the decorations the computing menu entry width.
11900
11901 * grub-core/gfxmenu/widget-box.c (get_border_width): New function.
11902 (grub_gfxmenu_create_box): Register get_border_width.
11903 * grub-core/gfxmenu/gui_list.c (draw_menu): Use get_border_width
11904 if available.
11905 * include/grub/gfxwidgets.h (grub_gfxmenu_box): New member
11906 get_border_width.
11907
e74b3947
EP
119082011-04-18 Endres Puschner <code@e7p.de>
11909
11910 * grub-core/gfxmenu/icon_manager.c (grub_gfxmenu_icon_manager_get_icon):
11911 Don't skip first class.
11912
34faa595
VS
119132011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11914
11915 * grub-core/fs/btrfs.c (grub_btrfs_read_logical): Support huge
11916 chunks.
11917 * include/grub/err.h (grub_err_t): New enum value GRUB_ERR_BUG.
11918
93a777e3
VS
119192011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11920
11921 Complete 64-bit division support.
11922
11923 * grub-core/kern/misc.c (grub_divmod64): Rename to ...
11924 (grub_divmod64_full): ... this. Support 64-bit divisor and reminder.
11925 * include/grub/misc.h (grub_divmod64): Rename to ...
11926 (grub_divmod64_full): ... this.
11927 (grub_divmod64): New inline function.
11928
a5102d94
VS
119292011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11930
11931 * util/grub-mkimage.c (generate_image): Add forgotten comma.
11932
f3fb7b36
VS
119332011-04-18 Vladimir Serbinenko <phcoder@gmail.com>
11934
11935 * util/grub-mkimage.c (generate_image): Update fwstart.img hash after
11936 performing the necessary test.
11937
9ac718b0
VS
119382011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
11939
11940 * Makefile.am (multiboot.elf): Add -Wl,--build-id=none.
11941 (kfreebsd.elf): Likewise.
11942 (pc-chainloader.elf): Likewise.
11943 (ntldr.elf): Likewise.
11944
50d2cc5a
VS
119452011-04-17 Vladimir Serbinenko <phcoder@gmail.com>
11946
11947 Identify RAID by its UUID rather than (guessed) name.
11948
11949 * grub-core/disk/raid.c (ascii2hex): New function.
11950 (grub_raid_open): Accept mduuid/%s specification.
11951 * grub-core/kern/emu/getroot.c (get_mdadm_name): Revamped into ...
11952 (get_mdadm_uuid): ... this.
11953 (grub_util_get_grub_dev): Use mduuid/%s if UUID is available.
11954
e03f7bea
VS
119552011-04-16 Vladimir Serbinenko <phcoder@gmail.com>
11956
11957 * grub-core/gfxmenu/gui_image.c (rescale_image): Don't attempt to scale
11958 to negative size.
11959
e74c3112
CW
119602011-04-13 Colin Watson <cjwatson@ubuntu.com>
11961
11962 * util/grub.d/10_linux.in: Add rootflags=subvol=<name> if / is on a
11963 btrfs subvolume.
11964 * util/grub.d/20_linux_xen.in: Likewise.
11965
78fa584f
CW
119662011-04-13 Colin Watson <cjwatson@ubuntu.com>
11967
11968 Rewrite /proc/self/mountinfo handling to cope with bind-mounts and
11969 move-mounts appearing out of order. Fixes Ubuntu bug #738345.
11970
11971 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
11972 Build a list of relevant visible mounts using the mnt_id and
11973 parent_mnt_id fields, and then scan that list at the end.
11974
9d5f8162
CW
119752011-04-12 Colin Watson <cjwatson@ubuntu.com>
11976
11977 * docs/grub.texi (normal): New section.
11978 (normal_exit): New section.
11979 (Embedded configuration): Add reference to normal.
11980 (GRUB only offers a rescue shell): Likewise.
11981 * docs/grub-dev.texi (Error Handling): Fix typo.
11982
09a9d66f
CW
119832011-04-12 Colin Watson <cjwatson@ubuntu.com>
11984
11985 * NEWS: Drop obsolete entry about probe-only btrfs support.
11986
0c676933
CW
119872011-04-12 Colin Watson <cjwatson@ubuntu.com>
11988
11989 * util/import_gcry.py: Fix typo.
11990
ec9f5e0d
VS
119912011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
11992
11993 * NEWS: Add btrfs support.
11994
fe6b2cba
VS
119952011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
119962011-04-11 Colin Watson <cjwatson@ubuntu.com>
11997
11998 BtrFS support. Written by me (Vladimir) with important bugfixes and
11999 even more important testing by Colin.
12000
12001 * Makefile.util.def (libgrubmods.a): Add crc.c and gzio.c
12002 * grub-core/Makefile.core.def (btrfs): Add crc.c.
12003 * grub-core/fs/btrfs.c: Stub replaced with real implementation.
12004 * grub-core/io/gzio.c (grub_gzio): New fields mem_input_size,
12005 mem_input_off and mem_input. All users updated to accept in-RAM input.
12006 (gzio_seek): New function.
12007 (test_zlib_header): Likewise.
12008 (grub_gzio_read): Likewise.
12009 (grub_zlib_decompress): Likewise.
12010 * grub-core/kern/emu/getroot.c (grub_find_root_device_from_mountinfo):
12011 Accept partial and non-virtual mounts.
12012 (grub_guess_root_device): Do rescanning after device_from_mountinfo to
12013 avoid receiving /dev/dm-X as device.
12014 * grub-core/kern/emu/misc.c (grub_make_system_path_relative_to_its_root):
12015 Handle bind and partial mounts.
12016 * grub-core/lib/crc.c: New file.
12017 * include/grub/deflate.h: Likewise.
12018 * include/grub/emu/misc.h (grub_find_root_device_from_mountinfo): New
12019 proto.
12020 * include/grub/lib/crc.h: New file.
12021
e745cf0c
VS
120222011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12023
12024 Implement automatic module license checking according to new GNU
12025 guidelines.
12026
12027 * grub-core/kern/dl.c (grub_dl_check_license): New function.
12028 (grub_dl_load_core): Use grub_dl_check_license.
12029 * include/grub/dl.h (GRUB_MOD_SECTION): New macro.
12030 (GRUB_MOD_LICENSE): Likewise.
12031 (GRUB_MOD_DUAL_LICENSE): Likewise.
12032 All modules updated.
12033
2a9bc016
CW
120342011-04-11 Colin Watson <cjwatson@ubuntu.com>
12035
12036 * grub-core/fs/btrfs.c (grub_btrfs_fs) [GRUB_UTIL]: Set
12037 reserved_first_sector to 1. btrfs reserves plenty of space for boot
12038 loaders.
12039 Reported by: Gene Cumm. Fixes Ubuntu bug #757446.
12040
8a3bc88e
VS
120412011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12042
12043 * util/grub-fstest.c (cmd_cmp): Check that sizes match.
12044
af869a4a
VS
120452011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12046
12047 * util/grub-fstest.c (read_file): Report GRUB error if file opening
12048 failed.
12049
9ee8d94f
VS
120502011-04-11 Vladimir Serbinenko <phcoder@gmail.com>
12051
12052 * grub-core/kern/file.c (grub_file_open): Don't take into account the
12053 parenthesis in the middle of the filename.
12054
b01abe3e
VS
120552011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12056
12057 * grub-core/loader/mips/linux.c (grub_cmd_initrd): Use correct limits
12058 rather than trying to put initrd way too high.
12059 Reported by: Ryan Lortie <desrt@desrt.ca>
12060
335bda1e
VS
120612011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12062
12063 * grub-core/boot/mips/yeeloong/fwstart.S (no_cs5536): Put back
12064 improperly removed string.
12065
5ca1a64d
VS
120662011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12067
12068 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_data): New member
12069 is_disk.
12070 (grub_util_biosdisk_open): Don't apply ioctl on non-disk devices.
12071 (open_device) Likewise.
12072 (grub_util_biosdisk_close): Likewise.
d8ce9995 12073 Reported by: Mark Korenberg.
5ca1a64d 12074
cbac5b1e
AK
120752011-04-10 Alexander Kurtz <kurtz.alex@googlemail.com>
12076
12077 * util/grub-mkconfig_lib.in: Add missing quotes.
12078
088cdb65
CW
120792011-04-10 Colin Watson <cjwatson@ubuntu.com>
12080
12081 * grub-core/gnulib/argp-parse.c (__argp_input): Don't crash if pstate
12082 is NULL.
12083
8b8a81fa
VS
120842011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12085
12086 Dynamically count the number of lines for the lower banner.
12087
12088 * grub-core/normal/menu_entry.c (per_term_screen): New member
12089 num_entries.
12090 (print_down): Use num_entries.
12091 (update_screen): Likewise.
12092 (grub_menu_entry_run): Set num_entries.
12093 * grub-core/normal/menu_text.c (menu_viewer_data): New member
12094 num_entries.
12095 (grub_print_message_indented): Move real part to ...
12096 (grub_print_message_indented_real): ... here. Additional argument
12097 dry_run.
12098 (draw_border): Additional argument num_entries.
12099 (print_message): Additional argument dry_run.
12100 (print_entries): Receive menu viewer data.
12101 (grub_menu_init_page): New argment num_entries.
12102 (menu_text_set_chosen_entry): Use num_entries.
12103 (grub_menu_try_text): Likewise.
12104 * grub-core/normal/term.c (print_ucs4_terminal): New argument dry_run.
12105 All users updated.
12106 (grub_ucs4_count_lines): New function.
12107 * include/grub/term.h (grub_term_cursor_x): Moved from here ..
12108 * grub-core/normal/menu_text.c (grub_term_cursor_x): ... to here.
12109 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): Removed.
12110 (grub_term_border_height): Likewise.
12111 (grub_term_num_entries): Likewise.
12112
277f955b
VS
121132011-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12114
12115 * grub-core/boot/mips/yeeloong/fwstart.S: Fix address to error message.
12116 Remove now unused string.
12117
536ce85a
CW
121182011-04-09 Colin Watson <cjwatson@ubuntu.com>
12119
12120 * docs/grub-dev.texi (Finding your way around): Update for 1.99
12121 build system.
12122 (Getting started): GRUB is developed in Bazaar now, not Subversion.
12123
12124 (Comment): Fix typo.
12125 (Getting started): General copy-editing.
12126 (Typical Development Experience): Likewise.
12127 (Error Handling): Likewise.
12128 (Video API): Likewise.
12129
2cf09e32
CW
121302011-04-09 Colin Watson <cjwatson@ubuntu.com>
12131
12132 * docs/grub-dev.texi: Replace MoinMoin syntax with Texinfo syntax
12133 throughout.
12134
1ec652f4
VS
121352011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12136
12137 * util/grub-mkimage.c (main): Handle special naming of yeeloong
12138 directory.
12139
2c583728
CW
121402011-04-08 Colin Watson <cjwatson@ubuntu.com>
12141
12142 * docs/grub-dev.texi: Fix spelling of "developer" throughout.
12143 * grub-core/fs/i386/pc/pxe.c (parse_dhcp_vendor): Fix spelling of
12144 "development".
12145
d7a565e9
VS
121462011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12147
12148 * grub-core/normal/menu_entry.c (run): Use grub_memcpy rather than
12149 grub_strcpy since the lines aren't necessarily 0-terminated.
12150
7c2e4909
VS
121512011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12152
12153 * grub-core/lib/legacy_parse.c (legacy_commands): Find doesn't set
12154 root on legacy.
12155
34c09785
VS
121562011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12157
12158 * grub-core/commands/probe.c (options): Argument to set isn't optional.
12159 (GRUB_MOD_INIT): DEVICE isn't optional.
12160
6a6f8058
VS
121612011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12162
12163 * grub-core/normal/term.c (print_ucs4_terminal): Don't try to put the
12164 word on new line if it's too long anyway. Fixes a hang.
12165
2e335e90
VS
121662011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12167
12168 * include/grub/util/raid.h (grub_util_raid_getmembers): Make argument
12169 const.
12170 * util/grub-setup.c (main): Reuse md device name if available.
12171 * util/raid.c (grub_util_raid_getmembers): Receive device name and
12172 not GRUB name as argument.
12173 Based on patch by: Florian Wagner <fwagner>.
12174
10a7a867
VS
121752011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12176
12177 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
12178 Place mbi on low memory for better compatibility.
12179
7a3d6cd9
VS
121802011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12181
12182 * include/grub/efiemu/efiemu.h: Use grub_memory_hook_t type.
12183
18dd6b47
VS
121842011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
121852011-04-08 Colin Watson <cjwatson@ubuntu.com>
12186
12187 * autogen.sh: Ensure that collate and ctype locale is C.
4ed4ce58 12188 * conf/Makefile.common: Likewise.
18dd6b47 12189
3c0e3f14
VS
121902011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12191
f7148863
VS
12192 * grub-core/normal/menu.c: Add missing include.
12193
121942011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12195
12196 * grub-core/disk/raid.c [GRUB_UTIL]: Add missing include.
3c0e3f14 12197
6d1fa41f
MZ
121982011-04-08 Martin Zuther <mzuther@mzuther.de>
12199
12200 * util/grub-mkconfig.in: Ignore emacsen backup.
12201
478182a8
VS
122022011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12203
12204 * grub-core/kern/emu/hostdisk.c (open_device): Sync on close and not
12205 on open.
12206 (grub_util_biosdisk_close): Likewise.
12207
72a89a54
VS
122082011-04-08 Vladimir Serbinenko <phcoder@gmail.com>
12209
12210 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Add missing
12211 const attribute and use grub_isdigit.
12212
b5ebecfa
A
122132011-04-06 Andrey <dev_null@ukr.net>
12214
12215 * grub-core/video/fb/video_fb.c (grub_video_fb_setup): Silence older
12216 gcc warning.
12217
7755f66e
VS
122182011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12219
12220 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_align): Add few
12221 useful grub_dprintf's.
12222
461121ff
VS
122232011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12224
12225 * include/grub/fs.h (grub_dirhook_info): Use unsigned for 1-bit fields.
12226
2a961775
VS
122272011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12228
12229 * util/grub.d/00_header.in: Don't use LANG unless unifont is available.
12230
adf594cc
VS
122312011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12232
12233 Output errors if theme loading failed.
12234
12235 * grub-core/gfxmenu/gfxmenu.c (grub_gfxmenu_try): Move the call to
12236 grub_gfxterm_fullscreen on error paths to ...
12237 * grub-core/normal/menu.c (menu_init): ...here. Wait after showing
12238 theme loading error.
12239
665900a3
VS
122402011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12241
12242 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): Let a bit more
12243 space for older compilers.
12244 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
12245
a562b479
VS
122462011-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12247
12248 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Detect spares
12249 and report them as not RAID members since they are useless for GRUB.
12250 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
12251
850e9373
VS
122522011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12253
12254 Increase LVM implementation robustness in order not to crash on
12255 configurations like pvmove. Previously code assumed that in some places
12256 only lvs or only pvs are used whereas it seems that they are used
12257 interchangeably.
12258
12259 * grub-core/disk/lvm.c (read_node): New function.
12260 (read_lv): Use read_node.
12261 (grub_lvm_scan_device): Use only first mirror on pvmove'd lvs.
12262 Match volumes only at the end when all lvs are found. Take both
12263 pvs (first) and lvs (second) into account.
12264 * include/grub/lvm.h (grub_lvm_segment): Merge fields stripe_* and
12265 mirror_* into node_*. All users updated.
12266 (grub_lvm_stripe): Merge this ...
12267 (grub_lvm_mirror): ... and this ...
12268 (grub_lvm_node): ... into this. All users updated.
12269
6f332153
VS
122702011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12271
12272 * grub-core/disk/lvm.c (grub_lvm_scan_device): Print errors on the end
12273 of function to allow further scanning for LVMs.
12274
829ea451
VS
122752011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12276
12277 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_read): Don't close
12278 on failed seek as it breaks open fd reusage.
12279
09ceb9a5
VS
122802011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12281
12282 * util/grub-install.in: Add a recommendation to use --recheck before
12283 reporting bugs.
12284
67e11623
VS
122852011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12286
12287 * docs/grub.texi (Vendor power-on buttons): Explain how the numbers
12288 are obtained.
12289
caee5efd
VS
122902011-04-02 Vladimir Serbinenko <phcoder@gmail.com>
12291
12292 GRUB developper manual based on existing Internals section and
12293 contributions by the various authors with active copyright assignment.
12294
12295 * docs/Makefile.am (info_TEXINFOS): Add grub-dev.texi.
12296 * docs/font_char_metrics.png: New file.
12297 * docs/font_char_metrics.txt: Likewise.
12298 * docs/grub-dev.texi: Likewise.
12299 * docs/grub.texi (Internals): Move from here ...
12300 * docs/grub-dev.texi: ... here.
12301
2cccc747
CW
123022011-04-01 Colin Watson <cjwatson@ubuntu.com>
12303
12304 Store the loopback device as data on loopback grub_disk structures,
12305 rather than the file it points to. This fixes use of freed memory
12306 if an existing loopback device is replaced.
12307
12308 * grub-core/disk/loopback.c (grub_loopback_open): Store dev in
12309 disk->data, not dev->file.
12310 (grub_loopback_read): Adjust file assignment to match.
12311 Fixes Ubuntu bug #742967.
12312
186ae367
CW
123132011-04-01 Colin Watson <cjwatson@ubuntu.com>
12314
12315 * grub-core/disk/loopback.c (grub_cmd_loopback): Fix a memory leak
12316 when replacing an existing device.
12317
cfed2ad0
VS
123182011-04-01 Vladimir Serbinenko <phcoder@gmail.com>
12319
12320 Fix incorrect types in jfs.c. This enables >2TiB disks and fixes some
12321 memory corruptions.
12322
12323 * grub-core/fs/jfs.c (struct grub_jfs_diropen): Interpret bytes as
12324 unsigned.
12325 (grub_jfs_lookup_symlink): Make ino a grub_uint32_t rather than int.
12326 (grub_jfs_blkno): Use 64-bit quantities for block sectors.
12327 (grub_jfs_read_inode): Likewise.
12328 (grub_jfs_opendir): Likewise. Remove now useless casts.
12329 (grub_jfs_getent): Likewise.
12330 Make ino a grub_uint32_t rather than int.
12331 (grub_jfs_mount): Ensure that blksize and log2_blksize are consistent.
12332 (grub_jfs_read_file): Use 64-bit quantities when necessary. Replace
12333 division and module with bit operations.
12334 (grub_jfs_find_file): Make ino a grub_uint32_t.
12335 (grub_jfs_lookup_symlink): Likewise. Use 64-bit quantities
12336
05d2ed32
CW
123372011-04-01 Colin Watson <cjwatson@ubuntu.com>
12338
12339 * grub-core/normal/menu_entry.c (run): Quieten uninitialised
12340 warning. (This was in fact always initialised before use, but GCC
12341 wasn't smart enough to prove that.)
12342 * grub-core/script/lexer.c (grub_script_lexer_yywrap): Likewise.
12343
91dc6073
VS
123442011-03-31 Vladimir Serbinenko <phcoder@gmail.com>
12345
12346 * grub-core/kern/x86_64/efi/callwrap.S (efi_wrap_0): Preserve 16-byte
12347 stack alignment.
12348 (efi_wrap_1): Likewise.
12349 (efi_wrap_2): Likewise.
12350 (efi_wrap_3): Likewise.
12351 (efi_wrap_4): Likewise.
12352 (efi_wrap_5): Likewise.
12353 (efi_wrap_6): Likewise.
12354 (efi_wrap_10): Likewise.
12355 Based on information by: Red Hat/Peter Jones.
12356
a8afc1d1
CW
123572011-03-31 Colin Watson <cjwatson@ubuntu.com>
12358
12359 * grub-core/mmap/efi/mmap.c (grub_mmap_unregister): Remove
12360 set-but-not-used variable.
12361
a826cc7d
CW
123622011-03-31 Colin Watson <cjwatson@ubuntu.com>
12363
12364 * docs/grub.texi (Simple configuration): Be more explicit about
12365 GRUB_DEFAULT, and add an example.
12366 Reported by: Leslie Rhorer.
12367
875b67ba
CW
123682011-03-30 Colin Watson <cjwatson@ubuntu.com>
12369
12370 * docs/grub.texi (Commands): Link to "GRUB only offers a rescue
12371 shell".
12372
fd7cd914
AS
123732011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
12374
12375 * util/grub.d/10_linux.in: Add gentoo-specific config filename.
12376 * util/grub.d/20_linux_xen.in: Likewise.
12377
090b1b6a
VS
123782011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12379
12380 * util/grub.d/10_linux.in: Try alternative config filenames where
12381 we parse config file.
12382 * util/grub.d/20_linux_xen.in: Likewise.
12383
baad885c
AS
123842011-03-30 Alexey Shvetsov <alexxy@gentoo.org>
12385
12386 * util/grub.d/10_linux.in: Add gentoo-specific Linux and initrd names.
12387 * util/grub.d/20_linux_xen.in: Likewise.
12388
241e41f5
VS
123892011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12390
12391 * grub-core/disk/raid.c (insert_array): Add few potentially
12392 useful grub_util_info.
12393 (grub_raid_register): Likewise.
12394
56445fb2
VS
123952011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12396
12397 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev) [__linux__]:
12398 Preserve partition number in mdadm code path.
12399
c871b1c6
VS
124002011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12401
12402 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Add
12403 few potentially useful grub_util_info.
12404
5e631b4f
CW
124052011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12406
12407 * grub-core/disk/lvm.c (grub_lvm_scan_device): Remove spurious \n.
12408
2d5d0333
CW
124092011-03-30 Colin Watson <cjwatson@ubuntu.com>
12410
12411 * docs/grub.texi (default): Use @example rather than nested
12412 itemized lists to avoid breaking gendocs.
12413
3d7ed04e
CW
124142011-03-30 Colin Watson <cjwatson@ubuntu.com>
12415
12416 * docs/grub.texi (Future): Update.
12417
abf04200 124182011-03-30 Colin Watson <cjwatson@ubuntu.com>
12419
12420 * docs/grub.texi (Environment): New chapter.
12421 (Changes from GRUB Legacy): Link to "Environment block" section for
12422 details of limitations.
12423 (Simple configuration): Likewise. Link to documentation of gfxmode
12424 and gfxpayload variables from GRUB_GFXMODE and GRUB_GFXPAYLOAD
12425 respectively.
12426 (Shell-like scripting): Note that normal variables are stored in the
12427 environment.
12428 (gettext): Link to documentation of lang and locale_dir.
12429 (list_env): New section.
12430 (load_env): New section.
12431 (save_env): New section.
12432
12433 (Reporting bugs): Fix typo.
12434
e1ad0edd
VS
124352011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12436
12437 * docs/grub.texi: Correctly use "terminal_input" and not "terminal" in
12438 the example.
12439
5d803174
VS
124402011-03-30 Vladimir Serbinenko <phcoder@gmail.com>
12441
12442 * grub-core/term/at_keyboard.c (set_scancodes)
12443 [!GRUB_MACHINE_MIPS_YEELOONG && !GRUB_MACHINE_QEMU]: Use scancode set 1.
12444
2a2da1d0
CW
124452011-03-30 Colin Watson <cjwatson@ubuntu.com>
12446
12447 * docs/grub.texi (Menu-specific commands): Remove some semantics
12448 that were true in GRUB Legacy but not in GRUB 2.
12449 (submenu): New section.
12450 (false): New section.
12451 (read): New section.
12452 (true): New section.
12453
a7527639
CW
124542011-03-30 Colin Watson <cjwatson@ubuntu.com>
12455
12456 * docs/grub.texi (Changes from GRUB Legacy): Minor proofreading.
12457
124582011-03-30 Colin Watson <cjwatson@ubuntu.com>
e30af029
CW
12459
12460 * docs/grub.texi (Simple configuration): Explain some of the
12461 current limitations of grub-mkconfig.
8a748df2 12462 Reported by: Leslie Rhorer.
e30af029 12463
fc858482
VS
124642011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12465
12466 Old macs search for boot.efi rather than for bootia32.efi.
12467
12468 * util/grub-install.in: Copy bootia32.efi to boot.efi.
12469 * util/grub-mkrescue.in: Likewise.
12470 Suggested by: Peter Jones.
12471
e1eb511d
VS
124722011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12473
12474 * util/grub.d/20_linux_xen.in: Accept old-style xen kernels.
12475
70e75364
VS
124762011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12477
12478 * include/grub/lvm.h (grub_lvm_lv): New field 'visible'.
12479 (grub_lvm_segment): New fields 'type', 'mirror_count' and 'mirrors'.
12480 (grub_lvm_mirror): New struct.
12481 * grub-core/disk/lvm.c (grub_lvm_checkvalue): Commented out.
12482 (grub_lvm_iterate): Iterate only visible volumes.
12483 (grub_lvm_read): Factor out to ..
12484 (read_lv): ... this. Support mirrors.
12485 (grub_lvm_read): New wrapper function.
12486 (grub_lvm_scan_device): Parse mirrors. Skip everything that isn't
12487 stripped or mirrored.
12488
fc18f6a3
VS
124892011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12490
12491 * util/grub.d/10_linux.in: Skip vmlinux-* on x86 platforms.
12492
5c650f4c
CW
124932011-03-29 Colin Watson <cjwatson@ubuntu.com>
12494
12495 * docs/grub.texi (loopback): New section.
12496
61d7156b
CW
124972011-03-29 Colin Watson <cjwatson@ubuntu.com>
12498
12499 * grub-core/disk/loopback.c (GRUB_MOD_INIT): Stop documenting
12500 removed -p option.
12501
994b8264
CW
125022011-03-29 Colin Watson <cjwatson@ubuntu.com>
12503
12504 * docs/grub.texi (BIOS installation): New section, partly based on
12505 previous text in other sections.
12506 (Installing GRUB using grub-install): Replace BIOS discussion with a
12507 cross-reference.
12508 (Images): Likewise.
12509
9e4d19e0
VS
125102011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12511
12512 * grub-core/kern/emu/hostdisk.c (find_partition_start)
12513 [HAVE_DIOCGDINFO]: Add safety checks.
12514
a307c0b2
VS
125152011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12516
12517 * util/grub.d/10_kfreebsd.in: Allow ufs.ko to be missing as it's
12518 per default compiled in kernel and prior to 8.0 isn't shipped at all.
12519
b4db4f39
CW
125202011-03-29 Colin Watson <cjwatson@ubuntu.com>
12521
12522 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): If
12523 real_sb->size is zero (e.g. RAID-0), get the disk size from
12524 real_sb->data_size instead.
12525 Fixes Ubuntu bug #743136.
12526
35e5f84c
VS
125272011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12528
12529 * grub-core/normal/misc.c (grub_normal_print_device_info): Use correct
12530 printf clauses for printing size and start.
12531
d2e29d81
VS
125322011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12533
12534 * grub-core/fs/ext2.c (grub_ext2_read_inode): Fix an overflow.
12535 Reported and tested by: Timothy Nikkel.
12536
ed5587af
VS
125372011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12538
12539 * grub-core/term/gfxterm.c (dirty_region_add): Move core part to ...
12540 (dirty_region_add_real): ... this.
12541 (dirty_region_add): Don't discard margin refresh when performing
12542 scheduled repaint.
12543
a1dc717c
VS
125442011-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12545
12546 * grub-core/lib/relocator.c (allocate_regstart)
12547 [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Avoid grub_dprintf since not all
12548 terminals are capabple of malloc-free operation.
12549 (allocate_inreg) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
12550 (malloc_in_range) [!DEBUG_RELOCATOR_NOMEM_DPRINTF]: Likewise.
12551
9f3677d3
VS
125522011-03-29 Mario Limonciello <Mario_Limonciello@Dell.com>
12553
12554 * util/grub-setup.c: Copy the partition table zone if floppy support
12555 is disabled, even if no partition table is found.
12556
12557 Otherwise, the BIOS on Dell Latitude E series laptops will freeze
12558 during POST if an invalid partition table is contained in the PBR
12559 of the active partition when GRUB is installed to a partition.
12560
24148725
CW
125612011-03-28 Colin Watson <cjwatson@debian.org>
12562
12563 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Remove stale
12564 comment.
12565
f329eda7
CW
125662011-03-28 Colin Watson <cjwatson@debian.org>
12567
12568 * grub-core/disk/raid.c (grub_raid_register): Adjust debug message
12569 to be specific about what kind of RAID device we're scanning for.
12570
c482ad98
SG
125712011-03-26 Seth Goldberg <seth.goldberg@oracle.com>
12572
12573 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): Don't
12574 return freed string.
12575
5ee04984
VS
125762011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
12577
12578 * grub-core/fs/iso9660.c (grub_iso9660_label): Rtrim the label.
12579
f4727da9
VS
125802011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
12581
12582 Use libgeom on FreeBSD to detect partitions.
12583
12584 * Makefile.util.def (grub-mkimage): Add LIBGEOM to ldadd.
12585 (grub-mkrelpath): Likewise.
12586 (grub-script-check): Likewise.
12587 (grub-editenv): Likewise.
12588 (grub-mkpasswd-pbkdf2): Likewise.
12589 (grub-fstest): Likewise.
12590 (grub-mkfont): Likewise.
12591 (grub-mkdevicemap): Likewise.
12592 (grub-probe): Likewise.
12593 (grub-setup): Likewise.
12594 (grub-ofpathname): Likewise.
12595 (grub-mklayout): Likewise.
12596 (example_unit_test): Likewise.
12597 (grub-menulst2cfg): Likewise.
12598 * grub-core/Makefile.core.def (grub-emu): Likewise.
12599 (grub-emu-lite): Likewise.
12600 * configure.ac: Check for -lgeom on FreeBSD and set LIBGEOM.
12601 * grub-core/kern/emu/hostdisk.c [FreeBSD]: Include libgeom.h. Don't
12602 define HAVE_DIOCGDINFO.
12603 (follow_geom_up) [FreeBSD]: New function.
12604 (find_partition_start) [FreeBSD]: Rewritten using follow_geom_up.
12605 (convert_system_partition_to_system_disk) [FreeBSD]: Likewise.
12606 (grub_util_biosdisk_get_grub_dev) [FreeBSD]: Use FreeBSD path
12607 unconditionally of HAVE_DIOCGDINFO.
12608
82fe6c75
VS
126092011-03-26 Vladimir Serbinenko <phcoder@gmail.com>
12610
12611 Fix FreeBSD compilation problem.
12612
12613 * grub-core/kern/emu/hostdisk.c (MAJOR) [FreeBSD]: New definition.
12614 (FLOPPY_MAJOR) [FreeBSD]: Likewise.
12615
4c6c9431
CW
126162011-03-24 Colin Watson <cjwatson@ubuntu.com>
12617
12618 * grub-core/video/fb/video_fb.c (grub_video_fb_get_info_and_fini):
12619 Switch back to page zero before loading a kernel, since some kernel
12620 drivers expect that.
12621 Thanks to: Felix Kuehling.
12622
c7064d94
VS
126232011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
12624
12625 * grub-core/lib/relocator.c (grub_relocator_alloc_chunk_addr)
12626 [DEBUG_RELOCATOR]: Reuse grub_mm_check.
12627 (grub_relocator_alloc_chunk_align) [DEBUG_RELOCATOR]: Likewise.
12628
3f71cded
VS
126292011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
12630
12631 * include/grub/mm.h (GRUB_MM_CHECK): Rename to ...
12632 (grub_mm_check): ... this. MAke a function-like macro and use GRUB_FILE.
12633
ef6de21a
VS
126342011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
12635
12636 * grub-core/lib/relocator.c (allocate_inreg): Avoid dprintf unless
12637 DEBUG_RELOCATOR is defined since gfxterm can't cope with output when
12638 malloc is disabled.
12639
8bc66a2c
VS
126402011-03-24 Vladimir Serbinenko <phcoder@gmail.com>
12641
12642 * grub-core/loader/i386/bsdXX.c (grub_freebsd_load_elfmodule): Account
12643 for modules headers when counting the needed allocation size.
12644
5657722c
VS
126452011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12646
12647 * grub-core/term/gfxterm.c (calculate_normal_character_width): Return 8
12648 if no ASCII character is found to prevent crash.
12649
41a85f55
AK
126502011-03-23 Alexander Kurtz <kurtz.alex@googlemail.com>
12651
12652 * grub-core/video/bitmap.c (match_extension): Ignore case.
12653
59e1e5f1
VS
126542011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12655
12656 * grub-core/normal/menu_entry.c (init_line): Fix off-by-one error.
12657
bd4d051a
VS
126582011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12659
12660 * grub-core/script/parser.y: Declare "time" as valid argument.
12661
bae7fcc1
PJ
126622011-03-23 Peter Jones <pjones@redhat.com>
12663
12664 Fix incorrect assert failure reporting.
12665
12666 * grub-core/tests/example_functional_test.c (example_test): Add
12667 a failure comment.
12668 * grub-core/tests/lib/test.c (add_failure): Renamed to ...
12669 (failure_start): ...this. Check that malloc succeeded.
12670 Don't call xvasprintf. Return failure struct.
12671 (failure_append_vtext): New function.
12672 (failure_append_text): Likewise.
12673 (add_failure): Likewise.
12674 (grub_test_assert_helper): Likewise.
12675 * include/grub/test.h (grub_test_assert_helper): New declaration.
12676 (grub_test_assert): Macro rewritten.
12677
537dc9be
VS
126782011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12679
12680 * grub-core/normal/main.c (GRUB_MOD_INIT): Export pager variable.
12681
fa3e01bf
VS
126822011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12683
12684 * grub-core/lib/i386/pc/biosnum.c: Add missing include.
12685
b1d28404
VS
126862011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12687
12688 * grub-core/disk/usbms.c (grub_usbms_reset): Transform USB-style error
12689 into GRUB-style one.
12690
2e3e2e09
VS
126912011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12692
12693 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Return usb-style
12694 error and not grub_errno.
12695 * grub-core/bus/usb/usbhub.c (grub_usb_add_hub): Likewise.
12696
ed57e557
VS
126972011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12698
12699 * grub-core/bus/usb/uhci.c (grub_uhci_detect_dev): Return
12700 GRUB_USB_SPEED_NONE in case of failure and not the error code.
12701
d1611f01
VS
127022011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12703
12704 * grub-core/efiemu/i386/pc/cfgtables.c
12705 (grub_machine_efiemu_init_tables): Make declaration a prototype.
12706 * grub-core/loader/xnu.c (grub_xnu_lock): Likewise.
12707 (grub_xnu_unlock): Likewise.
12708 * grub-core/normal/cmdline.c (grub_cmdline_get/cl_set_pos_all): Likewise.
12709
7d4e39d6
VS
127102011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12711
12712 * grub-core/bus/usb/usb.c (attach_hooks): Make static.
12713 * grub-core/bus/usb/usbhub.c (hubs): Likewise.
12714 * grub-core/commands/hashsum.c (aliases): Likewise.
12715 * grub-core/commands/setpci.c (pci_registers): Likewise.
12716 * grub-core/disk/usbms.c (attach_hook): Likewise.
12717 * grub-core/fs/zfs/zfs.c (decomp_table): Likewise.
12718 (zio_checksum_table): Likewise.
12719 * grub-core/gettext/gettext.c (grub_gettext_msg_list): Likewise.
12720 * grub-core/gfxmenu/gfxmenu.c (cached_view): Likewise.
12721 * grub-core/lib/legacy_parse.c (legacy_commands): Likewise.
12722 * grub-core/lib/relocator.c (leftovers): Likewise.
12723 (extra_blocks): Likewise.
12724 * grub-core/loader/i386/bsd.c (relocator): Likewise.
12725 * grub-core/loader/i386/multiboot_mbi.c (modules): Likewise.
12726 (modules_last): Likewise.
12727 * grub-core/loader/i386/xnu.c (table_aliases): Likewise.
12728 (devices): Likewise.
12729 * grub-core/loader/multiboot_mbi2.c (modules): Likewise.
12730 (modules_last): Likewise.
12731 * grub-core/normal/auth.c (users): Likewise.
12732 * grub-core/normal/context.c (initial_menu): Likewise.
12733 (current_menu): Likewise.
12734 * grub-core/normal/crypto.c (crypto_specs): Likewise.
12735 * grub-core/term/serial.c (grub_serial_ports): Likewise.
12736 (grub_serial_terminfo_input_template): Likewise.
12737 (grub_serial_terminfo_output_template): Likewise.
12738 (grub_serial_terminfo_input): Likewise.
12739 (grub_serial_terminfo_output): Likewise.
12740 (registered): Likewise.
12741 * grub-core/term/usb_keyboard.c (attach_hook): Likewise.
12742
40fc4659
VS
127432011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12744
12745 * grub-core/video/bochs.c (grub_video_bochs_setup): Use
12746 grub_video_mode_type_t.
12747 * grub-core/video/cirrus.c (grub_video_cirrus_setup): Likewise.
12748 * grub-core/video/i386/pc/vbe.c (grub_video_vbe_setup): Likewise.
12749 * grub-core/video/i386/pc/vga.c (grub_video_vga_setup): Likewise.
12750
2da48d28
VS
127512011-03-23 Vladimir Serbinenko <phcoder@gmail.com>
12752
12753 * util/grub-install.in: Correct the x86-64 name as x86_64.
12754
9b43bf39
CW
127552011-03-11 Colin Watson <cjwatson@ubuntu.com>
12756
12757 * grub-core/boot/i386/pc/lnxboot.S (real_code_2): Ensure that the
12758 initial chunk read from the kernel always includes GRUB's multiboot
12759 header, which is now outside the first sector.
12760
be1a7ce0
CW
127612011-03-09 Colin Watson <cjwatson@ubuntu.com>
12762
12763 * grub-core/loader/i386/linux.c (find_efi_mmap_size): Page-align
12764 cached mmap_size, so that this works correctly when called multiple
12765 times.
12766 Reported by: Daniel Kahn Gillmor. Should fix Debian bug #616638.
12767
83a3c48d
CW
127682011-03-09 Colin Watson <cjwatson@ubuntu.com>
12769
12770 * docs/grub.texi (Simple configuration): Tidy up formatting.
12771
57d75699
SJ
127722011-03-07 Szymon Janc <szymon@janc.net.pl>
12773
12774 * grub-core/fs/zfs/zfs.c (zap_leaf_lookup):
12775 Set-but-not-used variable removed.
12776
028501a0
VS
127772011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12778
12779 Workaround yet another IEEE1275 bug.
12780
12781 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New enum value
12782 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS.
12783 * grub-core/kern/ieee1275/mmap.c (grub_machine_mmap_iterate): Ignore
12784 adress_cells and size:cells if GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS
12785 is set.
12786 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
12787 GRUB_IEEE1275_FLAG_BROKEN_ADDRESS_CELLS on powermacs.
12788
d998657d
VS
127892011-02-12 Vladimir Serbinenko <phcoder@gmail.com>
12790
12791 * grub-core/partmap/msdos.c (pc_partition_map_embed): Fix off by one
12792 error.
12793
fee7cdd4
CW
127942011-02-11 Colin Watson <cjwatson@ubuntu.com>
12795
12796 * util/grub.d/20_linux_xen.in: Bail out early if linux_list is
12797 empty, since in that case we can only generate either nothing or a
12798 syntactically invalid configuration file.
12799 Reported by: Michal Suchanek. Fixes Debian bug #612898.
12800
97286eb5
CW
128012011-02-09 Colin Watson <cjwatson@ubuntu.com>
12802
12803 * docs/grub.texi (Kernel): Add reference to grub-mkrescue.
12804 (Making a GRUB bootable CD-ROM): Likewise.
12805 (Invoking grub-mkrescue): New section.
12806 Reported by: Yann Dirson. Fixes Debian bug #612585.
12807
22b28eb3
CW
128082011-02-09 Colin Watson <cjwatson@ubuntu.com>
12809
12810 * util/grub-install.in: Remove unnecessary brackets from tr
12811 arguments.
12812 * util/grub.d/10_hurd.in: Likewise.
12813 * util/grub.d/10_kfreebsd.in: Likewise.
12814 * util/grub.d/10_linux.in: Likewise.
12815 * util/grub.d/20_linux_xen.in: Likewise.
12816 Reported by: Jamie Heilman. Fixes Debian bug #612564.
12817
7e735e43
CW
128182011-02-08 Colin Watson <cjwatson@ubuntu.com>
12819
12820 * include/grub/file.h (not_easly_seekable): Rename to ...
12821 (not_easily_seekable): ... this. Update all users.
12822
800f1881
CW
128232011-01-28 Colin Watson <cjwatson@ubuntu.com>
12824
12825 * docs/grub.texi (Making a GRUB bootable CD-ROM): Update to describe
12826 grub-mkrescue.
12827
3281d3d6
VS
128282011-01-24 Vladimir Serbinenko <phcoder@gmail.com>
12829
12830 * util/grub-mkimage.c (generate_image): Refuse to create the images
12831 bigger than the actual flash (512K) in Loongson machines. 512K is also
12832 the biggest chip supported by them.
12833
3533413c
VS
128342011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12835
12836 * grub-core/kern/emu/getroot.c: Include config-util.h explicitly.
12837
73ae4f4f
VS
128382011-01-22 Anthony DeRobertis <anthony@derobert.net>
12839
12840 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Check
12841 super_offset field.
12842
37f4f608
VS
128432011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12844
12845 * util/grub-install.in: Ignore install device on platforms
12846 where it doesn't make sense. Always use UUIDs except on pc, efi and
12847 sparc64.
12848 Reported by: Daniel Kahn Gillmor.
12849
03a4ccb5
VS
128502011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12851
12852 * grub-core/bus/bonito.c (write_bases): Fix direction of the shift.
12853
ffc8f4d8
VS
128542011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12855
12856 * grub-core/partmap/bsdlabel.c: Include grub/emu/misc.h and not grub/util/misc.h.
12857 (iterate_real): Don't rely on partition being non-NULL.
12858
80f23be7
VS
128592011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12860
12861 * grub-core/script/argv.c (round_up_exp): unsigned is 32-bit on all
12862 supported platforms. Put a compile time assert for this rather than
12863 generate a warning with 32-bit shift.
12864
5d4f4dd5
VS
128652011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12866
12867 * grub-core/disk/scsi.c (grub_scsi_read): Fix binary and check and make
12868 logical expression more readable.
12869
e489601a
VS
128702011-01-22 Vladimir Serbinenko <phcoder@gmail.com>
12871
12872 * grub-core/disk/raid.c (insert_array): Ensure uniqueness of p->number
12873 even if some elements have a name.
12874 Reported by: Alexander GQ Gerasiov.
12875
96e0a6ea
CW
128762011-01-22 Colin Watson <cjwatson@ubuntu.com>
12877
12878 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Consider a
12879 path unreadable if `grub-probe -t abstraction' fails, for example if
12880 memberlist fails on an LVM volume group.
12881 Reported by: Darius Jahandarie.
12882
81431e2b
CW
128832011-01-22 Colin Watson <cjwatson@ubuntu.com>
12884
12885 * docs/grub.texi (Simple configuration): Document
12886 GRUB_PRELOAD_MODULES.
12887
5e79d66a
CW
128882011-01-17 Colin Watson <cjwatson@ubuntu.com>
12889
12890 * .bzrignore: Remove nonexistent grub-pbkdf2.
12891
646ada34
VS
128922011-01-16 Vladimir Serbinenko <phcoder@gmail.com>
12893
12894 * configure.ac: Bump version to 1.99~rc1.
12895
04360337
VS
128962011-01-15 Vladimir Serbinenko <phcoder@gmail.com>
12897
12898 * util/grub-mkimage.c (generate_image): Check fwstart.img checksum
12899 for safety.
12900
46c9db88
VS
129012011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
12902
12903 * grub-core/kern/mips/yeeloong/init.c (grub_machine_init): Init boot
12904 module.
12905
129062011-01-14 Vladimir Serbinenko <phcoder@gmail.com>
1d955d00
VS
12907
12908 * grub-core/Makefile.core.def (fwstart): Add lost LDFLAGS.
12909
4fbf1852
VS
129102011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12911
12912 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Quote bootpath and
12913 diskdevid.
12914
f1632d4d
VS
129152011-01-13 Vladimir Serbinenko <phcoder@gmail.com>
12916
12917 Fix compilation on cygwin.
12918
12919 * conf/Makefile.common (STRIPFLAGS_KERNEL): Add -F elf32-i386 and
12920 -R .drectve on cygwin.
12921 * conf/i386-pc-cygwin-img-ld.sc: Merge rdata and pdata into data.
12922 * configure.ac: Use $(top_builddir) in TARGET_OBJ2ELF.
12923 (COND_CYGWIN): New condition.
12924 * grub-core/Makefile.am (%.mod): Set TARGET_OBJ2ELF.
12925 * grub-core/genmod.sh.in: Use ${TARGET_OBJ2ELF} and
12926 not @TARGET_OBJ2ELF@.
12927 * util/grub-pe2elf.c (write_symbol_table): Use pe_symtab->type and not
12928 type to determine whether aux is to be used.
12929
0b5e127b
VS
129302011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12931
12932 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Use the
12933 realpath'ed device string.
12934 Handle floppy (somewhat).
12935 Issue error in unknown case rather than garbage.
12936 Reported by: Axel Beckert.
12937
173b71e9
VS
129382011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12939
12940 * util/grub.d/00_header.in (load_video): Handle the case when no video
12941 drivers available.
12942 Thanks to: Axel Beckert.
12943
f8f479db
VS
129442011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12945
12946 * util/grub-mkfont.c (write_font_pf2): Use appropriate type for data
12947 variable. Fixes problem on big endian platforms.
12948
8fc0a245
VS
129492011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12950
12951 * grub-core/Makefile.core.def (ieee1275_fb): Disable on sparc.
12952 It doesn't work well there.
12953
b8494fbe
VS
129542011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12955
12956 * grub-core/normal/context.c (grub_env_context_close): Silence spurious
12957 warning.
12958 * grub-core/normal/menu.c (grub_menu_execute_entry): Likewise.
12959 * grub-core/partmap/msdos.c (pc_partition_map_embed): Use unsigned
12960 counter.
12961
b44a558c
VS
129622011-01-12 Vladimir Serbinenko <phcoder@gmail.com>
12963
12964 Use alias->path rather than buggy "canon".
12965
12966 * grub-core/disk/ieee1275/ofdisk.c (ofdisk_hash_add_real): New function.
12967 (ofdisk_hash_add): New argument curcan. All users updated.
12968
51fa856c
CW
129692011-01-11 Colin Watson <cjwatson@ubuntu.com>
12970
12971 * configure.ac: Fall back to `true' if `makeinfo' does not exist.
12972
9da068a5
VS
129732011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12974
12975 * grub-core/loader/powerpc/ieee1275/linux.c (grub_linux_load32): Apply
12976 loadmask before doing any calculations. Use correct type for offset.
12977 (grub_linux_load64): Likewise.
12978
86205c94
CW
129792011-01-11 Colin Watson <cjwatson@ubuntu.com>
12980
12981 * util/grub-mklayout.c (console_grub_equivalences_shift): Terminate
12982 with NULL.
12983 (console_grub_equivalences_unshift): Likewise.
12984 Reported by: Daniel Dehennin.
12985
4531a206
VS
129862011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
12987
12988 * grub-core/fs/i386/pc/pxe.c (set_mac_env): Export variable.
12989 (set_env_limn_ro): Likewise.
12990 (GRUB_MOD_INIT): Likewise.
12991 * grub-core/hook/datehook.c (GRUB_MOD_INIT): Likewise. Change to
12992 ARRAY_SIZE while on it.
12993 (GRUB_MOD_FINI): Change to ARRAY_SIZE.
12994 * grub-core/normal/context.c (grub_env_export): Move from here ...
12995 * grub-core/kern/env.c (grub_env_export): ... here.
12996 * grub-core/normal/context.c (grub_cmd_export): Skip exporting root and
12997 prefix.
12998 * grub-core/kern/main.c (grub_main): Export root and prefix.
12999 * include/grub/env.h (grub_env_export): Export.
13000 Reported by: Seth Goldberg.
13001
45146057
VS
130022011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13003
13004 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
13005 Take into account space used by ELF sections and multiboot palette.
13006 Reported by: Grégoire Sutre.
13007
f093110b
VS
130082011-01-11 Vladimir Serbinenko <phcoder@gmail.com>
13009
13010 * BUGS: New file.
13011
3395fe52
VS
130122011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13013
13014 Pass more appropriate video id to Linux.
13015
13016 * grub-core/loader/i386/linux.c (grub_linux_setup_video): Use
13017 grub_video_get_driver_id and variable gfxpayloadforcelfb to
13018 fill have_vga.
13019 (grub_linux_boot): Rely on grub_linux_setup_video to fill have_vga and
13020 shift params->lfb_size.
13021 * include/grub/i386/linux.h: Make an enume out of have_vga values.
13022
c2fa6cbb
VS
130232011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13024
13025 * util/grub-menulst2cfg.c: Add missing include of misc.h.
13026
b3ff6ff0
VS
130272011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13028
13029 * grub-core/fs/zfs/zfsinfo.c (grub_cmd_zfs_bootfs): Use comma as
13030 separator and pass bootpath/devid even if only one of them is available.
13031 Reported by: Seth Goldberg.
13032
ae67942e
VS
130332011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13034
13035 Don't use post-4G memory on EFI even if 64-bit since some non-compliant
13036 implementations bug on them.
13037
13038 * grub-core/kern/efi/mm.c (grub_efi_allocate_pages): Skip post-4G
13039 memory.
13040 (filter_memory_map): Likewise.
13041
d570097a
VS
130422011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13043
13044 * util/grub-kbdcomp.in: Add missing prefix and exec_prefix variables.
13045 Reported by: nebuchadnezzar.
13046
a508e776
VS
130472011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13048
13049 * util/grub-kbdcomp.in: Add missing transform and bindir variables.
13050 Reported by: nebuchadnezzar.
13051
dcb883b1
VS
130522011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13053
13054 Submenu default support.
13055
13056 * grub-core/normal/menu.c (grub_menu_execute_entry): New parameter
13057 auto_boot. All users updated.
13058 Declared static.
13059 Handle chosen and default with submenus.
13060 (grub_menu_execute_with_fallback): Declared static.
13061 Don't notify failure if autobooted. Upper level does it.
13062 (menuentry_eq): New function.
13063 (get_entry_number): Use menuentry_eq.
13064 (show_menu): New parameter "autobooted". All users updated.
13065 (grub_show_menu): Likewise.
13066 * include/grub/normal.h (grub_show_menu): Likewise.
13067 * include/grub/menu.h (grub_menu_execute_entry): Removed.
13068 (grub_menu_execute_with_fallback): Likewise.
13069
6fef99b4
VS
130702011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13071
13072 * util/grub-mklayout.c (usage): Update help text.
13073
47a77af5
VS
130742011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13075
13076 * grub-core/commands/legacycfg.c (legacy_file): Trim the line.
13077
ce6bb3ee
VS
130782011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13079
13080 * util/grub-menulst2cfg.c (main): Trim the line.
13081
db87be2a
VS
130822011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13083
13084 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): Removed.
13085 (grub_machine_init): Don't check amount of low memory as reportedly
13086 INT 12h can be broken and if low memory is too low we wouldn't have
13087 gotten into grub_machine_init anyway.
13088
c49849cc
VS
130892011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13090
13091 * grub-core/kern/i386/pc/mmap.c (grub_get_conv_memsize): New function.
13092 (grub_machine_mmap_iterate): Take low memory into account
13093
b1969b30
VS
130942011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13095
13096 * grub-core/fs/btrfs.c (grub_btrfs_mount): Transform out of range into
13097 badfs.
13098 Reported by: TiCPU.
13099
cf0eaf13
VS
131002011-01-10 Vladimir Serbinenko <phcoder@gmail.com>
13101
13102 * grub-core/disk/raid.c (insert_array): Display RAID name in duplicate
13103 members errors.
13104
1f060f39
GS
131052011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
13106
13107 * util/grub.d/10_netbsd.in (netbsd_load_fs_module): New function.
13108 (netbsd_entry): Use netbsd_load_fs_module() to load filesystem module.
13109
a21e5672
GS
131102011-01-09 Grégoire Sutre <gregoire.sutre@gmail.com>
13111
13112 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Handle
13113 openbsd and netbsd types being in part_bsd module.
13114
c88172fa
VS
131152011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13116
13117 * config.h.in (_LARGEFILE_SOURCE): Add missing define.
13118 (_FILE_OFFSET_BITS): Likewise.
13119 Reported by: Seth Goldberg.
13120
53798c4b
GS
131212011-01-08 Grégoire Sutre <gregoire.sutre@gmail.com>
13122
13123 * configure.ac: Check for libdevmapper header.
13124
e7121b69
VS
131252011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13126
13127 * grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
13128 avoid aliasing.
13129 (fzap_lookup): Likewise.
13130 (dnode_get): Likewise.
13131 (make_mdn): Likewise.
13132 (zfs_mount): Likewise.
13133 (fzap_iterate): Use temporary pointer to avoid aliasing.
13134 (grub_zfs_read): Likewise.
13135 * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise.
13136 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some
13137 pointers to avoid aliasing.
13138 (grub_cmd_xnu_kernel64): Likewise.
13139 (grub_xnu_load_driver): Likewise.
13140
fc836af9
VS
131412011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13142
13143 * grub-core/commands/terminal.c (grub_cmd_terminal_input): Silence
13144 aliasing warning.
13145 (grub_cmd_terminal_output): Likewise.
13146 Reported and tested by: Grégoire Sutre.
13147
f9f37648
VS
131482011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13149
13150 * grub-core/term/at_keyboard.c (grub_keyboard_getkey): Silence spurious
13151 warning.
13152 Reported and tested by: Grégoire Sutre.
13153
ec1dfd63
VS
131542011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13155
13156 * configure.ac: Do CPU substitution even if it's specified explicitly.
13157 Reported and tested by: Alain Greppin.
13158
9462775a
VS
131592011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13160
13161 * grub-core/Makefile.am (rs_decoder.S): Force compilation with -Os.
13162 Reported and tested by: Alain Greppin.
13163
0fd48e35
VS
131642011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13165
13166 Satisfy some bison versions need for inttypes.h.
13167
13168 * grub-core/lib/posix_wrap/inttypes.h: New file.
13169 * grub-core/lib/posix_wrap/sys/types.h (int8_t): New type.
13170 (int16_t): Likewise.
13171 (int32_t): Likewise.
13172 (int64_t): Likewise.
13173 Reported and tested by: Alain Greppin.
13174
43f1bc83
VS
131752011-01-08 Vladimir Serbinenko <phcoder@gmail.com>
13176
13177 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta):
13178 Silence spurious warning.
13179 Reported and tested by: Alain Greppin.
13180
64d1f041
SJ
131812011-01-07 Szymon Janc <szymon@janc.net.pl>
13182
13183 * docs/grub.texi (Support automatic decompression): Update with xz
13184 decompression support.
13185
25953e10
SJ
131862011-01-07 Szymon Janc <szymon@janc.net.pl>
13187
13188 Improve loaders' kernel command line handling.
13189
13190 * grub-core/lib/cmdline.c: New file.
13191 * include/grub/lib/cmdline.h: Likewise.
13192 * grub-core/loader/i386/linux.c (grub_cmd_linux): Use
13193 grub_create_loader_cmdline to create kernel command line.
13194 * grub-core/loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
13195 * grub-core/loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Likewise.
13196 * grub-core/loader/sparc64/ieee1275/linux.c (grub_cmd_linux): Likewise.
13197 * grub-core/Makefile.core.def (linux16): Add lib/cmdline.c on i386_pc.
13198 (linux): Add lib/cmdline.c on common.
13199
e72d259f
VS
132002011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
13201
13202 * grub-core/fs/xfs.c (grub_xfs_iterate_dir): Take into account that
13203 inopos might be unaligned.
13204
c0cf26da
VS
132052011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
13206
13207 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Add missing
13208 endian transformations.
13209 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
13210 Based on report by: Doug Nazar.
13211
0ca09e6c
DN
132122011-01-07 Doug Nazar <nazard.michi@gmail.com>
13213
13214 * grub-core/disk/raid5_recover.c (grub_raid5_recover): Add missing
13215 array->members[i].start_sector.
13216 * grub-core/disk/raid6_recover.c (grub_raid6_recover): Likewise.
13217
014b6806
VS
132182011-01-07 Vladimir Serbinenko <phcoder@gmail.com>
13219
13220 * util/grub-setup.c (setup): Handle NetBSD and OpenBSD disklabels.
13221 Reported and tested by: Grégoire Sutre.
13222
415502c2
CW
132232011-01-06 Colin Watson <cjwatson@ubuntu.com>
13224
13225 * tests/util/grub-shell.in: Set serial terminfo type to `dumb', to
13226 avoid causing test failures by clearing the screen.
13227
71b6a2b7
CW
132282011-01-06 Colin Watson <cjwatson@ubuntu.com>
13229
13230 * grub-core/kern/emu/getroot.c (find_root_device_from_mountinfo):
13231 Fix prefix check to handle the case where dir ends with a slash
13232 (most significantly, "/" itself).
13233 Reported by: Michael Vogt.
13234
b3f8d28a
VS
132352011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13236
13237 Run terminfo_cls on initing terminfo output to clear the screen and
13238 move the cursor to (0,0).
13239
13240 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_init_output):
13241 Call grub_terminfo_output_init.
13242 * grub-core/term/serial.c (grub_serial_term_output): Set .init.
13243 * grub-core/term/terminfo.c (grub_terminfo_output_init): New function.
13244 * include/grub/terminfo.h (grub_terminfo_output_init): New declaration.
13245
4c3e4f37
VS
132462011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13247
13248 * util/grub-install.in: Determine ofpathname, nvsetenv and efibootmgr
13249 only when needed.
13250
488f71f1
VS
132512011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13252
13253 * grub-core/term/terminfo.c (grub_terminfo_readkey): Handle keys with
13254 CTRL.
13255
18a38098
VS
132562011-01-05 Vladimir Serbinenko <phcoder@gmail.com>
13257
13258 The E820 type 5 is BADRAM, not EXEC_CODE.
13259
13260 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
13261 (GRUB_E820_BADRAM): New define.
13262 * grub-core/loader/i386/linux.c (grub_linux_boot): Translate code
13263 into reserved. Propagate BADRAM.
13264 * grub-core/loader/i386/bsd.c (GRUB_E820_EXEC_CODE): Removed.
13265 (GRUB_E820_BADRAM): New define.
13266
9eae2084
VS
132672011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13268
13269 * grub-core/lib/efi/relocator.c (grub_relocator_firmware_fill_events):
13270 Ignore the memory post-4G.
13271 (grub_relocator_firmware_alloc_region): Additional debug statement.
13272
ebc71d28
VS
132732011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13274
13275 * grub-core/kern/emu/getroot.c (grub_util_get_grub_dev): Check md/%s
13276 names.
13277 Reported by: David Pravec.
13278
446fa400
VS
132792011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13280
13281 * grub-core/disk/i386/pc/biosdisk.c (GRUB_MOD_INIT): Workaround buggy
13282 BIOSes.
13283
a0159f37
VS
132842011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13285
13286 * grub-core/lib/reed_solomon.c (grub_reed_solomon_add_redundancy):
13287 Prevent overflow.
13288 (grub_reed_solomon_recover): Likewise.
13289
e5146ca1
VS
132902011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
13291
13292 * grub-core/lib/reed_solomon.c (main) [TEST]: Reactivate normal test.
13293
132942011-01-04 Vladimir Serbinenko <phcoder@gmail.com>
95638499
VS
13295
13296 * grub-core/lib/reed_solomon.c (scratch) [! STANDALONE]: Remove leftover
13297 variable.
13298
5b1bdf12
CW
132992011-01-04 Colin Watson <cjwatson@ubuntu.com>
13300
13301 * grub-core/commands/legacycfg.c (GRUB_MOD_INIT): Fix typo in
13302 descriptions of extract_legacy_entries_source and
13303 extract_legacy_entries_configfile.
13304 Reported by: Seung Soo, Ha.
13305
99d925aa
CW
133062011-01-03 Colin Watson <cjwatson@ubuntu.com>
13307
13308 * grub-core/bus/pci.c (grub_pci_iterate): Skip remaining functions
13309 on devices that do not implement function 0.
13310
4af0504b
DV
133112011-01-03 Dave Vasilevsky <dave@vasilevsky.ca>
13312
13313 * grub-core/fs/hfsplus.c: Make parent unsigned.
13314 (grub_hfsplus_cmp_catkey): Don't compare using subtraction, it
13315 overflows.
13316 (grub_hfsplus_cmp_extkey): Likewise
13317
469ee10a
VS
133182011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
13319
13320 * util/grub-install.in: Correctly use bootloader_id and not
13321 GRUB_DISTRIBUTOR on efibootmgr line.
13322
323a8e9c
VS
133232011-01-03 Vladimir Serbinenko <phcoder@gmail.com>
13324
13325 * util/grub-mkfont.c (main): Report errors in FT_New_Face.
13326
1b394975
IC
133272010-12-31 Ian Campbell <ijc@hellion.org.uk>
13328
13329 * util/grub.d/20_linux_xen.in (linux_entry): Correctly capitalize
13330 Xen and reorder menu item wording to make it clearer that this entry
13331 will launch Xen. Print separate messages when loading Xen and
13332 Linux.
13333
275bff5f
VS
133342010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
13335
13336 * grub-core/partmap/amiga.c (GRUB_AMIGA_PART_MAGIC): New define.
13337 (amiga_partition_map_iterate): Check "PART" magic to avoid a very long
13338 loop in case of incorrect amiga partmap.
13339
307806cb
VS
133402010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
13341
13342 * grub-core/partmap/amiga.c (GRUB_AMIGA_RDSK_MAGIC): New define.
13343 (amiga_partition_map_iterate): Use grub_memcmp instead of grub_strcmp.
13344 Reported by:EHeM.
13345
b12b923e
VS
133462010-12-31 Vladimir Serbinenko <phcoder@gmail.com>
13347
13348 * grub-core/loader/i386/bsdXX.c (grub_openbsd_find_ramdisk): Silence
13349 spurious warning.
13350 Reported by: crocket
13351
14b48a19
VS
133522010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13353
13354 * grub-core/loader/xnu.c (grub_cmd_xnu_kernel) [! GRUB_MACHINE_EFI]:
13355 Preload EFIemu.
13356 (grub_cmd_xnu_kernel64) [! GRUB_MACHINE_EFI]: Likewise.
13357
693db2df
VS
133582010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13359
13360 * grub-core/loader/xnu.c (grub_cmd_xnu_kext): Abort if no kernel
13361 is loaded
13362 (grub_cmd_xnu_kextdir): Likewise.
13363 (grub_cmd_xnu_splash): Likewise.
13364
c7638645
VS
133652010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13366
13367 Avoid using Reed-Solomon with 0 redundancy.
13368
13369 * grub-core/kern/i386/pc/startup.S: Remove 0-data check.
13370 * grub-core/lib/reed_solomon.c (decode_block): Do not proceed on 0 data
13371 or 0 redundancy.
13372 (grub_reed_solomon_add_redundancy): Do not proceed with 0 redundancy.
13373 (grub_reed_solomon_recover): Likewise.
13374
25dd4780
VS
133752010-12-27 Vladimir Serbinenko <phcoder@gmail.com>
13376
13377 Don't use disk subsystem in freebsd_boot.
13378
13379 * grub-core/loader/i386/bsd.c (freebsd_bootdev): New variable.
13380 (freebsd_biosdev): Likewise.
13381 (grub_freebsd_boot): Use freebsd_bootdev and freebsd_biosdev.
13382 (grub_cmd_freebsd): Set freebsd_bootdev and freebsd_biosdev.
13383
0b2db943
VS
133842010-12-26 Vladimir Serbinenko <phcoder@gmail.com>
13385
13386 Handling of files of unknown size is currently limited. They can't be
13387 used e.g. for initrd or modules. Moreover gzip handling of not
13388 easily seekable files is buggy. Disable unknown file size for now. May
13389 be inefficient but works.
13390
13391 * grub-core/io/gzio.c (test_header): Always retrieve the file size.
13392 * grub-core/io/xzio.c (grub_xzio_open): Likewise.
13393
5c408d0f
MP
133942010-12-25 Mirko Parthey <mirko.parthey@informatik.tu-chemnitz.de>
13395
13396 * grub-core/boot/i386/pc/boot.S: Fix %es:%bx pointing to nowhere on
13397 floppy probe.
13398
190a011a
JD
133992010-12-25 Jeroen Dekkers <jeroen@dekkers.ch>
13400
13401 * grub-core/disk/raid.c (insert_array): Don't add spurious members.
13402
022d01b8
SL
134032010-12-25 Shea Levy <shlevy>
13404
13405 * grub-core/genmod.sh.in: Use @OBJCOPY@ rather than objcopy.
13406
c4855fdc
VS
134072010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13408
13409 * util/grub.d/30_os-prober.in: Don't emit drivemap directive for
13410 Windows Server 2008.
13411 Reported by: Devin Giddings.
13412
0354b867
VS
134132010-12-25 Vladimir Serbinenko <phcoder@gmail.com>
13414
13415 * grub-core/commands/acpihalt.c (grub_acpi_halt): Sleep for 1.5 before
13416 writing an error message because of async power management.
13417 * grub-core/kern/mips/yeeloong/init.c (grub_halt): Likewise.
13418 (grub_reboot): Likewise.
13419
ab66c69f
JU
134202010-12-23 Jordan Uggla <jordan.uggla@gmail.com>
13421
13422 * tests/util/grub-shell.in: Suppress "ACPI shutdown failed" error to
13423 keep unit tests from failing when they shouldn't.
13424
1426ef35
CW
134252010-12-21 Colin Watson <cjwatson@ubuntu.com>
13426
13427 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_RAW_SIZE): The
13428 previous patch increased the size of the RS code by 20 bytes (at
13429 least with gcc-4.4), so increase this by 20 bytes to match.
13430 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): Likewise.
13431
20641b6b
CW
134322010-12-21 Colin Watson <cjwatson@ubuntu.com>
13433
13434 * grub-core/lib/reed_solomon.c (gauss_solve): Fix size of standalone
13435 scratch area. Make sure to initialise chosen in standalone mode as
13436 well as non-standalone.
13437 Reported by: Robert Hooker and Andy Whitcroft.
13438 Tested by: Andy Whitcroft.
13439
d060ad60
CW
134402010-12-21 Colin Watson <cjwatson@ubuntu.com>
13441
13442 * grub-core/commands/echo.c (grub_cmd_echo): Make UTF-8-clean by
13443 constructing a new unescaped string and passing it to grub_xputs in
13444 one go, rather than passing characters to grub_printf one at a time.
13445
b889cfad
CW
134462010-12-21 Colin Watson <cjwatson@ubuntu.com>
13447
13448 * grub-core/fs/udf.c (read_string): Pacify GCC warning by
13449 initialising utf16.
13450
4e01b6c8
CW
134512010-12-21 Colin Watson <cjwatson@ubuntu.com>
13452
13453 * util/grub-mkconfig_lib.in (gettext_quoted): Add clarifying
13454 comment. Add an extra layer of quotation, requiring the output of
13455 this function to be used in a printf format string.
13456 (gettext_printf): New function.
13457 * util/grub.d/10_hurd.in: Use gettext_printf where appropriate.
13458 Extract translatable strings from here-documents and use a temporary
13459 variable instead, so that xgettext can find them.
13460 * util/grub.d/10_kfreebsd.in: Likewise.
13461 * util/grub.d/10_linux.in: Likewise.
13462 * util/grub.d/20_linux_xen.in: Likewise.
13463
13464 * po/grub.d.sed: New file.
13465 * po/Makefile.in.in ($(DOMAIN).pot-update): Extract gettext_printf
13466 arguments. Set c-format flags on all strings extracted from
13467 util/grub.d/ (xgettext refuses to include these itself for strings
13468 it extracted from a shell file, but these really are c-format).
13469
5318fe98
VS
134702010-12-20 Vladimir Serbinenko <phcoder@gmail.com>
13471
13472 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_add_module):
13473 Avoid next pointing to nowhere.
13474
6c85b743
VS
134752010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
13476
13477 * grub-core/fs/affs.c (grub_affs_mount): Read data->bblock.rootblock
13478 rather than assuming than rootblock is exactly in the middle.
13479 (grub_affs_label): Likewise.
13480
a2a08a35
VS
134812010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
13482
13483 * grub-core/fs/affs.c (grub_affs_fs) [GRUB_UTIL]: Explicitly set
13484 reserved_first_sector to 0.
13485 * grub-core/fs/cpio.c (grub_cpio_fs) [GRUB_UTIL]: Likewise.
13486 * grub-core/fs/sfs.c (grub_sfs_fs) [GRUB_UTIL]: Likewise.
13487 * grub-core/fs/xfs.c (grub_xfs_fs) [GRUB_UTIL]: Likewise.
13488
7059d1ec
VS
134892010-12-19 Vladimir Serbinenko <phcoder@gmail.com>
13490
13491 Fix handling of UTF-16 UDF labels.
13492
13493 * grub-core/fs/udf.c (grub_udf_iterate_dir): Move string-parsing part
13494 (read_string): .. here.
13495 (grub_udf_label): Use read_string.
13496
30aff4cb
BC
134972010-12-19 BVK Chaitanya <bvk.groups@gmail.com>
13498
13499 * grub-core/normal/menu_entry.c (run): Execute commands from menu
13500 editor under argument scope.
13501 Reported by: Jordan Uggla
13502
5cf86f4b
VS
135032010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
13504
13505 * util/grub-mkfont.c (main): Handle errors from FT_Set_Pixel_Sizes.
13506
32570200
CW
135072010-12-18 Colin Watson <cjwatson@ubuntu.com>
13508
13509 * grub-core/normal/term.c (print_more): Make \r or \n scroll one
13510 line, and other keys scroll an entire page (previous handling was
13511 for \r and \n to scroll a page and other keys to scroll two lines).
13512
e1dffcf2
VS
135132010-12-18 Vladimir Serbinenko <phcoder@gmail.com>
13514
13515 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_make_mbi):
13516 Set ptrdest to correct get_physical_target_address rather than
13517 incorrect get_virtual_current_address.
13518
b04298cf 135192010-12-18 kashyap garimella <garimella.kashyap@gmail.com>
13520
13521 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_load): Use
13522 correct cat to grub_uint8_t * rather than grub_uint32_t *.
13523
5367ecd3
CW
135242010-12-10 Colin Watson <cjwatson@ubuntu.com>
13525
13526 * .bzrignore: Ignore grub-core/rs_decoder.S.
13527
1fb430f8
CW
135282010-12-10 Colin Watson <cjwatson@ubuntu.com>
13529
13530 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Factor out
13531 .mo/.mo.gz opening sequence to ...
13532 (grub_mofile_open_lang): ... here.
13533 (grub_gettext_init_ext): If opening ll_CC fails, try ll.
13534 * util/grub.d/00_header.in (grub_lang): Include country part of
13535 locale.
13536 Reported by: Mario Limonciello.
13537
a94a6671
RM
135382010-12-09 Robert Millan <rmh@gnu.org>
13539
13540 * NEWS: Document addition of ZFS support.
13541
24b7938b
CW
135422010-12-04 Colin Watson <cjwatson@ubuntu.com>
13543
13544 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Use `>> 1'
13545 rather than `/ 2', as the latter requires -Wa,--divide which would
13546 require bumping our minimum binutils version.
13547
bddc3ef6
BC
135482010-12-03 BVK Chaitanya <bvk.groups@gmail.com>
13549
13550 * util/grub-script-check.c (main): Print script line number on
13551 error.
13552
bf78d5b2
RM
135532010-12-01 Robert Millan <rmh@gnu.org>
13554
13555 * grub-core/fs/zfs/zfs.c: New file.
13556 * grub-core/fs/zfs/zfs_fletcher.c: Likewise.
13557 * grub-core/fs/zfs/zfs_lzjb.c: Likewise.
13558 * grub-core/fs/zfs/zfs_sha256.c: Likewise.
13559 * grub-core/fs/zfs/zfsinfo.c: Likewise.
13560
13561 * include/grub/zfs/dmu.h: Likewise.
13562 * include/grub/zfs/dmu_objset.h: Likewise.
13563 * include/grub/zfs/dnode.h: Likewise.
13564 * include/grub/zfs/dsl_dataset.h: Likewise.
13565 * include/grub/zfs/dsl_dir.h: Likewise.
13566 * include/grub/zfs/sa_impl.h: Likewise.
13567 * include/grub/zfs/spa.h: Likewise.
13568 * include/grub/zfs/uberblock_impl.h: Likewise.
13569 * include/grub/zfs/vdev_impl.h: Likewise.
13570 * include/grub/zfs/zap_impl.h: Likewise.
13571 * include/grub/zfs/zap_leaf.h: Likewise.
13572 * include/grub/zfs/zfs.h: Likewise.
13573 * include/grub/zfs/zfs_acl.h: Likewise.
13574 * include/grub/zfs/zfs_znode.h: Likewise.
13575 * include/grub/zfs/zil.h: Likewise.
13576 * include/grub/zfs/zio.h: Likewise.
13577 * include/grub/zfs/zio_checksum.h: Likewise.
13578
13579 * Makefile.util.def: Build ZFS into libgrubmods.
13580 * grub-core/Makefile.core.def: Build zfs.mod.
13581
3f0f3831
SJ
135822010-11-30 Szymon Janc <szymon@janc.net.pl>
13583
13584 * grub-core/commands/regexp.c (grub_cmd_regexp): Remove unused
13585 variable.
13586 * grub-core/commands/wildcard.c (match_files): Likewise.
13587
3a4253b2
RM
135882010-11-30 Robert Millan <rmh@gnu.org>
13589
13590 * grub-core/loader/i386/bsd.c
13591 (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module_elf): Check
13592 whether kernel is loaded using grub_loader_is_loaded(), rather
13593 than `kernel_type', which may still be `KERNEL_TYPE_NONE' under
13594 certain error conditions.
13595
8c317b27
RM
135962010-11-30 Robert Millan <rmh@gnu.org>
13597
c5c9cd3e
RM
13598 * grub-core/commands/echo.c: Include `<grub/term.h>'.
13599 (grub_cmd_echo): Call grub_refresh() after printing a message.
8c317b27 13600
49d3ab46
VS
136012010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
13602
13603 Avoid using tricks for initialising endian variables.
13604
13605 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot):
13606 Make const.
13607 (GRUB_MOD_INIT): Don't byte-swap.
13608 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
13609 Use grub_cpu_to_le16_compile_time and grub_cpu_to_le32_compile_time.
13610 * include/grub/types.h (grub_swap_bytes16_compile_time): New macro.
13611 (grub_swap_bytes32_compile_time): Likewise.
13612 (grub_cpu_to_le32_compile_time): Likewise.
13613 (grub_cpu_to_le16_compile_time): Likewise.
13614
f420a804
VS
136152010-11-26 Vladimir Serbinenko <phcoder@gmail.com>
13616
13617 * util/grub-setup.c (setup): Stop recommending --force. People who
13618 understand the dangers of blocklists are able to find this option
13619 anyway and the ones who don't shouldn't use it anyway.
13620
4e7db17b
RM
136212010-11-26 Robert Millan <rmh@gnu.org>
13622
13623 * grub-core/term/i386/pc/vga_text.c (VGA_TEXT_SCREEN): Beautify.
13624 Update all users.
13625
9be57a0d
CW
136262010-11-26 Colin Watson <cjwatson@ubuntu.com>
13627
13628 Fix LVM-on-RAID probing.
13629
13630 * util/grub-probe.c (probe): Remember which disk was detected as
13631 RAID (perhaps an LVM physical volume). Use that disk's raidname
13632 rather than that of the top-level disk.
13633
2c7859b3 136342010-11-25 BVK Chaitanya <bvk.groups@gmail.com>
7e623b0d 13635
d7647bb6
BC
13636 Fix cmdline argument quotes for setparams command of menuentry
13637 definitions.
7e623b0d
BC
13638
13639 * grub-core/commands/menuentry.c (setparams_prefix): Use single
13640 quotes for arguments.
f866fe80 13641 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Use
7955bea0 13642 grub_strchrsub function instead.
f866fe80 13643
7955bea0 13644 * include/grub/misc.h (grub_strchrsub): New function.
7e623b0d 13645
74f72a64
CW
136462010-11-24 Colin Watson <cjwatson@ubuntu.com>
13647
13648 * util/deviceiter.c (grub_util_iterate_devices): Save a bit of
13649 effort by skipping "." and ".." entries up-front.
13650 Suggested by: Michael Lazarev.
13651
5a407278
CW
136522010-11-24 Colin Watson <cjwatson@ubuntu.com>
13653
13654 * grub-core/Makefile.core.def (xz_decompress): Move -lgcc from
13655 ldflags to ldadd, to fix link line ordering.
13656 (none_decompress): Likewise.
13657
3030d8ec
CW
136582010-11-24 Colin Watson <cjwatson@ubuntu.com>
13659
13660 * grub-core/Makefile.core.def (kernel): Add kern/emu/cache.S for emu
13661 platforms.
13662 (grub-emu-lite): Remove kern/emu/cache.S.
13663
b7fbac12
CW
136642010-11-23 Colin Watson <cjwatson@ubuntu.com>
13665
13666 * util/deviceiter.c (compare_devices): If the by-id link for a
13667 device couldn't be resolved, fall back to sorting by the by-id link
13668 rather than segfaulting.
13669 Reported and tested by: Daniel Mierswa.
13670
5225f328
CW
136712010-11-23 Colin Watson <cjwatson@ubuntu.com>
13672
13673 * Makefile.util.def (grub-menulst2cfg): List libraries in ldadd, not
13674 ldflags, to fix link line ordering.
13675
038b3ce8
CW
136762010-11-23 Colin Watson <cjwatson@ubuntu.com>
13677
13678 * grub-core/Makefile.am (gentrigtables): Put -lm after $<; some
13679 linkers are picky about this.
13680
bf16e98e
CW
136812010-11-23 Colin Watson <cjwatson@ubuntu.com>
13682
13683 * grub-core/Makefile.am (command.lst): Adjust sed expression
13684 ordering so that extended and priority commands aren't treated as
13685 ordinary commands.
13686
7242bab6
CW
136872010-11-23 Colin Watson <cjwatson@ubuntu.com>
13688
13689 * include/grub/gpt_partition.h (GRUB_GPT_PARTITION_TYPE_BIOS_BOOT):
13690 Remove byte-swapping function calls, which are not valid in
13691 structure initialisers.
13692 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot): Make
13693 non-const.
13694 (GRUB_MOD_INIT): Byte-swap data1, data2, and data3 fields of
13695 grub_gpt_partition_type_bios_boot.
13696
14e8b279
CW
136972010-11-22 Colin Watson <cjwatson@ubuntu.com>
13698
13699 Fix test program build on GNU/kFreeBSD.
13700
13701 * Makefile.util.def (example_unit_test): Add `$(LIBZFS)
13702 $(LIBNVPAIR)' library dependencies.
13703
e6f63338 137042010-11-22 Colin Watson <cjwatson@ubuntu.com>
03df09c7
CW
13705
13706 * util/grub-install.in: Fix parsing of --grub-mkrelpath= option.
13707
cf8ffc38
CW
137082010-11-22 Colin Watson <cjwatson@ubuntu.com>
13709
13710 * util/grub-install.in: Remove excessive quoting that broke
13711 installations to RAID devices.
13712
7f8b0fd7
VS
137132010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
13714
13715 * grub-core/loader/i386/linux.c (grub_cmd_linux): Pass correctly the
13716 bootloader version instead of 0.
13717
dfd240b1
VS
137182010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
13719
13720 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Fix spurious
13721 warning.
13722
7b61e609
VS
137232010-11-19 Vladimir Serbinenko <phcoder@gmail.com>
13724
13725 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Don't try to
13726 retrieve the metadat sector if size isn't known.
13727 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
13728
9dfe92d0
RM
137292010-11-18 Robert Millan <rmh@gnu.org>
13730
13731 * grub-core/fs/btrfs.c (grub_btrfs_mount): Replace grub_strncmp()
13732 with grub_memcmp().
13733
41cc919e
VS
137342010-11-18 Vladimir Serbinenko <phcoder@gmail.com>
13735
13736 * grub-core/normal/menu_entry.c (print_up): Fix displacement of up
13737 arrow.
13738 Reported by: Jordan Uggla.
13739
1afcc914
VS
137402010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13741
13742 Make better UTF compliant.
13743
13744 * grub-core/normal/charset.c (grub_utf8_to_utf16): Handle 6- and 7-byte
13745 sequences as incorrect.
13746 (grub_is_valid_utf8): Likewise.
13747 (grub_utf8_to_ucs4): Likewise.
13748 (grub_ucs4_to_utf8): Handle codepoints outside of BMP.
13749 (grub_ucs4_to_utf8_alloc): Likewise.
13750 * include/grub/charset.h (grub_utf16_to_utf8): Likewise.
13751
f1808884
VS
137522010-11-16 Vladimir Serbinenko <phcoder@gmail.com>
13753
13754 Make legacy_source behave like source.
13755
13756 * grub-core/commands/legacycfg.c (legacy_file): Don't call
13757 grub_show_menu.
13758 (grub_cmd_legacy_source): Call grub_show_menu if needed.
13759
24ec575b
CW
137602010-11-16 Colin Watson <cjwatson@debian.org>
13761
13762 * conf/Makefile.common (CFLAGS_GNULIB): Add -Wno-unused-parameter.
13763 (-Wunused implies -Wunused-parameter, but not vice versa).
13764
72b7c7aa
CW
137652010-11-16 Colin Watson <cjwatson@ubuntu.com>
13766
13767 * configure.ac: Make error messages less confusing by testing for
13768 -Wtrampolines rather than -Wno-trampolines (since -Wno-* is always
13769 accepted, but produces a diagnostic if something else is wrong).
13770
e98937aa
VS
137712010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
13772
13773 * grub-core/term/at_keyboard.c (grub_keyboard_controller_read)
13774 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: ifdef-ed out
13775 (now unused).
13776 (grub_keyboard_controller_init)
13777 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_QEMU]: Don't attempt to
13778 read the initial state since controller isn't inited yet.
13779
f6bbabc3
VS
137802010-11-15 Vladimir Serbinenko <phcoder@gmail.com>
13781
13782 * grub-core/lib/relocator.c (malloc_in_range): Take into account that
13783 allocate_regbeg may need to create new chunk header.
13784
22e7dbb2
VS
137852010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13786
13787 Fix quoting in legacy parser.
13788
13789 * grub-core/lib/legacy_parse.c (grub_legacy_escape): Correctly handle
13790 single quotes.
13791 (grub_legacy_parse): Likewise.
13792 Reported by: Jordan Uggla.
13793 Tested by: Jordan Uggla.
13794
03f80960
VS
137952010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13796
13797 Don't add -lgcc on i386 and x86_64.
13798
13799 * configure.ac (LIBS): Don't add -lgcc on i386 and x86_64.
13800 * conf/Makefile.common (LDADD_KERNEL): Likewise.
13801 * grub-core/Makefile.core.def (kernel): Use LDADD_KERNEL.
13802
779dc15b
VS
138032010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13804
13805 * configure.ac: Add -Wno-trampolines when supported.
13806
d20a3b37
MV
138072010-11-14 Modestas Vainius <modax@debian.org>
13808
13809 * grub-core/kern/emu/getroot.c (grub_util_is_dmraid): Recognise ddf1_
13810 fakeraid.
13811
e5360933
GC
138122010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
13813
13814 Add generic logical block size support for UDF.
13815
13816 * grub-core/fs/udf.c (GRUB_UDF_LOG2_BLKSIZE): Removed.
13817 (GRUB_UDF_BLKSZ): Removed.
13818 (struct grub_udf_data): New field "lbshift" to hold the logical block
13819 size of the file system in log2 format. All users updated.
13820 (sblocklist): Change type to unsigned.
13821 (grub_udf_mount): Change type of "sblklist" to unsigned.
13822 Move AVDP search before VRS recognition, because the latter requires
13823 knowledge of the logical block size, which is detected during the
13824 former.
13825 Detect and validate logical block size during AVDP search, adding
13826 support for block sizes 512, 1024 and 4096.
13827 Make VRS recognition independent of block size.
13828
cb0229c5
GC
138292010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
13830
13831 Properly handle deleted files on UDF.
13832
13833 * grub-core/fs/udf.c (grub_udf_iterate_dir): Skip directory entries
13834 whose "characteristics" field has the bit GRUB_UDF_FID_CHAR_DELETED
13835 set.
13836
406858a8
GC
138372010-11-14 Giuseppe Caizzone <acaizzo@gmail.com>
13838
13839 Support reading files larger than 2 GiB.
13840
13841 * grub-core/fs/udf.c (grub_udf_iterate_dir): Change type of variable
13842 "offset" to grub_off_t.
13843 (grub_udf_read_file): Likewise for parameter "pos".
13844
130da6a7
VS
138452010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13846
13847 * docs/grub.texi (Changes from GRUB Legacy): Note when save_env is
13848 unavailable.
13849 (Simple configuration): Refer to Changes from GRUB Legacy about
13850 save_env availability.
13851
65e93f6b
VS
138522010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13853
13854 * util/grub-install.in: Ignore empty partition table detection
13855 instead of trying to include part_ module.
13856
1fd08bf1
VS
138572010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13858
13859 * grub-core/disk/lvm.c (GRUB_MOD_FINI): Reset the vg_list. Fixes
13860 LVM on RAID support.
13861
de1a024f
VS
138622010-11-14 Vladimir Serbinenko <phcoder@gmail.com>
13863
13864 Properly define WORDS_BIGENDIAN in wrapped environments.
13865
13866 * grub-core/lib/libgcrypt_wrap/cipher_wrap.h (WORDS_BIGENDIAN): New
13867 definition.
13868 * grub-core/lib/posix_wrap/sys/types.h (WORDS_BIGENDIAN): Likewise.
13869
13870 Reported by: Manoel Rebelo Abranches.
13871 Tested by: Manoel Rebelo Abranches.
13872
bc5dd0b9
VS
138732010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13874
13875 * util/grub-mkconfig.in: Fix quoting.
13876
58c184be
VS
138772010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13878
13879 Support big ext2 files.
13880
13881 * grub-core/fs/ext2.c (grub_ext2_inode): Rename dir_acl to size_high.
13882 (grub_ext2_read_block): Support triple indirect blocks.
13883 (grub_ext2_read_file): Use 64-bit types and read size_high.
13884 (grub_ext2_open): Read size_high.
13885 Reported by: Ximin Luo.
13886 Tested by: Manoel Rebelo Abranches.
13887
5f0c02b3
VS
138882010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13889
13890 * util/grub-install.in: Handle filenames containing spaces.
13891 Reported by: Jordan Uggla.
13892 Tested by: Jordan Uggla.
13893
4417aae6
VS
138942010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13895
13896 * util/grub-mkconfig.in (grub_script_check): New variable.
13897 Use grub_script_check instead of grub-script-check.
13898 Reported by: Barry Jackson.
13899
7625a68e
VS
139002010-11-13 Vladimir Serbinenko <phcoder@gmail.com>
13901
13902 * docs/grub.texi (menu): Correct the order.
13903 Reported by: D. Hugh Redelmeier.
13904
10001ac5
VS
139052010-11-12 Vladimir Serbinenko <phcoder@gmail.com>
13906
13907 * grub-core/kern/i386/pc/startup.S (multiboot_trampoline): Add missing
13908 jump.
13909
9c4cf53b
MRA
139102010-11-08 Manoel Rebelo Abranches <mrabran@br.ibm.com>
13911
10001ac5
VS
13912 * include/grub/elfload.h (grub_elf32_size): New parameter.
13913 All users updated.
9c4cf53b
MRA
13914 Return maximum segments alignment.
13915 (grub_elf64_size): Likewise.
13916 * kern/elf.c (grub_elf32_size): New parameter. All users updated.
13917 Return maximum segments alignment.
13918 (grub_elf64_size): Likewise.
13919 * grub-core/loader/powerpc/ieee1275/linux.c:
10001ac5
VS
13920 (grub_linux_claimmap_iterate): New function. Uses the
13921 "available" property in the "memory" node for memory allocation
13922 for kernel in the PowerPC loader.
9c4cf53b
MRA
13923 (grub_linux_load32): Correctly find linux entry point offset.
13924 (grub_linux_load64): Likewise.
13925
d2bf06bf
RM
139262010-11-07 Robert Millan <rmh@gnu.org>
13927
13928 On mips-yeeloong, build with -march=loongson2f when this flag is
13929 available (GCC >= 4.4).
13930 * conf/Makefile.common [COND_mips_yeeloong] (CFLAGS_PLATFORM): Remove
13931 `-march=mips3'.
13932 * configure.ac: For mips-yeeloong, add -march=loongson2f if available,
13933 or otherwise add -march=mips3.
13934
898c99a2
BC
139352010-11-07 BVK Chaitanya <bvk.groups@gmail.com>
13936
87220a68
BC
13937 Suppress shell expansion on echo '*' and echo "*" like cases.
13938 Reported by: Jordan Uggla.
898c99a2
BC
13939
13940 * grub-core/script/execute.c (grub_script_arglist_to_argv): Escape
13941 string arguments before shell expansion.
13942 * tests/grub_cmd_echo.in: New testcases.
13943
4f9b406a
RM
139442010-11-07 Robert Millan <rmh@gnu.org>
13945
13946 * conf/mips-qemu-mips.rmk: Remove stale file from previous
13947 transition.
13948
80c6d25e
VS
139492010-11-07 Vladimir Serbinenko <phcoder@gmail.com>
13950
13951 * grub-core/kern/emu/hostdisk.c
13952 (convert_system_partition_to_system_disk): Handle devices like "sdaa1".
13953
4a1a0153
VS
139542010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13955
13956 * include/grub/emu/misc.h: Don't include grub/util/libzfs.h.
13957 * include/grub/emu/misc.h (grub_get_libzfs_handle): Move from here ...
13958 * include/grub/util/libzfs.h (grub_get_libzfs_handle): ... here.
13959
34706ddc
VS
139602010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13961
13962 * grub-core/fs/ntfs.c (grub_ntfs_uuid): Make uppercase.
13963
6972dea9
VS
139642010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13965
13966 * util/grub-install.in: Replace useless recomendation to pass
13967 --modules with a recomendation to report a bug.
13968
9c693bd6
VS
139692010-11-06 Vladimir Serbinenko <phcoder@gmail.com>
13970
13971 Properly register serial terminfo.
13972 Reported by: Jordan Uggla
13973
13974 * grub-core/term/serial.c (grub_serial_terminfo_input_template): New
13975 const.
13976 (grub_serial_terminfo_output_template): Likewise.
13977 (grub_cmd_serial): Register "serial" with terminfo.
13978 (GRUB_MOD_INIT(serial)): Fill grub_serial_terminfo_input and
13979 grub_serial_terminfo_output.
13980
6c9e4c0c
RM
139812010-11-05 Robert Millan <rmh@gnu.org>
13982
13983 * util/grub-mkconfig.in: Remove gfxterm.mod probe (no longer
13984 needed).
13985
b9b3839f
RM
139862010-11-05 Robert Millan <rmh@gnu.org>
13987
13988 On Yeeloong, pass machine type information to Linux.
13989
13990 * grub-core/loader/mips/linux.c [GRUB_MACHINE_MIPS_YEELOONG]
13991 (LOONGSON_MACHTYPE): New macro, set to
13992 "machtype=lemote-yeeloong-2f-8.9inches".
13993 [LOONGSON_MACHTYPE] (grub_cmd_linux): Pass LOONGSON_MACHTYPE as
13994 additional argument to Linux.
13995
1a3aaff4
RM
139962010-11-04 Robert Millan <rmh@gnu.org>
13997
13998 * util/deviceiter.c (grub_util_iterate_devices): Increase SCSI
13999 limit to 48 (to cope with Sun Fire X4500), and IDE limit to 96
14000 (its SATA disks are detected as slaveless IDE master drives on
14001 kFreeBSD).
14002 Reported by Carsten Aulbert.
14003
a75f4f62
CW
140042010-11-02 Colin Watson <cjwatson@ubuntu.com>
14005
14006 * util/bin2h.c (main): Fix spelling error in generated output.
14007
33b4b0c6
GS
140082010-11-01 Grégoire Sutre <gregoire.sutre@gmail.com>
14009
14010 * grub-core/partmap/bsdlabel.c (iterate_real): Fix an integer overflow.
14011
2b36fbf4
VS
140122010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14013
14014 * grub-core/loader/i386/linux.c (grub_cmd_linux): Autoload vbe.mod if
14015 vga= option is supplied.
14016
74aaf558
VS
140172010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14018
14019 * util/grub.d/10_hurd.in: Don't call savedefault on recovery entries.
14020 * util/grub.d/10_kfreebsd.in: Likewise.
14021 * util/grub.d/10_linux.in: Likewise.
14022 * util/grub.d/20_linux_xen.in: Likewise.
14023
6428dec3
VS
140242010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14025
14026 * grub-core/lib/arg.c (grub_arg_parse): Avoid interpreting direct
14027 argument as an argument to no-argument option.
14028
f8729d98
VS
140292010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14030
14031 * util/grub.d/10_linux.in: Add missing load_video with explicit
14032 GRUB_GFXPAYLOAD_LINUX.
14033
89d68fa6
VS
140342010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14035
14036 * Makefile.am (libgrub.pp): Propagate the libgrub.a split.
14037
3a1197cd
VS
140382010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14039
14040 * grub-core/disk/mdraid1x_linux.c (grub_mdraid_detect): Do not put
14041 elements with invlid index.
14042 * grub-core/disk/mdraid_linux.c (grub_mdraid_detect): Likewise.
14043 * grub-core/disk/raid.c (insert_array): Automatically reallocate
14044 members.
14045 * include/grub/raid.h (grub_raid_member): New struct.
14046 (grub_raid_array): Transform devices and start_sector into usage of
14047 grub_raid_member. All users updated
14048 (allocated_devs): New member.
14049
71574288
VS
140502010-11-01 Vladimir Serbinenko <phcoder@gmail.com>
14051
14052 * docs/man/grub-set-default.h2m: Clarify that only saved default entry
14053 is modified
14054
8d40ec65
BC
140552010-10-29 BVK Chaitanya <bvk.groups@gmail.com>
14056
14057 NetBSD build fix for getline function conflict from gnulib.
14058
14059 * Makefile.util.def (libgrubkern.a): New library for grub kernel
14060 components that depend on gnulib headers.
14061 (libgrubmods.a): Renamed from earlier libgrub.a.
14062 * conf/Makefile.common: Remove gnulib from *_LIBRARY flags.
14063
95b9257e
VS
140642010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14065
14066 * util/grub-setup.c (setup): Refuse to do a cross-disk embeddingless
14067 install rather than creating a broken install.
14068
26c53dc6
VS
140692010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14070
14071 * util/grub-setup.c (argp): Remove misleading example of installing to
14072 a partition.
14073
4171b3c5
VS
140742010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14075
14076 * util/grub-setup.c (setup): Clarify the error message.
14077
18568d18
VS
140782010-10-26 Vladimir Serbinenko <phcoder@gmail.com>
14079
14080 * include/grub/types.h (grub_target_off_t): Removed no longer used type.
14081
4f6a2e21
VS
140822010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
14083
14084 * grub-core/kern/emu/misc.c
14085 (grub_make_system_path_relative_to_its_root)
14086 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Fix mountpoint return on ZFS.
14087
140882010-10-23 Vladimir Serbinenko <phcoder@gmail.com>
5c81f8b3
VS
14089
14090 * grub-core/kern/emu/misc.c
14091 (grub_make_system_path_relative_to_its_root): Revert r2882.
14092
e138c458
VS
140932010-10-22 Vladimir Serbinenko <phcoder@gmail.com>
14094
14095 * grub-core/lib/relocator.c (grub_relocator_subchunk): Remove now
14096 useless field head. All users updated.
14097 (free_subchunk): Correct handling of IN_REGION subchunk.
14098
0cbcdf0e
CW
140992010-10-22 Colin Watson <cjwatson@ubuntu.com>
14100
14101 * docs/grub.texi (Installing GRUB using grub-install): Proofread.
14102 (Supported kernels): Likewise.
14103
b65ea155
GS
141042010-10-18 Grégoire Sutre <gregoire.sutre@gmail.com>
14105
14106 Make mktemp invocations portable.
14107
14108 * grub-core/genmod.sh.in: Use mktemp with an explicit template, and
14109 exit if mktemp fails.
14110 * tests/grub_script_blockarg.in: Likewise.
14111 * tests/partmap_test.in: Likewise.
14112 * tests/util/grub-shell-tester.in: Likewise.
14113 * tests/util/grub-shell.in: Likewise.
14114 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
14115 * Makefile.am: Likewise, and chain shell commands with `&&'
14116 instead of ';'.
14117 * util/grub-mkrescue.in: Use the same explicit template as above, and
14118 exit if mktemp fails.
14119
05f43cdd
BC
141202010-10-18 BVK Chaitanya <bvk.groups@gmail.com>
14121
14122 * util/grub.d/10_linux.in: Fix built-in initramfs image mode for
14123 Linux kernel, reported by Dennis Schridde.
14124
800e6a9b
SJ
141252010-10-17 Szymon Janc <szymon@janc.net.pl>
14126
14127 * grub-core/normal/auth.c (grub_auth_check_authentication):
14128 Set-but-not-used variable removed.
14129
d82df574
VS
141302010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14131
14132 * docs/grub.texi (GNU/Linux): Document APM unavailability with
14133 32-bit linux protocol.
14134
7bced458
VS
141352010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14136
14137 * grub-core/kern/i386/pc/startup.S (grub_console_setcursor): Check
14138 cursor shape for sanity.
14139
5b027690
VS
141402010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14141
14142 * docs/grub.texi (Installation): Document buggy BIOS install.
14143
ba5f65cf
VS
141442010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14145
14146 * docs/grub.texi (Installation): Indent.
14147
fdf2ec9c
VS
141482010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14149
14150 * util/grub-setup.c (setup): New parameter allow_floppy.
14151 (arguments): New member allow_floppy.
14152 (argp_parser): Handle --allow-floppy.
14153 (main): Pass allow_floppy.
14154 * util/grub-install.in: New option --allow-floppy passed though to
14155 grub-setup.
14156
861dfd4c
VS
141572010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14158
14159 * util/grub-install.in: Handle partitionless disks.
14160
f77a8c24
VS
141612010-10-17 Vladimir Serbinenko <phcoder@gmail.com>
14162
14163 * util/grub-setup.c (setup): Don't clean blocklists before readability
14164 verfification.
14165
27d9ee32
VS
141662010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14167
14168 * docs/grub.texi (Installation): Document embedding zone. Remove
14169 obsolete grub-install example.
14170
6bdda8f8
SJ
141712010-10-16 Szymon Janc <szymon@janc.net.pl>
14172
14173 * grub-core/commands/legacycfg.c (grub_cmd_legacy_kernel):
14174 Set-but-not-used variable ifdef'ed.
14175 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Likewise.
14176 * grub-core/bus/usb/ohci.c (grub_ohci_pci_iter): Set-but-not-used
14177 variable removed.
14178 * grub-core/disk/lvm.c (grub_lvm_scan_device): Likewise.
14179 * grub-core/fs/jfs.c (grub_jfs_find_file): Likewise.
14180 * grub-core/fs/minix.c (grub_minix_dir): Likewise.
14181 * grub-core/fs/sfs.c (grub_sfs_read_extent): Likewise.
14182 * grub-core/fs/ufs.c (grub_ufs_dir): Likewise.
14183 * grub-core/gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
14184 * grub-core/gfxmenu/view.c (redraw_menu_visit): Likewise.
14185 * grub-core/gfxmenu/widget-box.c (draw): Likewise.
14186 * grub-core/lib/relocator.c (malloc_in_range): Likewise.
14187 * grub-core/loader/i386/bsdXX.c (grub_netbsd_load_elf_meta): Likewise.
14188 * grub-core/loader/i386/bsd_pagetable.c (fill_bsd64_pagetable):
14189 Likewise.
14190
e19b016b
VS
141912010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14192
14193 * grub-core/commands/acpihalt.c (skip_ext_op): Skip index field op.
14194 * include/grub/acpi.h (GRUB_ACPI_EXTOPCODE_INDEX_FIELD_OP): New
14195 enum value.
14196
6c8d3002
VS
141972010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14198
14199 * grub-core/commands/acpihalt.c (get_sleep_type): Accept \_S5_ as
14200 synonym to _S5_. Needed for some DSDTs.
14201
c32b51c9
VS
142022010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14203
14204 Userspace ACPI parser debugging.
14205
14206 * grub-core/commands/acpihalt.c [GRUB_DSDT_TEST]: Include userspace
14207 headers and add relevant defines. Don't include standard headers.
14208 (main) [GRUB_DSDT_TEST]: New function.
14209 * include/grub/acpi.h [GRUB_DSDT_TEST]: Don't include standard headers.
14210 Don't declare functions.
14211
fbfbeb39
VS
142122010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14213
14214 Remove dead grub_efi_mm_fini.
14215
14216 * grub-core/kern/efi/mm.c (allocated_page): Removed.
14217 (ALLOCATED_PAGES_SIZE): Likewise.
14218 (MAX_ALLOCATED_PAGES): Likewise.
14219 (allocated_pages): Likewise.
14220 (grub_efi_allocate_pages): Don't record allocated pages.
14221 (grub_efi_free_pages): Likewise.
14222 (grub_efi_mm_init): Likewise.
14223 (grub_efi_mm_fini): Removed.
14224
65f7ed7c
VS
142252010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14226
14227 * grub-core/kern/efi/mm.c (BYTES_TO_PAGES): Round up instead of down.
14228 (grub_efi_mm_init): Take into account the memory map size increase.
14229
24977b44
VS
142302010-10-16 Vladimir Serbinenko <phcoder@gmail.com>
14231
14232 * grub-core/term/ns8250.c (do_real_config): Set port->broken to 0.
14233 (serial_hw_put): Wait based on real time rather than port reads. Don't
14234 roken ports.
14235 * include/grub/serial.h (grub_serial_port): New field broken.
14236
1eb01cd2
RM
142372010-10-16 Robert Millan <rmh@gnu.org>
14238
14239 * grub-core/kern/emu/misc.c
14240 (grub_make_system_path_relative_to_its_root): Fix premature return
14241 when processing non-root ZFS filesystems.
5f8b440b 14242 Reported by Sergio Talens-Oliag.
1eb01cd2 14243
2d5fed60
RM
142442010-10-15 Robert Millan <rmh@gnu.org>
14245
14246 * util/grub.d/10_linux.in (list): Expand "vmlinu[zx]" instances to
14247 guarantee compressed ones are processed first.
14248
d0f4c1ea
VS
142492010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
14250
14251 * grub-core/efiemu/main.c (grub_efiemu_prepare): Handle errors from
14252 grub_efiemu_autocore.
14253
d87c681f
VS
142542010-10-14 Vladimir Serbinenko <phcoder@gmail.com>
14255
14256 * grub-core/kern/i386/pc/startup.S (bypass_table): Use 0x1b explicitly
14257 rather than 0x1b.
14258 (grub_console_getkey): Use correct jae opcode rather than ja.
14259
219b3564
RM
142602010-10-12 Robert Millan <rmh@gnu.org>
14261
14262 * util/grub-mkconfig.in: Merge `GRUB_DISABLE_LINUX_RECOVERY' and
14263 `GRUB_DISABLE_NETBSD_RECOVERY' into a single `GRUB_DISABLE_RECOVERY'
14264 variable. All references updated.
14265
14266 * util/grub.d/10_kfreebsd.in: Support recovery boot entries.
14267
20c6bb7e
VS
142682010-10-08 Vladimir Serbinenko <phcoder@gmail.com>
14269
14270 Correctly distinguish mdraid flavours.
14271
14272 * grub-core/disk/raid.c (grub_raid_getname) [GRUB_UTIL]: New function.
14273 (insert_array): New argument raid.
14274 * include/grub/disk.h (grub_disk_dev) [GRUB_UTIL]: New member raidname.
14275 * include/grub/raid.h (grub_raid_array) [GRUB_UTIL]: New member driver.
14276 * util/grub-probe.c (probe): PRint raidname instead of plainly "mdraid".
14277
74baff84
VS
142782010-10-09 Vladimir Serbinenko <phcoder@gmail.com>
14279
14280 * grub-core/kern/i386/pc/startup.S (grub_console_getkey): Fix incorrect
14281 handling of special keys.
14282
3ef068df 142832010-10-02 Aleš Nesrsta <starous@volny.cz>
14284
c7980ad9
VS
14285 * include/grub/scsi.h (grub_make_scsi_id): Fix incorrect usgae of
14286 GRUB_SCSI_ID_BUS_SHIFT instead of GRUB_SCSI_ID_LUN_SHIFT.
3ef068df 14287
a9455194 142882010-10-02 Aleš Nesrsta <starous@volny.cz>
14289
c7980ad9
VS
14290 * grub-core/bus/usb/ohci.c (GRUB_OHCI_TDS): Increase.
14291 * grub-core/bus/usb/uhci.c (N_TD): New definition. All previous implicit
14292 users updated.
a9455194 14293 * grub-core/bus/usb/usbtrans.c (grub_usb_bulk_setup_readwrite):
c7980ad9 14294 Use right endpoint when querying descriptor.
a9455194 14295
441cfe65
VS
142962010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
14297
14298 Clear out 0x80 color bit on EFI.
14299 Tested by: decoder
14300 Reported by: decoder and meta tech.
14301
14302 * grub-core/term/efi/console.c (grub_console_standard_color): Removed.
14303 (grub_console_setcolorstate): Clear out 0x80 bit.
14304 Use GRUB_TERM_DEFAULT_STANDARD_COLOR.
14305 (grub_console_output): Use GRUB_TERM_DEFAULT_NORMAL_COLOR.
14306 Use GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR.
14307
bf26bcc4
VS
143082010-10-01 Vladimir Serbinenko <phcoder@gmail.com>
14309
14310 * grub-core/loader/i386/linux.c (DEFAULT_VIDEO_MODE) [GRUB_MACHINE_EFI]:
14311 Set to "auto".
14312
6e3c515d
VS
143132010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14314
14315 * grub-core/gettext/gettext.c (grub_gettext_init_ext): Avoid using
14316 mo_file after freeing.
14317
e6d983ba
VS
143182010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14319
14320 * grub-core/normal/term.c (read_terminal_list): Free in a right order.
14321
74ccb5b5
VS
143222010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14323
14324 * grub-core/script/execute.c (grub_script_execute_sourcecode): Set
14325 flags.
14326
17821956
VS
143272010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14328
14329 * util/grub-setup.c (main) [GRUB_MACHINE_IEEE1275]: Propagate argp
14330 usage.
14331
ee74fa48
VS
143322010-09-30 Vladimir Serbinenko <phcoder@gmail.com>
14333
14334 Put terminfo into core on ieee1275 and yeeloong (needed for console).
14335
14336 * gentpl.py: New groups terminfoinkernel and terminfomodule.
14337 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include extcmd.h, arg.h
14338 and terminfo.h when needed.
14339 * grub-core/Makefile.core.def (kernel): Include term/terminfo.c,
14340 term/tparm.c, commands/extcmd.c, lib/arg.c on terminfokernel.
14341 (terminfo): Enable only on terminfokernel.
14342 (extcmd): Likewise.
14343 * include/grub/extcmd.h: Add missing EXPORT_FUNC.
14344 * include/grub/lib/arg.h: Likewise.
14345 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Fix
14346 incorrect usage of ->.
14347
aa438e68
VS
143482010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14349
14350 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi]
14351 [GRUB_MACHINE_EFI && __i386__]: Fix typo.
14352
57994012
VS
143532010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14354
14355 Fix coreboot compilation.
14356
14357 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
14358 Take VBE info into account even if only text is supported.
14359 (fill_vbe_info): Take into account the case when only VGA text
14360 is supported.
14361 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): Set to zero
14362 on coreboot, multiboot and qemu.
14363
2a406611
VS
143642010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14365
14366 * grub-core/lib/relocator.c (malloc_in_range): Trim too verbose
14367 debug messages.
14368 (grub_relocator_prepare_relocs): Set movers_chunk.srcv.
14369
d33613fc
VS
143702010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14371
14372 * grub-core/loader/i386/bsd.c (grub_cmd_netbsd): Provide default serial
14373 parameters.
14374
44a1b432
VS
143752010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14376
14377 * grub-core/lib/arg.c (grub_arg_parse): Fix treating of all commands as
14378 if they were BSD-style.
14379
edde54e6
VS
143802010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14381
14382 * grub-core/boot/i386/pc/lnxboot.S: Replace
14383 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE with
14384 GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART.
14385
b65830fa
VS
143862010-09-29 Vladimir Serbinenko <phcoder@gmail.com>
14387
14388 Write embedding zone using Reed-Solomon.
14389
14390 * Makefile.util.def (grub-setup): Add grub-core/lib/reed_solomon.c.
14391 * grub-core/Makefile.am (rs_decoder.S): New target.
14392 (kern/i386/pc/startup.S): Depend on rs_decoder.S.
14393 * grub-core/kern/i386/pc/startup.S (reed_solomon_redundancy): New field.
14394 (multiboot): Move to RS part.
14395 (post_reed_solomon): New label.
14396 (grub_boot_drive): Move to non-RS part since it's modified in memory
14397 on boot.
14398 Include rs_decoder.S.
14399 * grub-core/lib/reed_solomon.c: New file.
14400 * include/grub/offsets.h (GRUB_KERNEL_I386_PC_REED_SOLOMON_REDUNDANCY):
14401 New definition.
14402 (GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE): Removed.
14403 (GRUB_KERNEL_I386_PC_RAW_SIZE): Updated.
14404 (GRUB_KERNEL_I386_PC_NO_REED_SOLOMON_PART): New definition.
14405 * include/grub/partition.h (grub_partition_map): Change prototype of
14406 embed to allow returning additional sectors.
14407 * include/grub/reed_solomon.h: New file.
14408 * util/grub-setup.c (setup): Handle Reed-Solomon.
14409
0b4b227f
CW
144102010-09-28 Colin Watson <cjwatson@ubuntu.com>
14411
14412 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
14413 i386 and x86-64 definedness tests.
14414
f772623b
YB
144152010-09-27 Yves Blusseau <blusseau@zetam.org>
14416
14417 Fix generation of kernel_syms.lst
14418
14419 * grub-core/Makefile.am (kernel_syms.lst): Fix value and position of
14420 ASM_PREFIX
14421
8e57a6ca
RM
144222010-09-26 Robert Millan <rmh@gnu.org>
14423
14424 Support degraded ZFS arrays in "grub-probe -t device" resolution.
14425
14426 * grub-core/kern/emu/getroot.c (find_root_device_from_libzfs): When
14427 the pool is an array of devices, iterate through it and return the
14428 first device that passes a stat() test (instead of blindly returning
14429 the first one).
14430
f9130836
RM
144312010-09-26 Robert Millan <rmh@gnu.org>
14432
14433 Build fixes for GNU/kFreeBSD.
14434
14435 * Makefile.util.def: Add `$(LIBZFS) $(LIBNVPAIR)' library dependencies
14436 to programs that require ZFS conversion.
14437 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): Support
14438 kernels that don't have FLOPPY_MAJOR.
14439
96510faf
BC
144402010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
14441
14442 * grub-core/kern/emu/full.c (grub_emu_post_init): Fix typo.
14443
449333eb
BC
144442010-09-25 BVK Chaitanya <bvk.groups@gmail.com>
14445
14446 Fix grub-emu build.
14447
14448 * grub-core/kern/emu/main.c: Remove #include <getopt.h>.
14449 * grub-core/kern/emu/full.c: Split grub_mdraid_{init,fini} into
14450 mdraid09 and mdraid1x.
14451
e1fd1939
CW
144522010-09-24 Colin Watson <cjwatson@ubuntu.com>
14453
14454 Re-enable grub-extras.
14455
14456 * autogen.sh: Create symlinks to ${GRUB_CONTRIB} if necessary to
14457 avoid confusing Automake. Run autogen only twice, once for the top
14458 level and once for grub-core. Add Makefile.util.def and
14459 Makefile.core.def from extra modules to the appropriate autogen
14460 invocations. If Makefile.common exists in an extra module, include
14461 it in both Makefile.util.am and grub-core/Makefile.core.am;
14462 similarly, include any Makefile.util.common file in Makefile.util.am
14463 and any Makefile.core.common file in grub-core/Makefile.core.am.
14464 * conf/Makefile.common ($(top_srcdir)/grub-core/Makefile.core.am):
14465 Depend on $(top_srcdir)/grub-core/Makefile.gcry.def.
14466 ($(top_srcdir)/grub-core/Makefile.gcry.def): Remove.
14467 * grub-core/Makefile.am: Remove inclusion of Makefile.gcry.am.
14468
14469 * gentpl.py (gvar_add): Turn GVARS into a set.
14470 (global_variable_initializers): Sort global variables on output.
14471 (vars_init): New function.
14472 (first_time): Likewise.
14473 (library): Ensure that non-global variable initialisations are
14474 emitted before the first time we emit code for a library block.
14475 Append to variables rather than setting them. Only emit
14476 noinst_LIBRARIES, BUILT_SOURCES, and CLEANFILES the first time for
14477 each conditional path.
14478 (program): installdir() emits an Autogen macro, so must be passed to
14479 var_add rather than gvar_add.
14480 (data): Likewise.
14481 (script): Likewise.
14482 (rules): New function, centralising handling for different target
14483 types. Set up Guile association lists for first_time and vars_init,
14484 and send most output to a diversion so that variable initialisations
14485 can be emitted first.
14486 (module_rules): Use new rules function.
14487 (kernel_rules): Likewise.
14488 (image_rules): Likewise.
14489 (library_rules): Likewise.
14490 (program_rules): Likewise.
14491 (script_rules): Likewise.
14492 (data_rules): Likewise.
14493
14494 * configure.ac: Add AC_PROG_LN_S, for the benefit of ntldr-img.
14495
14496 * .bzrignore: Add contrib and grub-core/contrib. Remove
14497 grub-core/Makefile.gcry.am.
14498
1d12cf29
YB
144992010-09-24 Yves Blusseau <blusseau@zetam.org>
14500
14501 * grub-core/lib/LzFind.c: Add missing include.
14502 * grub-core/lib/LzmaEnc.c: Likewise.
14503 * grub-core/script/lexer.c: Likewise.
14504 * grub-core/script/yylex.l: Likewise.
14505 * util/grub-macho2img.c: Likewise.
14506 * util/grub-menulst2cfg.c: Likewise.
14507 * util/grub-mklayout.c: Likewise.
14508 * util/grub-mkpasswd-pbkdf2.c
14509 * util/grub-mkrelpath.c: Likewise.
14510 * util/resolve.c: Likewise.
14511
dd363028
BC
145122010-09-24 BVK Chaitanya <bvk.groups@gmail.com>
14513
14514 * Makefile.util.def (example_unit_test): Add
14515 grub-core/gnulib/libgnu.a.
14516
f5a109e2
GS
145172010-09-23 Grégoire Sutre <gregoire.sutre@gmail.com>
14518
14519 * grub-core/commands/acpihalt.c (get_sleep_type): Initialize prev.
14520
6d0fa83c
VS
145212010-09-23 Vladimir Serbinenko <phcoder@gmail.com>
14522
14523 Support xz compression on yeeloong.
14524
14525 * Makefile.util.def (grub-mkimage): Add $(LIBLZMA).
14526 * configure.ac: Check for LZMA.
14527 * grub-core/Makefile.core.def (xz_decompress): New target.
14528 (none_decompress): Likewise.
14529 * grub-core/boot/decompressor/minilib.c: New file.
14530 * grub-core/boot/decompressor/none.c: Likewise.
14531 * grub-core/boot/decompressor/xz.c: Likewise.
14532 * grub-core/kern/mips/cache.S: Change to noreorder nomacro.
14533 * grub-core/kern/mips/cache_flush.S: Likewise.
14534 * grub-core/kern/i386/pc/lzma_decode.S: Remove dead code.
14535 * grub-core/kern/mips/startup.S: Move first stage to ...
14536 * grub-core/boot/mips/startup_raw.S: ...here. Change to noreorder
14537 nomacro.
14538 * grub-core/kern/mips/startup.S: Change to noreorder nomacro.
14539 * grub-core/lib/mips/relocator_asm.S: Change to noreorder nomacro.
14540 * grub-core/lib/xzembed/xz_dec_bcj.c [GRUB_EMBED_DECOMPRESSOR]:
14541 Allocate statically.
14542 * grub-core/lib/xzembed/xz_dec_lzma2.c [GRUB_EMBED_DECOMPRESSOR]:
14543 Allocate statically or use scratch. Don't check CRC32.
14544 * grub-core/lib/xzembed/xz_dec_stream.c [GRUB_EMBED_DECOMPRESSOR]:
14545 Allocate statically. Don't check CRC32.
14546 * include/grub/decompressor.h: New file.
14547 * include/grub/offsets.h (GRUB_KERNEL_MIPS_YEELOONG_RAW_SIZE):
14548 Removed.
14549 (GRUB_KERNEL_MIPS_YEELOONG_UNCOMPRESSED_SIZE): New field.
14550 (GRUB_KERNEL_MIPS_YEELOONG_TOTAL_MODULE_SIZE): Adjusted.
14551 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX): Likewise.
14552 (GRUB_KERNEL_MIPS_YEELOONG_PREFIX_END): Likewise.
14553 (GRUB_KERNEL_MACHINE_UNCOMPRESSED_SIZE): New define.
14554 * util/grub-mkimage.c (grub_compression_t): New type.
14555 (PLATFORM_FLAGS_DECOMPRESSORS): New flag.
14556 (image_target_desc): New field default_compression.
14557 (image_targets): Adjust yeeloong targets.
14558 (compress_kernel_xz) [HAVE_LIBLZMA]: New function.
14559 (compress_kernel): New parameter comp.
14560 (generate_image): Likewise. Handle new compression case.
14561 (options): New option --compression
14562 (help): Likewise.
14563 (main): Handle new option.
14564
1b655af6
GS
145652010-09-22 Grégoire Sutre <gregoire.sutre@gmail.com>
14566
14567 * grub-core/kern/emu/hostdisk.c [__NetBSD__]: Define FLOPPY_MAJOR.
14568
8f03f0b5
CW
145692010-09-22 Colin Watson <cjwatson@ubuntu.com>
14570
14571 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix
14572 typo in __i386__ conditional.
14573
7835dfd3
VS
145742010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
14575
14576 * grub-core/loader/multiboot_mbi2.c (GRUB_MACHINE_EFI): Add missing
14577 include.
14578
e255597e
VS
145792010-09-22 Vladimir Serbinenko <phcoder@gmail.com>
14580
6d0fa83c 14581 Implement EFI and ACPI multiboot2 extensions.
e255597e
VS
14582
14583 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare
14584 new tags as supported.
14585 (acpiv2_size): New function.
14586 (grub_multiboot_get_mbi_size): Take new tags into account.
14587 (grub_multiboot_make_mbi): Add new tags.
14588 * include/grub/multiboot.h (GRUB_MACHINE_HAS_ACPI): New definition.
6d0fa83c 14589
6cc14051 145902010-09-21 Aleš Nesrsta <starous@volny.cz>
14591
14592 * grub-core/bus/usb/serial/common.c (grub_usbserial_attach):
14593 Added missing configuration of USB device.
14594
df7769d8
CW
145952010-09-21 Colin Watson <cjwatson@ubuntu.com>
14596
14597 * grub-core/normal/menu_entry.c (run): Make sure we always return
14598 a value.
14599
b031012d
CW
146002010-09-21 Colin Watson <cjwatson@ubuntu.com>
14601
14602 * grub-core/commands/efi/lsefimmap.c (grub_cmd_lsefimmap):
14603 NumberOfPages is UINT64 according to the UEFI specification, not
14604 UINTN. Fix printf format.
14605
174de8f3
CW
146062010-09-21 Colin Watson <cjwatson@ubuntu.com>
14607
14608 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Change type of
14609 `err' to grub_usb_err_t.
14610 Reported and tested by: KESHAV P.R.
14611
d7dbe923
CW
146122010-09-21 Colin Watson <cjwatson@ubuntu.com>
14613
14614 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name): Make
14615 tpart non-const, so that we can assign to it. (Since this is a
14616 typedef, the constness refers to the pointer rather than what it
14617 points to.)
14618
8d5e2af3
CW
146192010-09-21 Colin Watson <cjwatson@ubuntu.com>
14620
14621 * conf/Makefile.common (CPPFLAGS_GNULIB): Add
14622 $(top_srcdir)/grub-core/gnulib as well as
14623 $(top_builddir)/grub-core/gnulib.
14624 Reported by: KESHAV P.R.
14625
5c527783
CW
146262010-09-21 Colin Watson <cjwatson@ubuntu.com>
14627
14628 * util/grub-install.in: Fix the bootloader ID option to be
14629 consistently --bootloader-id, not --bootloader_id.
14630 Reported by: KESHAV P.R.
14631
d309a16e
CW
146322010-09-21 Colin Watson <cjwatson@ubuntu.com>
14633
14634 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Make "Compute or
14635 check hash checksum." consistently translatable.
14636
b830cd16
YB
146372010-09-21 Yves Blusseau <blusseau@zetam.org>
14638
14639 * conf/Makefile.common (CPPFLAGS_GNULIB): Replace $(top_srcdir) with
14640 $(top_builddir).
14641
c4fe27a8
CW
146422010-09-21 Colin Watson <cjwatson@ubuntu.com>
14643
14644 * grub-core/commands/hashsum.c (aliases): Add sha1sum alias.
14645 (GRUB_MOD_INIT): Register sha1sum command.
14646 (GRUB_MOD_FINI): Unregister sha1sum command.
14647
a4c1d277
YB
146482010-09-21 Yves Blusseau <blusseau@zetam.org>
14649
14650 Keep boot and grub directory names in sync with utils scripts
14651
14652 * configure.ac: Define GRUB_BOOT_DIR_NAME and GRUB_DIR_NAME macros.
14653 * config.h.in: Add previous macros.
14654 * include/grub/emu/misc.h (DEFAULT_DIRECTORY): Use previous macros.
14655 * util/grub-install.in: Use $bootdir and $grubdir variables.
14656
4eff79d2
CW
146572010-09-21 Colin Watson <cjwatson@ubuntu.com>
14658
14659 * grub-core/kern/emu/hostdisk.c (find_system_device): Only try to
14660 convert partition names to disk names if the new `convert' parameter
14661 is set.
14662 (grub_util_biosdisk_get_grub_dev): If opening the disk device
14663 returns GRUB_ERR_UNKNOWN_DEVICE, treat the partition device as a
14664 disk in its own right. This can happen with Xen disk images.
14665
934d7e44
YB
146662010-09-21 Yves Blusseau <blusseau@zetam.org>
14667
14668 * util/grub-editenv.c: Update strings to avoid warnings when generating
14669 grub.pot file.
14670 * util/grub-setup.c: Likewise.
934d7e44 14671
df3367cc
VS
146722010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
14673
14674 * configure.ac: Change version to 1.99~beta0.
14675
77a94e98
VS
146762010-09-21 Vladimir Serbinenko <phcoder@gmail.com>
14677
14678 * grub-core/loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
14679 Add BADRAM.
14680 * grub-core/loader/multiboot_mbi2.c (grub_fill_multiboot_mmap):
14681 Likewise.
14682 * include/multiboot.h: Resynced with specification.
14683 * include/multiboot2.h: Likewise.
14684
269004c1
CW
146852010-09-21 Colin Watson <cjwatson@ubuntu.com>
14686
14687 Fix po directory handling.
14688
14689 * configure.ac: Create po/Makefile.in rather than po/Makefile.
14690 * grub-core/gnulib/Makefile.am: Import gettext module.
14691 * m4/gnulib-cache.m4: Likewise.
14692 * m4/gnulib-comp.m4: Likewise.
14693 * m4/gettext.m4: New file, from gnulib.
14694 * m4/glibc2.m4: Likewise.
14695 * m4/iconv.m4: Likewise.
14696 * m4/intdiv0.m4: Likewise.
14697 * m4/intl.m4: Likewise.
14698 * m4/intldir.m4: Likewise.
14699 * m4/intlmacosx.m4: Likewise.
14700 * m4/intmax.m4: Likewise.
14701 * m4/inttypes-pri.m4: Likewise.
14702 * m4/lcmessage.m4: Likewise.
14703 * m4/lib-ld.m4: Likewise.
14704 * m4/lib-link.m4: Likewise.
14705 * m4/lib-prefix.m4: Likewise.
14706 * m4/lock.m4: Likewise.
14707 * m4/nls.m4: Likewise.
14708 * m4/po.m4: Likewise.
14709 * m4/printf-posix.m4: Likewise.
14710 * m4/progtest.m4: Likewise.
14711 * m4/threadlib.m4: Likewise.
14712 * m4/uintmax_t.m4: Likewise.
14713 * m4/visibility.m4: Likewise.
14714 * po/Makefile.am: Remove.
14715 * po/Makefile.in.in: New file, from gettext.
14716 ($(DOMAIN).pot-update): Support POTFILES-shell.
14717 * po/Makevars: New file.
14718 * po/POTFILES-shell: Rename to ...
14719 * po/POTFILES-shell.in: ... this. Update.
14720 * po/POTFILES: Rename to ...
14721 * po/POTFILES.in: ... this. Update.
14722 * po/Rules-quot: New file, from gettext.
14723 * po/boldquot.sed: Likewise.
14724 * po/en@boldquot.header: Likewise.
14725 * po/en@quot.header: Likewise.
14726 * po/insert-header.sin: Likewise.
14727 * po/quot.sed: Likewise.
14728 * po/remove-potcdate.sin: Likewise.
14729
3e0fa5d0
VS
147302010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14731
14732 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Use UUID when possible.
14733
ade9bd66
VS
147342010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14735
14736 * util/grub.d/20_linux_xen.in: Use submenus.
14737
fc55cc4c
VS
147382010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14739
14740 Support submenus.
14741
14742 * grub-core/commands/menuentry.c (grub_normal_add_menu_entry): New
14743 parameter submenu. All users updated.
14744 * grub-core/normal/main.c (free_menu): Rename to ...
14745 (grub_normal_free_menu): ... this. Made global.
14746 * grub-core/normal/menu.c (grub_menu_execute_entry): Open new context
14747 if requested.
14748 * grub-core/normal/menu_entry.c (screen): New field submenu.
14749 (make_screen): Set submenu.
14750 (run): Open new context if requested.
14751 * include/grub/menu.h (grub_menu_entry): New field submenu.
14752 * include/grub/normal.h (grub_normal_free_menu): New proto.
14753
600cedf7
VS
147542010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14755
14756 Menu entries extractor.
14757
14758 * grub-core/commands/configfile.c (grub_cmd_source): Implement extractor
14759 variants.
14760 (GRUB_MOD_INIT): Register new variants.
14761 (GRUB_MOD_FINI): Unregister new variants.
14762 * grub-core/commands/legacycfg.c (grub_cmd_legacy_configfile): Merge
14763 into grub_cmd_legacy_source.
14764 (grub_cmd_legacy_source): Implement extractor variants.
14765 (GRUB_MOD_INIT): Register new variants.
14766 (GRUB_MOD_FINI): Unregister new variants.
14767 * grub-core/commands/menuentry.c (grub_menu_init): Declare menuentry
14768 as an extractor.
14769 * grub-core/commands/search_wrap.c (GRUB_MOD_INIT): Declare
14770 search as an extractor.
14771 * grub-core/commands/test.c (GRUB_MOD_INIT): Declare
14772 test as an extractor.
14773 * grub-core/kern/corecmd.c (grub_register_core_commands): Declare set
14774 as an extractor.
14775 * grub-core/normal/context.c (grub_env_context_open): Reorganised.
14776 (grub_env_new_context): New function.
14777 (grub_env_context_open): Likewise.
14778 (grub_env_extractor_open): Likewise.
14779 (grub_env_extractor_close): Likewise.
14780 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
14781 grub_extractor_level.
14782 * include/grub/command.h (GRUB_COMMAND_FLAG_EXTRACTOR): New flag.
14783 * include/grub/env.h (grub_env_extractor_open): New proto.
14784 (grub_env_extractor_close): Likewise.
14785 * include/grub/normal.h (grub_extractor_level): New external variable.
14786
7bda3a87
VS
147872010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14788
14789 Make cutmem accept a region specification.
14790 Suggested by: Samuel Thibault
14791
14792 * grub-core/mmap/mmap.c (parsemem): New function.
14793 (grub_cmd_cutmem): Handle new arguments.
14794
2ea57f88
VS
147952010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14796
14797 New command cutmem.
14798
14799 * grub-core/mmap/mmap.c (grub_cmd_cutmem): New function.
14800 (GRUB_MOD_INIT): Register new command.
14801 (GRUB_MOD_FINI): Unregister new command.
14802
74342e31
VS
148032010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14804
14805 Support some annoying BSD and Minix subpartitions.
14806
14807 * Makefile.util.def (libgrub.a): Add grub-core/partmap/bsdlabel.c.
14808 * grub-core/disk/efi/efidisk.c (grub_efidisk_get_device_name):
14809 Properly handle concatenation.
14810 * grub-core/kern/device.c (grub_device_iterate): Likewise.
14811 * grub-core/normal/completion.c (iterate_partition): Likewise.
14812 * grub-core/kern/disk.c (grub_disk_open): Make disk->name not
14813 contain partition. All users updated.
14814 * grub-core/partmap/bsdlabel.c (grub_netbsdlabel_partition_map): New
14815 struct.
14816 (grub_openbsdlabel_partition_map): Likewise.
14817 (bsdlabel_partition_map_iterate): Rename to ..
14818 (iterate_real): ... this. New arguments sector, freebsd and pmap.
14819 (bsdlabel_partition_map_iterate): New function.
14820 (netopenbsdlabel_partition_map_iterate): Likewise.
14821 (netbsdlabel_partition_map_iterate): Likewise.
14822 (openbsdlabel_partition_map_iterate): Likewise.
14823 (GRUB_MOD_INIT): Register new partmaps.
14824 (GRUB_MOD_FINI): Unregister new partmaps.
14825 * grub-core/partmap/msdos.c (pc_partition_map_iterate): Rename to ...
14826 (grub_partition_msdos_iterate): ... this. All users updated.
14827 Don't support embedding other than in a minix partition.
14828 * include/grub/msdos_partition.h (grub_partition_msdos_iterate): New
14829 proto.
14830 * include/grub/partition.h (grub_partition): New field msdostype.
14831 * util/grub-install.in: Handle openbsd and netbsd types being in
14832 part_bsd module.
14833
1e8d555b
VS
148342010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14835
14836 Split mdraid.mod into mdraid09.mod and mdraid1x.mod.
14837
14838 * Makefile.util.def (libgrub.a): Add grub-core/disk/mdraid1x_linux.c.
14839 * grub-core/Makefile.core.def (mdraid): Renamed to ...
14840 (mdraid09): ... this.
14841 (mdraid1x): New module.
14842 * grub-core/disk/mdraid_linux.c: Move 1.x parts ...
14843 * grub-core/disk/mdraid1x_linux.c: ...here. All users updated.
14844
899d8af4
VS
148452010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14846
14847 * grub-core/kern/emu/misc.c (asprintf): Use vsnprintf instead of
14848 vsprintf.
14849
40901acd
CW
148502010-09-20 Colin Watson <cjwatson@ubuntu.com>
14851
14852 * grub-core/commands/efi/lsefimmap.c: Correct header.
14853 * NEWS: Update.
14854
dfe3b247
CW
148552010-09-20 Colin Watson <cjwatson@ubuntu.com>
14856
14857 * util/grub-editenv.c (argp_parser): Don't pass translated strings
14858 as printf format strings; the translations might contain '%' which
14859 could cause a crash.
14860 (main): Likewise.
14861 * util/grub-fstest.c (argp_parser): Likewise.
14862 * util/grub-setup.c (argp_parser): Likewise.
14863 (main): Likewise.
14864
3286a4b4
VS
148652010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14866
14867 Use argp in grub-fstest.
14868
14869 * util/grub-fstest.c: Don't include getopt.h.
14870 Include argp.h.
14871 (root): New variable.
14872 (args_count): Likewise.
14873 (nparm): Likewise.
14874 (num_disks): Likewise.
14875 (images): Likewise.
14876 (cmd): Likewise.
14877 (debug_str): Likewise.
14878 (args): Likewise.
14879 (options): Transformed to argp.
14880 (usage): Removed.
14881 (main): Split argument parsing into ...
14882 (argp_parser): ... this. Changed to argp format.
14883 (argp): New variable.
14884 (main): Use argp_parse.
14885
3dccbe4b
TG
148862010-09-20 Tristan Gingold <gingold@free.fr>
148872010-09-20 Robert Millan <rmh.grub@aybabtu.com>
148882010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14889
14890 * grub-core/commands/efi/lsefimmap.c: New file.
14891 * grub-core/Makefile.core.def (lsefimmap): New module.
14892 * include/grub/efi/api.h (PRIxGRUB_EFI_UINTN_T): New definition.
14893
38c259a7
VS
148942010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14895
14896 Pause the execution (10s max) if any errors are displayed so the user
14897 has a chance to see them.
14898
14899 * grub-core/kern/err.c (grub_err_printed_errors): New variable.
14900 (grub_print_error): Increment grub_err_printed_errors.
14901 * grub-core/normal/menu.c (grub_menu_execute_entry): Pause the
14902 execution if any errors were displayed.
14903 (show_menu): Remove old code for pause.
14904 * grub-core/normal/menu_entry.c (run): Likewise.
14905 * grub-core/normal/term.c (grub_normal_char_counter): Removed. All
14906 users updated.
14907 (grub_normal_get_char_counter): Likewise.
14908 * include/grub/err.h (grub_err_printed_errors): New external variable.
14909 * include/grub/normal.h (grub_normal_get_char_counter): Removed.
14910
f218b09c
VS
149112010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14912
14913 Support multiboot VBE info.
14914
14915 * grub-core/loader/i386/multiboot_mbi.c (grub_multiboot_get_mbi_size):
14916 Take VBE info into account.
14917 (fill_vbe_info) [GRUB_MACHINE_HAS_VBE]: New function.
14918 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
14919 Call fill_vbe_info when appropriate.
14920 (grub_multiboot_make_mbi): Account for the size occupied by VBE info.
14921 * grub-core/loader/multiboot_mbi2.c (grub_multiboot_load): Declare tags
14922 as supported.
14923 (grub_multiboot_get_mbi_size): Take new tags into account.
14924 (fill_vbe_tag) [GRUB_MACHINE_HAS_VBE]: New function.
14925 (retrieve_video_parameters) [GRUB_MACHINE_HAS_VBE]:
14926 Call fill_vbe_tag when appropriate.
14927 (grub_multiboot_make_mbi): Properly align tags.
14928 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_pm_interface): New
14929 function.
14930 * include/grub/i386/pc/vbe.h (grub_vbe_bios_get_pm_interface): New
14931 proto.
14932 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VBE): New definition.
14933
a9cc5438
VS
149342010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14935
14936 Suport manual terminal geometry specification.
14937
14938 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_dimensions):
14939 Save state in grub_ofconsole_terminfo_output.
14940 (grub_ofconsole_term): Use grub_terminfo_getwh.
14941 (grub_ofconsole_getwh): Removed.
14942 * grub-core/term/serial.c (grub_serial_getwh): Removed.
14943 (grub_serial_term): Use grub_terminfo_getwh.
14944 * grub-core/term/terminfo.c (grub_terminfo_getwh): New function.
14945 (options): New struct.
14946 (OPTION_*): New enum.
14947 (grub_cmd_terminfo): Transform into extcmd and handle new parameters.
14948 * include/grub/terminfo.h (grub_terminfo_output_state): New fields
14949 width and height.
14950 (grub_terminfo_getwh): New proto.
14951 * grub-core/lib/legacy_parse.c (grub_legacy_parse): Handle --lines.
14952
1a8fed20
VS
149532010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14954
14955 Handle legacy "terminal" command.
14956
14957 * grub-core/lib/legacy_parse.c (legacy_command): New flags FLAG_TITLE
14958 and FLAG_TERMINAL.
14959 (legacy_commands): Add terminal and title.
14960 (grub_legacy_parse): Handle terminal. Simplify title handling.
14961
41e9c57d
VS
149622010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
14963
14964 * grub-core/lib/arg.c (grub_arg_show_help): Correctly handle
14965 parameters overflow.
14966
61c874c5
CW
149672010-09-20 Colin Watson <cjwatson@ubuntu.com>
14968
14969 * .bzrignore: Add grub-core/gnulib/sys, widthspec.bin, and
14970 widthspec.h.
14971
14972 * docs/grub.texi (Shell-like scripting): Document `!'.
14973 (Network): Simplify using new i386-pc-pxe format. Mention
14974 grub-mknetdir.
14975
14976 * NEWS: Update.
14977
943682b4
CW
149782010-09-20 Colin Watson <cjwatson@ubuntu.com>
14979
14980 * Makefile.am (SUBDIRS): Restore "."; it's important to force
14981 ordering, so that e.g. ascii.h is built before grub-core/font/font.c
14982 when needed.
14983
6d3d698d
CW
149842010-09-20 Colin Watson <cjwatson@ubuntu.com>
14985
14986 * grub-core/commands/efi/lsefisystab.c: Correct header.
14987 * grub-core/commands/efi/lssal.c: Likewise.
14988 * grub-core/commands/testload.c: Likewise.
14989
c982589f
CW
149902010-09-20 Colin Watson <cjwatson@ubuntu.com>
14991
14992 * util/grub-mkrescue.in: Add explicit root argument to --set to
14993 prevent the UUID being interpreted as an argument to --set (matches
14994 previous change to prepare_grub_to_access_device).
14995
a63c31b6
CW
149962010-09-20 Colin Watson <cjwatson@ubuntu.com>
14997
14998 * kern/emu/hostdisk.c: Include <sys/ioctl.h> and <sys/disklabel.h>
14999 on FreeBSD. Define HAVE_DIOCGDINFO on NetBSD and FreeBSD to reduce
15000 the verbosity of later #ifs.
15001 (find_partition_start): Define this function on FreeBSD too.
15002 (device_is_wholedisk) [__FreeBSD__ || __FreeBSD_kernel__]: New
15003 function.
15004 (grub_util_biosdisk_get_grub_dev): Use partition-start-sector logic
15005 on FreeBSD.
15006
6439b8ee
YB
150072010-09-20 Yves Blusseau <blusseau@zetam.org>
15008
15009 * util/grub-editenv.c: Use argp instead of getopt.
15010
c5930ec8
YB
150112010-09-20 Yves Blusseau <blusseau@zetam.org>
15012
15013 * util/grub-setup.c: Use argp instead of getopt.
15014
15c69261
YB
150152010-09-20 Yves Blusseau <blusseau@zetam.org>
15016
15017 Use gnulib-tool to create gnulib source files.
15018
15019 * Add gnulib files generated by gnulib-tool in build-aux, m4 and
15020 grub-core/gnulib directories
15021 * .bzignore: Add **/.deps and autogenerated gnulib files
15022 * configure.ac: Assign auxiliary directory to build-aux, add invocation
15023 of gnulib macros, add grub-core/gnulib/Makefile
15024 * Makefile.am: Add gnulib directory in SUBDIRS (removing unnecessary .),
15025 include m4 directory to aclocal.
15026 * Makefile.util.def: Remove direct compilation of gnulib source files
15027 and use the new grub-core/gnulib/libgnu.a.
15028 * build-aux/config.rpath: move config.rpath from top directory to
15029 build-aux
15030 * conf/Makefile.common: Remove the macro _GL_UNUSED already defined
15031 in gnulib headers
15032 * conf/Makefile.extra-dist: Add m4/gnulib-cache.m4
15033 * grub-core/Makefile.core.def: Remove unnecessary extra_dist
15034 * grub-core/lib/posix_wrap/localcharset.h (locale_charset): Update
15035 header.
15036 * grub-core/lib/posix_wrap/langinfo.h (nl_langinfo): Return static
15037 string.
15038
e511c9f5
YB
150392010-09-20 Yves Blusseau <blusseau@zetam.org>
15040
15041 * .bzrignore: Add grub-kbdcomp, grub-menulst2cfg, *.marker,
15042 grub-core/genmod.sh and grub-core/gensyminfo.sh
15043
c2dede05
BC
150442010-09-20 BVK Chaitanya <bvk.groups@gmail.com>
15045
15046 Add a test for echo command options.
15047
15048 * tests/grub_cmd_echo.in: New test.
15049 * Makefile.util.def: Rules for new test.
15050
c55f5018
SJ
150512010-09-20 Szymon Janc <szymon@janc.net.pl>
15052
15053 Remove crc.mod and move crc command to hashsum.mod.
15054 Remove lib/crc.c - users updated to use gcrypt implementation.
15055
15056 * grub-core/commands/crc.c: Removed.
15057 * grub-core/Makefile.core.def (crc): Module removed.
15058 * grub-core/commands/hashsum.c (aliases[]): Add crc alias.
15059 * grub-core/commands/hashsum.c (GRUB_MOD_INIT): Register crc command.
15060 * grub-core/commands/hashsum.c (GRUB_MOD_FINI): Unregister crc command.
15061 * grub-core/lib/crc.c: Removed.
15062 * include/grub/lib/crc.h: Removed.
15063 * Makefile.util.def (crc): Remove lib/crc.c
15064 * grub-core/Makefile.core.def (libgrub.a): Remove grub-core/lib/crc.c.
15065 * util/grub-fstest.c (cmd_crd): Use libgcrypt crc implementation.
15066 * Makefile.util.def (libgrub.a): Add grub-core/lib/libgcrypt-grub/cipher/crc.c.
15067 * Makefile.util.def (grub-fstest): Add CFLAGS_GCRY to cflags.
15068 * Makefile.util.def (grub-fstest): Add CPPFLAGS_GCRY to cppflags.
15069 * grub-core/efiemu/prepare.c (grub_efiemu_crc): Use libgcrypt crc implementation.
15070
e0337366
VS
150712010-09-20 Vladimir Serbinenko <phcoder@gmail.com>
15072
15073 * grub-core/boot/i386/pc/boot.S: Ignore %dl if it's not in a sane range.
15074
742f9232
VS
150752010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15076
15077 Split config.h for util and core.
15078
15079 * acinclude.m4 (HAVE_ASM_USCORE): Transformed into a variable.
15080 (ADDR32): Likewise.
15081 (DATA32): Likewise.
15082 (BSS_START_SYMBOL): Likewise.
15083 (END_SYMBOL): Likewise.
15084 (NEED_ENABLE_EXECUTE_STACK): Likewise. All users updated.
15085 (grub_I386_ASM_ABSOLUTE_WITHOUT_ASTERISK): Removed.
15086 * config.h.in: New file.
15087 * configure.ac: Use config-util.h as config define file.
15088 Rename MACHINE into GRUB_MACHINE. All users updated.
15089 (NEED_REGISTER_FRAME_INFO): Transformed into a variable. All users
15090 updated.
15091 (NESTED_FUNC_ATTR): Likewise.
15092 Substitue new variables.
15093 (COND_HAVE_ASM_USCORE): New conditional.
15094 * grub-core/Makefile.am (ASM_PREFIX): New variable.
15095 (kernel_syms.lst): Use ASM_PREFIX.
15096 * grub-core/kern/emu/console.c: Include config-util.h.
15097 * grub-core/kern/emu/misc.c: Likewise.
15098 * grub-core/kern/emu/mm.c: Likewise.
15099 * include/grub/emu/misc.h: Likewise.
15100 * include/grub/libgcc.h: Likewise.
15101
39feb0e8
VS
151022010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15103
15104 * grub-core/term/efi/console.c (efi_codes): Fix GRUB_TERM_KEY_*
15105 constants usage.
15106 * grub-core/kern/emu/console.c (grub_ncurses_getkey):
15107 Fix GRUB_TERM_KEY_* constants usage.
15108 * grub-core/kern/emu/misc.c (asprintf): Fix vasprintf usage.
15109
9af6dac3
VS
151102010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15111
15112 * grub-core/bus/usb/ohci.c (grub_ohci_cancel_transfer): Use %p to
15113 print pointer.
15114 * grub-core/bus/usb/uhci.c: Remove empty define.
15115 (grub_uhci_check_transfer): Add missing cast.
15116 * grub-core/bus/usb/usbhub.c (poll_nonroot_hub): Use %p to
15117 print pointer.
15118 * grub-core/term/usb_keyboard.c (grub_usb_keyboard_getkey): Use
15119 PRIuGRUB_SIZE.
15120 * include/grub/types.h (PRIuGRUB_SIZE): New definition.
15121
d6d94820
VS
151222010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15123
15124 * grub-core/Makefile.core.def (legacycfg): Add
15125 lib/i386/pc/vesa_modes_table.c on emu.
15126
3572f2b6
BC
151272010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
15128
15129 Reduce number of temporary files generated by build system.
15130
15131 * grub-core/gencmdlist.sh: Removed.
15132 * grub-core/genfslist.sh: Removed.
15133 * grub-core/genhandlerlist.sh: Removed.
15134 * grub-core/genmodsrc.sh: Removed.
15135 * grub-core/genpartmaplist.sh: Removed.
15136 * grub-core/genparttoollist.sh: Removed.
15137 * grub-core/gentermiinallist.sh: Removed.
15138 * grub-core/genvideolist.sh: Removed.
15139
15140 * grub-core/genmod.sh.in: New file.
15141 * grub-core/gensyminfo.sh.in: New file.
15142
15143 * conf/Makefile.common (CPPFLAGS_*_LIST): New marker flags.
15144 * conf/Makefile.extra-dist: Update with new files.
15145 * gentpl.py: Remove rules related to unnecessary temporary files.
15146 * grub-core/Makefile.am (syminfo.lst): New replacement for def-*
15147 and und-* files.
15148 * grub-core/Makefile.core.def: New rules for gensyminfo.sh and
15149 genmod.sh scripts.
15150 * grub-core/bus/usb/uhci.c: Remove empty #define.
15151 * grub-core/genmoddep.awk: Updated with new syminfo format.
15152 * util/bash-completion.d/Makefile.am: Add config.log to
15153 CLEANFILES.
15154
c836b030
YB
151552010-09-19 Yves Blusseau <blusseau@zetam.org>
15156
15157 * Makefile.util.def: Add forgotten $(LIBINTL) library.
15158
2f4e8053
BC
151592010-09-19 BVK Chaitanya <bvk.groups@gmail.com>
15160
15161 * util/grub-mkconfig.in: Check the config script for syntax errors
15162 before saving.
15163
75831c34
CW
151642010-09-19 Colin Watson <cjwatson@ubuntu.com>
151652010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15166
15167 * Makefile.util.def (grub-install): Use util/grub-install.in on all
15168 platforms.
15169 * util/grub-install.in: Add EFI and IEEE1275 support.
15170 * util/i386/efi/grub-install.in: Removed.
15171 * util/ieee1275/grub-install.in: Likewise.
15172
eaf41b25
VS
151732010-09-19 Vladimir Serbinenko <phcoder@gmail.com>
15174
15175 * grub-core/commands/i386/cmostest.c (+parse_args): New function.
15176 (grub_cmd_cmosclean): Likewise.
15177 (GRUB_MOD_INIT): Register command cmosclean.
15178 * util/grub-mkconfig.in: Export GRUB_BUTTON_CMOS_CLEAN.
15179 * util/grub.d/00_header.in: Handle GRUB_BUTTON_CMOS_CLEAN.
15180
1a9130dd
CPE
151812010-09-18 Carles Pina i Estany <carles@pina.cat>
151822010-09-18 Aleš Nesrsta <starous@volny.cz>
151832010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15184
15185 Add keyboard layouts support.
15186
15187 * Makefile.util.def (grub-mklayout): New file.
15188 (grub-kbdcomp): New script.
15189 * grub-core/Makefile.am (KERNEL_HEADER_FILES) [COND_mips_yeeloong]:
15190 Add keyboard_layouts.h.
15191 * grub-core/Makefile.core.def (kernel): Add commands/keylayouts.c and
15192 commands/boot.c on yeeloong.
15193 (keylayouts): New module.
15194 * grub-core/bus/usb/ohci.c
15195 * grub-core/bus/usb/uhci.c
15196 * grub-core/bus/usb/usbhub.c (rescan): New variable.
15197 (grub_usb_add_hub): Poll interrupt pipe for device handling.
15198 (attach_root_port): Likewise.
15199 (poll_nonroot_hub): Likewise.
15200 (grub_usb_poll_devices): Likewise.
15201 (detach_device): Close transfer.
15202 * grub-core/bus/usb/usbtrans.c (grub_usb_execute_and_wait_transfer): New
15203 function.
15204 (grub_usb_bulk_setup_readwrite): Likewise.
15205 (grub_usb_bulk_finish_readwrite): Likewise.
15206 * grub-core/commands/keylayouts.c: New file.
15207 * grub-core/commands/keystatus.c (grub_getkeystatus): New function.
15208 * grub-core/commands/menuentry.c (hotkey_aliases): All several new
15209 aliases.
15210 * grub-core/term/at_keyboard.c: Restructured to use keylayouts and
15211 support scancode 2.
15212 * grub-core/term/usb_keyboard.c: Restructured to use keylayouts.
15213 * include/grub/keyboard_layouts.h: New file.
15214 * util/grub-mklayout.c: New file.
15215 * util/grub-kbdcomp.in: Likewise.
15216
a1d84a5e
VS
152172010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15218
15219 Unify memory types.
15220
15221 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Include memory.h.
15222 * grub-core/commands/lsmmap.c (grub_cmd_lsmmap): Output user-readable
15223 types.
15224 * grub-core/kern/i386/multiboot_mmap.c (grub_lower_mem): Removed.
15225 (grub_upper_mem): Likewise.
15226 * grub-core/kern/ieee1275/init.c (grub_upper_mem): Likewise.
15227 * include/grub/memory.h (grub_memory_type_t): New enum.
15228 All users updated.
15229
9696382e
VS
152302010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15231
15232 * grub-core/Makefile.core.def (lsapm): New module.
15233 * grub-core/commands/i386/pc/lsapm.c: New file.
15234 * grub-core/loader/i386/multiboot_mbi.c (make_mbi) [GRUB_MACHINE_PCBIOS]: Pass APM info.
15235 * grub-core/loader/multiboot_mbi2.c (make_mbi) [GRUB_MACHINE_PCBIOS]:
15236 Likewise.
15237 * include/grub/i386/pc/apm.h: New file.
15238 * include/multiboot.h (multiboot_apm_info): New struct.
15239
152402010-09-18 Vladimir Serbinenko <phcoder@gmail.com>
15241
15242 GRUB-legacy configuration file support.
15243
15244 * Makefile.util.def (grub-menulst2cfg): New util.
15245 * docs/man/grub-menulst2cfg.h2m: New file.
15246 * grub-core/Makefile.core.def (legacycfg): New module.
15247 * grub-core/commands/legacycfg.c: New file.
15248 * grub-core/commands/menuentry.c (append_menu_entry): Rename to ...
15249 (grub_normal_add_menu_entry): ... this.
15250 * grub-core/commands/password.c (grub_cmd_password): Split main part to ...
15251 (grub_normal_set_password): ...this.
15252 * grub-core/commands/videoinfo.c (grub_cmd_videoinfo): Support MODE.
15253 * grub-core/loader/i386/linux.c (linux_vesafb_res): Move to ..,
15254 * grub-core/lib/i386/pc/vesa_modes_table.c: ... here.
15255 * grub-core/lib/legacy_parse.c: New file.
15256 * grub-core/normal/auth.c (grub_cmd_authenticate): New command.
15257 * include/grub/i386/pc/vesa_modes_table.h: New file.
15258 * include/grub/legacy_parse.h: Likewise.
15259 * include/grub/normal.h (grub_normal_add_menu_entry): New proto.
15260 * util/grub-menulst2cfg.c: New file.
15261
bf8d1338
CW
152622010-09-17 Colin Watson <cjwatson@ubuntu.com>
15263
15264 * grub-core/kern/emu/hostdisk.c
15265 (convert_system_partition_to_system_disk): Initialise node.
15266
9c0bad2e
CW
152672010-09-17 Colin Watson <cjwatson@ubuntu.com>
15268
15269 * grub-core/kern/emu/hostdisk.c
15270 (convert_system_partition_to_system_disk): Fix devmapper memory pool
15271 leak.
15272 Reported and based on patch by: Modestas Vainius.
15273
a939d135
CW
152742010-09-17 Colin Watson <cjwatson@ubuntu.com>
15275
15276 Fix DM-RAID probing with recent versions of device-mapper udev
15277 rules.
15278
15279 * grub-core/kern/emu/hostdisk.c (read_device_map): Don't
15280 canonicalise device paths under /dev/mapper/.
15281 (convert_system_partition_to_system_disk): Compare the
15282 uncanonicalised path to /dev/mapper/ rather than the canonicalised
15283 path, since device nodes under /dev/mapper/ are often symlinks.
15284
0f7ee3c9
YB
152852010-09-17 Yves Blusseau <blusseau@zetam.org>
15286
15287 * .bzrignore: *.d removed (old rule), add *.image and symlist.h.
15288
10854d0d
YB
152892010-09-16 Yves Blusseau <blusseau@zetam.org>
15290
15291 * configure.ac: Avoid some annoying error messages if freetype-config
15292 program is not found.
15293
108538d8
CW
152942010-09-16 Colin Watson <cjwatson@ubuntu.com>
15295
15296 Support RAID on virtio devices, and others.
15297
15298 * grub-core/kern/emu/getroot.c [__MINGW32__] (find_root_device):
15299 Rename to ...
15300 [__MINGW32__] (grub_find_device): ... this.
15301 [! __MINGW32__ && ! __CYGWIN__] (find_root_device): Rename to ...
15302 [! __MINGW32__ && ! __CYGWIN__] (grub_find_device): ... this. Use a
15303 reasonable default if dir is NULL.
15304 [! __MINGW32__ && __CYGWIN__] (find_cygwin_root_device): Rename to
15305 ...
15306 [! __MINGW32__ && __CYGWIN__] (grub_find_device): ... this.
15307 (grub_guess_root_device): Update callers.
15308 * include/grub/emu/getroot.h (grub_find_device): Add prototype.
15309
15310 * util/raid.c (grub_util_getdiskname): Remove.
15311 (grub_util_raid_getmembers): Use grub_find_device rather than
15312 grub_util_getdiskname.
15313
e5bfc130
CW
153142010-09-16 Colin Watson <cjwatson@ubuntu.com>
15315
15316 * docs/grub.texi (serial): Remove obsolete comment about GRUB
15317 needing to be compiled with serial support.
15318 (ls): Indicate that multiple files are accepted.
15319 * grub-core/commands/ls.c (GRUB_MOD_INIT): Update help text to
15320 indicate that multiple files are accepted.
15321
be458ae2
CW
153222010-09-16 Colin Watson <cjwatson@ubuntu.com>
15323
15324 * .bzrignore: Add *.1, *.8, grub-shell, grub-shell-tester,
15325 libgrub_a_init.c, and util/bash-completion.d/grub.
15326
cb731b5e
VS
153272010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15328
15329 * util/grub-setup.c (setup): Fix incorrect container semantics.
15330
35139e8a
VS
153312010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15332
15333 * grub-core/commands/parttool.c (grub_cmd_parttool): Fix a variable
15334 misusage.
15335 Reported by: J. Nick Terry
15336
e50fca4a
VS
153372010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15338
15339 Move embedding routines to partmap sources files.
15340
15341 * grub-core/partmap/gpt.c (grub_gpt_partition_type_bios_boot)
15342 [GRUB_UTIL]: New variable.
15343 (gpt_partition_map_iterate): Set part.parent.
15344 (gpt_partition_map_embed) [GRUB_UTIL]: New function.
15345 (grub_gpt_partition_map) [GRUB_UTIL]: Set .embed.
15346 * grub-core/partmap/msdos.c (pc_partition_map_embed) [GRUB_UTIL]:
15347 New function.
15348 (grub_msdos_partition_map) [GRUB_UTIL]: Set .embed.
15349 * include/grub/partition.h (grub_embed_type_t) [GRUB_UTIL]: New type.
15350 (grub_partition_map) [GRUB_UTIL]: New field embed.
15351 * util/grub-setup.c (grub_gpt_partition_type_bios_boot): Removed.
15352 (setup): Use ->embed.
15353
f00478b7
VS
153542010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15355
15356 * grub-core/kern/emu/hostdisk.c (grub_util_biosdisk_is_floppy): New
15357 function.
15358 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_floppy): New proto.
15359 * util/grub-setup.c (setup): Use grub_util_biosdisk_is_floppy.
15360
2b94e3ff
YB
153612010-09-15 Yves Blusseau <blusseau@zetam.org>
15362
15363 Add function to get completions from usage.
15364
15365 * util/bash-completion.d/grub-completion.bash.in: Add function to get
15366 completions from usage. Use LC_ALL=C to get options properly.
15367
2e04a006
VS
153682010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15369
15370 * grub-core/gnulib/basename-lgpl.c: Imported.
15371 * grub-core/gnulib/basename.c: Likewise.
15372 * grub-core/gnulib/dirname-lgpl.c: Likewise.
15373 * grub-core/gnulib/dirname.c: Likewise.
15374 * grub-core/gnulib/dirname.h: Likewise.
15375 * grub-core/gnulib/stripslash.c: Likewise.
15376
5dcdf93a
VS
153772010-09-15 Vladimir Serbinenko <phcoder@gmail.com>
15378
15379 * grub-core/gnulib/error.c: Resynced.
15380 * grub-core/gnulib/getopt.c: Likewise.
15381 * grub-core/gnulib/getopt_int.h: Likewise.
15382 * grub-core/gnulib/regex.h: Likewise.
15383 * grub-core/gnulib/regex_internal.c: Likewise.
15384 * grub-core/gnulib/regex_internal.h: Likewise.
15385
014f47b7
SJ
153862010-09-15 Szymon Janc <szymon@janc.net.pl>
15387
15388 * grub-core/lib/xzembed/xz_dec_stream.c (dec_main): Fix index and block
15389 CRC calculations and validity checks.
15390 * grub-core/lib/xzembed/xz_dec_stream.c (dec_index): Fix index CRC
15391 calculations.
15392
dd521a4a
SJ
153932010-09-15 Szymon Janc <szymon@janc.net.pl>
15394
15395 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_end): Fix memory leak.
15396
79c4eeb9
VS
153972010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15398
15399 Fix incorrect echo options handling.
15400 Reported by: Yves Blusseau.
15401
15402 * include/grub/command.h (grub_command_flags_t): New flags
15403 GRUB_COMMAND_ACCEPT_DASH and GRUB_COMMAND_OPTIONS_AT_START.
15404 * grub-core/lib/arg.c (grub_arg_parse): Handle new flags.
15405 * grub-core/commands/echo.c (GRUB_MOD_INIT): Use new flags.
15406
ed80f7d5
VS
154072010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15408
15409 * include/grub/command.h (GRUB_COMMAND_FLAG_CMDLINE): Removed. All
15410 users updated.
15411 (GRUB_COMMAND_FLAG_MENU): Likewise.
15412 (GRUB_COMMAND_FLAG_BOTH): Likewise.
15413 (GRUB_COMMAND_FLAG_TITLE): Removed.
15414 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
15415 (GRUB_COMMAND_FLAG_EXTCMD): Moved into enum.
15416 (GRUB_COMMAND_FLAG_DYNCMD): Likewise.
15417 (GRUB_COMMAND_FLAG_BLOCKS): Likewise.
15418 (grub_command_flags_t): New enum. All users updated.
15419
5fe7620a
SG
154202010-09-14 Seth Goldberg <seth.goldberg@oracle.com>
15421
15422 Fix solaris compilation.
15423
15424 * grub-core/Makefile.core.def (kernel): Include gnulib/error.c on emu.
15425 (grub-emu): Add LIBZFS and LIBNVPAIR to ldadd.
15426 (grub-emu-list): Likewise.
15427
545b752f
VS
154282010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15429
15430 Remove deprecated root command.
15431
15432 * grub-core/commands/minicmd.c (grub_mini_cmd_root): Removed. All users
15433 updated.
15434
6c1a338c
VS
154352010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15436
15437 * util/i386/pc/grub-setup.c: Merge this ...
15438 * util/sparc64/ieee1275/grub-setup.c: ... and this ...
15439 * util/grub-setup.c: ... into this.
15440 * include/grub/sparc64/ieee1275/boot.h (grub_boot_blocklist) [ASM_FILE]:
15441 New struct.
15442
154432010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15444
15445 * grub-core/fs/ext2.c (grub_ext2_open): Use return error value when
15446 possible.
15447
d2ea4551
VS
154482010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15449
15450 * grub-core/partmap/sun.c (sun_partition_map_iterate): Don't needlesly
15451 allocate p.
15452
3c3b5040
VS
154532010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15454
15455 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Add
15456 explicit root argument to set to prevent UUID to be interpreted as
15457 argument to set.
15458
b71c3fae
VS
154592010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15460
15461 * grub-core/kern/sparc64/ieee1275/crt0.S: Align stack.
15462
275433e6
VS
154632010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15464
15465 Don't export grub_gate_a20.
15466
15467 * grub-core/kern/i386/pc/init.c: Remove leftovers.
15468 * grub-core/kern/i386/pc/startup.S (FUNCTION(grub_gate_a20)): Rename
15469 to ...
15470 (grub_gate_a20): ... this. All users updated.
15471 * include/grub/i386/pc/init.h: Removed. All users updated.
15472
a5dbb1f1
VS
154732010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15474
15475 Create euro.pf2 which supports most European languages.
15476
15477 * Makefile.am (grubdata_DATA): Add euro.pf2.
15478 (euro.pf2): New target.
15479 (CLEANFILES): Add euro.pf2.
15480
62a747cb
VS
154812010-09-14 Vladimir Serbinenko <phcoder@gmail.com>
15482
15483 * configure.ac: Disable emu-usb by default to prevent inadvertent
15484 device takeover.
15485
608e43b1
VS
154862010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15487
15488 Disable usbserial on grub-emu since our libusb code isn't good enough
15489 yet.
15490
15491 * grub-core/Makefile.core.def (usbserial_common): Disable on emu.
15492 (usbserial_pl2303): Likewise.
15493 (usbserial_ftdi): Likewise.
15494
94564f81
VS
154952010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15496
15497 * include/grub/disk.h (grub_disk): Remove has_partitions.
15498 All users updated.
15499 * disk/loopback.c (grub_loopback): Remove has_partitions.
15500 All users updated.
15501 (options): Remove partitions. All users updated.
15502 * util/grub-fstest.c (fstest): Don't pass "-p" to loopback.
15503 * util/i386/pc/grub-setup.c (setup): copy partition table only when
15504 actual partition table is found.
15505
3352800b
VS
155062010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15507
15508 Remove readability checks (too many false negatives).
15509
15510 * util/grub-install.in: Remove readability checks.
15511 * util/grub-mkconfig.in: Likewise.
15512 * util/grub.d/10_hurd.in: Likewise.
15513 * util/grub.d/10_kfreebsd.in: Likewise.
15514 * util/grub.d/10_linux.in: Likewise.
15515 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Revert to old
15516 way.
15517
2419f17a
VS
155182010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15519
15520 Enable acpi shutdown on all ACPI platforms.
15521
15522 * grub-core/Makefile.core.def (halt): Inlude commands/acpihalt.c
15523 on coreboo, multiboot and EFI.
15524 * grub-core/commands/acpihalt.c (get_sleep_type): Add missing casts.
15525 (grub_acpi_halt): Likewise.
15526 * grub-core/commands/i386/pc/halt.c (grub_halt): Call grub_acpi_halt.
15527 (grub_cmd_halt): Don't call grub_acpi_halt directly.
15528 * grub-core/lib/efi/halt.c (grub_halt): Call grub_acpi_halt.
15529 * grub-core/lib/i386/halt.c (grub_halt)
15530 [GRUB_MACHINE_COREBOOT || GRUB_MACHINE_MULTIBOOT]: Likewise.
15531
0575c7c3
VS
155322010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15533
15534 * grub-core/commands/iorw.c (grub_cmd_read): Declare buf in smallest
15535 context.
15536
54ac3cd1
VS
155372010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15538
15539 * grub-core/video/efi_gop.c: Fix over-80-chars line.
15540 * grub-core/video/efi_uga.c: Likewise.
15541
b2a30ac5
VS
155422010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15543
15544 Filter devaliases and never open same device twice.
15545
15546 * grub-core/disk/ieee1275/ofdisk.c (last_devpath): New variable.
15547 (last_ihandle): Likewise.
15548 (ofdisk_hash_ent): New member shortest.
15549 (ofdisk_hash_add): Add canonical path too.
15550 (scan): New function.
15551 (grub_ofdisk_iterate): Iterate over hashed entries.
15552 (compute_dev_path): Don't add :0.
15553 (grub_ofdisk_open): Don't really open the disk.
15554 (grub_ofdisk_close): Avoid closing unrelated disk.
15555 (grub_ofdisk_read): Implement reopen logic.
15556 * grub-core/kern/ieee1275/openfw.c (grub_ieee1275_canonicalise_devname):
15557 New function.
15558 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_canonicalise_devname):
15559 New proto.
15560
fb53b340
VS
155612010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15562
15563 Fix sparc64.
15564
15565 * configure.ac (GRUB_KERNEL_MACHINE_LINK_ADDR): Removed.
15566 * grub-core/Makefile.core.def (kernel): Make ldflags just use the
15567 right address. Add sparc64_ieee1275_ldflags.
15568 * grub-core/loader/sparc64/ieee1275/linux.c: Remove leftover include.
15569 * util/grub-mkimagexx.c (locate_sections): Correct grub_host_to_target32
15570 to grub_host_to_target_addr
15571 (load_image): Likewise.
15572
f452b040
VS
155732010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15574
15575 * grub-core/normal/completion.c (complete_file): Handle device
15576 containing slash.
15577 Fix based on patch by Doug Nazar.
15578
9b5b2541
VS
155792010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15580
15581 grub-mknetdir script.
15582
15583 * Makefile.util.def (grub-mknetdir): New module.
15584 * tests/util/grub-shell.in: Support boot=net
15585 * util/grub-mknetdir.in: New file.
15586
9d2be652
VS
155872010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15588
15589 videoinfo on non-vbe.
15590
15591 * grub-core/Makefile.core.def (vbeinfo): Removed.
15592 (vbetest): Removed.
15593 (videoinfo): New module.
15594 * grub-core/commands/i386/pc/vbeinfo.c: Removed.
15595 * grub-core/commands/i386/pc/vbetest.c: Removed.
15596 * grub-core/commands/videoinfo.c: New file.
15597 * grub-core/commands/videotest.c (grub_cmd_videotest): Support mode
15598 specification.
15599 (grub_cmd_videotest) [GRUB_MACHINE_PCBIOS]: Load vbe.mod when invoked
15600 as vbetest.
15601 (GRUB_MOD_INIT) [GRUB_MACHINE_PCBIOS]: New command vbetest.
15602 (GRUB_MOD_FINI) [GRUB_MACHINE_PCBIOS]: Unregister vbetest.
15603 * grub-core/video/efi_gop.c (grub_video_gop_fill_mode_info): Fill
15604 mode_number. New parameter mode. All users updated.
15605 (grub_video_gop_iterate): New function.
15606 (grub_video_efi_gop): New member iterate.
15607 * grub-core/video/i386/pc/vbe.c (framebuffer): Removed leftover fields.
15608 (grub_vbe_set_video_mode): Remove setting useless fields.
15609 (vbe2videoinfo): New function.
15610 (grub_video_vbe_iterate): Likewise.
15611 (grub_video_vbe_setup): Use vbe2videoinfo.
15612 (grub_video_vbe_print_adapter_specific_info): New function.
15613 (grub_video_vbe_adapter): New fields iterate and
15614 print_adapter_specific_info.
15615 * include/grub/video.h (GRUB_VIDEO_MODE_*): Transform into enum.
15616 All users updated.
15617 (grub_video_mode_info): New field mode_number.
15618 (grub_video_adapter): New fields iterate and
15619 print_adapter_specific_info.
15620
179503f5
TG
156212010-09-13 Tristan Gingold <gingold@free.fr>
156222010-09-13 Robert Millan <rmh.grub@aybabtu.com>
156232010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15624
15625 * grub-core/commands/efi/lsefisystab.c: New file.
15626 * grub-core/commands/efi/lssal.c: Likewise.
15627 * grub-core/Makefile.core.def (lsacpi): New module.
15628 (lsefisystab): Likewise.
15629 * include/grub/efi/api.h (GRUB_EFI_SAL_TABLE_GUID): New definition.
15630 (GRUB_EFI_HCDP_TABLE_GUID): Likewise.
15631 (grub_efi_sal_system_table): New struct.
15632 (grub_efi_sal_system_table_entrypoint_descriptor): Likewise.
15633 (grub_efi_sal_system_table_memory_descriptor): Likewise.
15634 (grub_efi_sal_system_table_platform_features): Likewise.
15635 (grub_efi_sal_system_table_translation_register_descriptor): Likewise.
15636 (grub_efi_sal_system_table_purge_translation_coherence): Likewise.
15637 (grub_efi_sal_system_table_ap_wakeup): Likewise.
15638 * include/grub/types.h (PRIuGRUB_UINT64_T): New definition.
15639
cf9827de
VS
156402010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15641
15642 Support explicit user claim that a device is BIOS-visible.
15643
15644 * grub-core/kern/emu/getroot.c (grub_util_get_dev_abstraction):
15645 Return GRUB_DEV_ABSTRACTION_NONE if device is in device.map.
15646 * grub-core/kern/emu/hostdisk.c
15647 (convert_system_partition_to_system_disk): Support mdX.
15648 (find_system_device): New parameter add. All users updated.
15649 (grub_util_biosdisk_is_present): New function.
15650 * include/grub/emu/hostdisk.h (grub_util_biosdisk_is_present): New
15651 proto.
15652
53f0eb1f
VS
156532010-09-13 Vladimir Serbinenko <phcoder@gmail.com>
15654
15655 Search hints support.
15656
15657 * commands/search.c (FUNC_NAME): New arguments hints and nhints.
15658 All users updated.
15659
b23ffd70
YB
156602010-09-13 Yves Blusseau <blusseau@zetam.org>
15661
15662 Bash completion script for util commands
15663
15664 * Makefile.am: Add util/bash-completion.d directory
15665 * configure.ac: Likewise.
15666 * util/bash-completion.d/Makefile.am: New file.
15667 * util/bash-completion.d/grub-completion.bash.in: Likewise.
15668
d547dc28
VS
156692010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15670
15671 * grub-core/normal/term.c (put_glyphs_terminal): Correct sign.
15672 (print_backlog): set backlog_ucs4 and backlog_glyphs.
15673 Reported by: Yves Blusseau.
15674
2fc8ccb9
VS
156752010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15676
15677 * grub-core/normal/misc.c (grub_normal_print_device_info): Show
15678 partition size and offset.
15679
d8a84076
VS
156802010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15681
15682 * grub-core/commands/wildcard.c (make_regex): Escape brackets.
15683
84fb3b3d
VS
156842010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15685
15686 * grub-core/commands/ls.c (grub_cmd_ls): Accept multiple files.
15687
768ec2e2
VS
156882010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15689
15690 * grub-core/kern/misc.c (grub_vprintf): Use va_copy when necessary.
15691 (grub_xvasprintf): Likewise.
15692
4870900f
VS
156932010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15694
15695 * grub-core/kern/emu/main.c (main): Call hostfs_init only after init_all.
15696
faca6bec
VS
156972010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
15698
15699 * grub-core/commands/menuentry.c (append_menu_entry): Don't rely on
15700 args ending with NULL.
15701
157022010-09-12 Vladimir Serbinenko <phcoder@gmail.com>
788f1f3a
VS
15703
15704 * grub-core/lib/xzembed/xz_dec_stream.c (xz_dec_reset): Preserve context
15705 pointer.
15706
3c70f225
SJ
157072010-09-11 Szymon Janc <szymon@janc.net.pl>
15708
15709 * grub-core/commands/lsacpi.c (grub_cmd_lsacpi): Fix prototype.
15710
4df7996d
VS
157112010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15712
15713 Shutdown using ACPI.
15714
15715 * grub-core/Makefile.core.def (halt): Add commands/acpihalt.c on i386-pc.
15716 * grub-core/commands/acpihalt.c: New file.
15717 * grub-core/commands/i386/pc/halt.c (grub_cmd_halt): Call grub_acpi_halt.
15718 * include/grub/acpi.h (grub_acpi_fadt): New member pm1a.
15719 (grub_acpi_halt): New proto.
15720 (GRUB_ACPI_SLP_EN): New const.
15721 (GRUB_ACPI_SLP_TYP_OFFSET): Likewise.
15722 (GRUB_ACPI_OPCODE_*): New enum.
15723 (GRUB_ACPI_EXTOPCODE_*): Likewise.
15724
126b4c32
TG
157252010-09-11 Tristan Gingold <gingold@free.fr>
157262010-09-11 Robert Millan <rmh.grub@aybabtu.com>
157272010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15728
15729 * commands/lsacpi.c: New file.
15730 * grub-core/Makefile.core.def (lsacpi): New module.
15731 * include/grub/acpi.h (GRUB_ACPI_FADT_SIGNATURE): New definition.
15732 (GRUB_ACPI_MADT_SIGNATURE): Likewise.
15733 (grub_acpi_madt_entry_header): New struct.
15734 (grub_acpi_madt): Likewise.
15735 (grub_acpi_madt_entry_interrupt_override): Likewise.
15736 (grub_acpi_madt_entry_sapic): Likewise.
15737 (grub_acpi_madt_entry_lsapic): Likewise.
15738 (grub_acpi_madt_entry_platform_int_source): Likewise.
15739 * include/grub/types.h (PRIxGRUB_UINT32_T): New definition.
15740 (PRIuGRUB_UINT32_T): Likewise.
15741 (PRIxGRUB_UINT64_T): Likewise.
15742
1aa4fe88
VS
157432010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15744
15745 Implement loading palette on ieee1275_fb.
15746
15747 * grub-core/video/ieee1275.c (stdout_ihandle): New variable.
15748 (have_setcolors): Likewise.
15749 (grub_video_ieee1275_init): Fill stdout_ihandle and have_setcolors.
15750 (grub_video_ieee1275_setup): Use grub_video_ieee1275_set_palette.
15751 (grub_video_ieee1275_set_palette): Implement.
15752
25761e13
VS
157532010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
157542010-09-11 Colin Watson <cjwatson@ubuntu.com>
15755
15756 * util/grub-install.in (grub_partition): New variable.
15757 Set prefix_drive on EFI and PC to (,$grub_partition) as last resort.
15758 * util/i386/pc/grub-setup.c (setup): Don't touch prefix.
15759 Fixes a bug reported by Yves Blusseau.
15760
050abaea
VS
157612010-09-11 Vladimir Serbinenko <phcoder@gmail.com>
15762
15763 Fix emu on mipsel.
15764
15765 * conf/Makefile.common (CFLAGS_PLATFORM): Add -mflush-func
15766 =grub_cpu_flush_cache on all mips and not only yeeloong.
15767 * configure.ac (COND_mips): New conditional.
15768 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add libgcc on all
15769 platforms.
15770 * grub-core/kern/emu/cache.S (__mips__): Use _flush_cache.
15771 * grub-core/kern/emu/full.c (grub_arch_dl_init_linker)
15772 [GRUB_LINKER_HAVE_INIT]: New function.
15773 (grub_emu_post_init): Likewise.
15774 * grub-core/kern/emu/lite.c (grub_emu_post_init): Likewise.
15775 * grub-core/kern/emu/main.c: Use grub_emu_post_init.
15776 * include/grub/cache.h (_mips): Include mips/cache.h.
15777 * include/grub/disk.h [GRUB_UTIL || GRUB_MACHINE_EMU]: Add missing
15778 LVM and RAID prototypes.
15779 * include/grub/emu/misc.h (grub_emu_post_init): New proto.
15780 * include/grub/mips/time.h (grub_cpu_idle) [GRUB_MACHINE_EMU]: New
15781 function.
15782
5ed7d816
CW
157832010-09-10 Colin Watson <cjwatson@ubuntu.com>
15784
15785 * util/grub-install.in: Don't try to verify core.img until after
15786 running grub-mkimage to create it.
15787
90367e04
RM
157882010-09-10 Robert Millan <rmh@gnu.org>
15789
15790 * util/grub.d/10_hurd.in: Add misc readability checks.
15791 * util/grub.d/10_kfreebsd.in: Likewise.
15792 * util/grub.d/10_linux.in: Likewise.
15793
c452fa66
CW
157942010-09-10 Colin Watson <cjwatson@ubuntu.com>
15795
15796 * util/grub-install.in: ${imgext} won't be defined here until the
15797 install branch is merged. For the meantime, only verify core.img on
15798 i386-pc and sparc64-ieee1275 platforms.
15799
c38fe9f4
RM
158002010-09-10 Robert Millan <rmh@gnu.org>
15801
15802 Solaris support in grub_find_zpool_from_dir(). Thanks
15803 Seth Goldberg for referring to getextmntent() facility.
15804
15805 * configure.ac: Check for getextmntent(), `sys/mnttab.h' and
15806 `sys/mkdev.h'.
15807 * grub-core/kern/emu/misc.c [HAVE_SYS_MNTTAB_H]: Include
15808 `<sys/mnttab.h>'.
15809 [HAVE_SYS_MKDEV_H]: Include `<sys/mkdev.h>'.
15810 [HAVE_GETEXTMNTENT] (grub_find_zpool_from_dir): Add getextmntent()
15811 method for finding zpool name.
15812
905f7773
CW
158132010-09-10 Colin Watson <cjwatson@ubuntu.com>
15814
15815 grub-fstest needs the host and hostfs modules while other utilities
15816 actively require those modules to be absent, so grub-fstest needs
15817 its own initialisation and finalisation code.
15818
15819 * Makefile.am (grub_fstest.pp): New target.
15820 (grub_fstest_init.lst): Likewise.
15821 (grub_fstest_init.c): Likewise.
15822 * Makefile.util.def (grub-fstest): Add grub_fstest_init.c.
15823
fb90b546
RM
158242010-09-10 Robert Millan <rmh@gnu.org>
15825
15826 * configure.ac: Check for `struct statfs.f_fstypename' and
15827 `struct statfs.f_mntfromname'.
15828
15829 * grub-core/kern/emu/misc.c (grub_find_zpool_from_dir): Conditionalize
15830 kFreeBSD-specific code.
15831
66d4bea5
RM
158322010-09-10 Robert Millan <rmh@gnu.org>
15833
15834 * util/grub.d/10_kfreebsd.in: Fix ${kfreebsd_device} initialization
15835 on ZFS. Now non-main filesystems are supported as / too.
15836
b6a690ee
CW
158372010-09-09 Colin Watson <cjwatson@ubuntu.com>
15838
15839 * Makefile.util.def (libgrub.a): Move grub-core/kern/emu/hostfs.c
15840 and grub-core/disk/host.c to ...
15841 (grub-fstest): ... here. Having the host disk implementation
15842 present confuses grub-probe and other utility programs.
15843
15844 * util/grub-mkconfig.in: Only verify readability of grub.cfg.new
15845 when writing to a file, not when writing to stdout.
15846
8901b00c 158472010-09-09 BVK Chaitanya <bvk.groups@gmail.com>
15848
15849 * tests/partmap_test.in: New test for partitions.
15850 * Makefile.util.def: Rules for new test.
15851
7bf45fdd
RM
158522010-09-09 Robert Millan <rmh@gnu.org>
15853
15854 * util/grub-probe.c (probe): Fix a pair of unhandled error
15855 conditions.
15856
4dfbc574
RM
158572010-09-09 Robert Millan <rmh@gnu.org>
15858
15859 Basic Btrfs support (detection and UUID).
15860
15861 * grub-core/fs/btrfs.c: New file.
15862 * Makefile.util.def (library): Register btrfs.c.
15863 * grub-core/Makefile.core.def: Likewise.
15864
6b8e78ae
RM
158652010-09-08 Robert Millan <rmh@gnu.org>
15866
15867 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Improve
15868 with (optional) parameters to specify device and relative path.
15869 * util/grub-install.in: Use is_path_readable_by_grub() to
15870 verify readability of a few critical files.
15871 * util/grub-mkconfig.in: Use is_path_readable_by_grub() to
15872 verify readability of grub.cfg.new.
15873
27f21a8b
VS
158742010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
15875
15876 Split minix.mod into minix.mod and minix2.mod.
15877
15878 * Makefile.util.def (libgrub.a): Add grub-core/fs/minix2.c.
15879 * grub-core/Makefile.core.def (minix2): New module.
15880 * grub-core/fs/minix.c: Use definitions instead of runtime version
15881 checking.
15882 * grub-core/fs/minix2.c: New file.
15883
c0e53ea5
YB
158842010-09-08 Yves Blusseau <blusseau@zetam.org>
15885
15886 Add new --boot-directory option to replace --root-directory
15887
15888 * util/grub-install.in: Add new --boot-directory option
15889 * util/grub-reboot.in: Likewise.
15890 * util/grub-set-default.in: Likewise.
15891
b9fe6ea2
YB
158922010-09-08 Yves Blusseau <blusseau@zetam.org>
15893
15894 * util/grub-mkconfig.in: Use new variable.
15895
d87aedff
YB
158962010-09-08 Yves Blusseau <blusseau@zetam.org>
15897
15898 * configure.ac: Define some useful variables.
15899
e55e8495
VS
159002010-09-08 Vladimir Serbinenko <phcoder@gmail.com>
15901
15902 * grub-core/kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
15903 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF when appropriate.
15904 * grub-core/term/ieee1275/ofconsole.c (grub_ofconsole_setcursor):
15905 Use terminfo and don't use cursor-on/cursor-off unless it's known
15906 to work.
15907 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New element
15908 GRUB_IEEE1275_FLAG_HAS_CURSORONOFF.
15909
6fa6d675
CW
159102010-09-08 Colin Watson <cjwatson@ubuntu.com>
15911
15912 * grub-core/kern/efi/init.c (grub_efi_set_prefix): If the prefix
15913 starts with "(,", fill the drive containing the loaded image in
15914 between those two characters, but expect that a full partition
15915 specification including partition map names will follow.
15916
92f2aef0
RM
159172010-09-08 Robert Millan <rmh@gnu.org>
15918
15919 * configure.ac: Remove `--enable-grub-fstest' option.
15920 * Makefile.util.def (grub-fstest): Remove COND_GRUB_FSTEST condition.
15921
15922 * util/grub-mkconfig_lib.in (is_path_readable_by_grub): Use
15923 `grub-fstest' instead of `grub-probe' for readability verification.
15924 * util/grub-probe.c (probe): Remove readability verification kludge.
15925
99fd620d
RM
159262010-09-08 Robert Millan <rmh@gnu.org>
15927
15928 * util/grub-mkconfig.in: Pass `--device ${GRUB_DEVICE}' when
15929 initializing `GRUB_FS'.
15930
058e30ac 159312010-09-08 BVK Chaitanya <bvk.groups@gmail.com>
15932
15933 Not command (!) support to GRUB script.
15934
15935 * tests/grub_script_not.in: New test.
15936 * Makefile.util.def: Rules for new test.
15937
15938 * grub-core/script/execute.c (grub_script_execute_cmdline): Handle
15939 ! command as a special case.
15940 * grub-core/script/yylex.l (GRUB_PARSER_TOKEN_NOT): Removed.
15941
b61d05ed 159422010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
15943
058e30ac 15944 * grub-core/commands/wildcard.c (wildcard_expand): Fix wrong
15945 grub_free.
b61d05ed 15946
4d69c786 159472010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
15948
15949 * docs/grub.texi (Shell-like scripting): Fix @dots to @dots{}.
15950
aa3119c4 159512010-09-07 BVK Chaitanya <bvk.groups@gmail.com>
15952
15953 * docs/grub.texi (Shell-like scripting): Documentation for break,
15954 continue, shift and return commands.
15955
db0f7e3d
VS
159562010-09-06 Vladimir Serbinenko <phcoder@gmail.com>
15957
15958 Rename CD-ROM to cd on BIOS.
15959
15960 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_drive): Recognise
15961 "cd".
15962 (grub_biosdisk_call_hook): Call with "cd" instead of arbitrary hdX.
15963
88b87c93
VS
159642010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15965
15966 * grub-core/kern/emu/main.c (main): Reinit LVM and RAID.
15967 * util/grub-probe.c (main): Likewise.
15968 * util/i386/pc/grub-setup.c (main): Likewise.
15969 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
15970 Reported and debugged by: alexxy
15971
294f324d
VS
159722010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15973
15974 * grub-core/disk/lvm.c (grub_lvm_scan_device) [GRUB_UTIL]: Output more
15975 diagnostic info.
15976
d7ee3441
JS
159772010-09-05 Jo Shields <directhex@apebox.org>
15978
15979 * util/grub.d/30_os-prober.in: Add missing classes.
15980
d7e06c1f
VS
159812010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15982
15983 * docs/grub.texi (Theme file format): Document new position format.
15984
fc157e53
VS
159852010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
15986
15987 * docs/grub.texi (Theme file format): Replace Box_slice_names.png with
15988 a table. Use @code instead of @verbatim.
15989
506e9a1c
CB
159902010-09-05 Colin D Bennett <colin@gibibit.com>
15991
15992 Gfxmenu documentation.
15993
15994 * docs/grub.texi (Theme file format): New chapter.
15995
f0aff67c
SJ
159962010-09-05 Szymon Janc <szymon@janc.net.pl>
15997
15998 * grub-core/Makefile.core.def (xzio): New module.
15999 * grub-core/io/xzio.c: New file.
16000 * grub-core/lib/xzembed/xz.h: New file (from xembed).
16001 * grub-core/lib/xzembed/xz_config.h: Likewise.
16002 * grub-core/lib/xzembed/xz_dec_bcj.c: Likewise.
16003 * grub-core/lib/xzembed/xz_dec_lzma2.c: Likewise.
16004 * grub-core/lib/xzembed/xz_dec_stream.c: Likewise.
16005 * grub-core/lib/xzembed/xz_lzma2.h: Likewise.
16006 * grub-core/lib/xzembed/xz_private.h: Likewise.
16007 * grub-core/lib/xzembed/xz_stream.h: Likewise.
16008 * include/grub/file.h (grub_file_filter_id): New compression filter
16009 GRUB_FILE_FILTER_XZIO.
16010
82a85062
VS
160112010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16012
16013 * include/grub/file.h (GRUB_FILE_SIZE_UNKNOWN): New definition.
16014 * grub-core/disk/loopback.c (grub_loopback_open): Handle unknown file
16015 size.
16016
3579415d
VS
160172010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16018
16019 * include/grub/err.h (grub_err_t): Replace GRUB_ERR_BAD_GZIP_DATA with
16020 GRUB_ERR_BAD_COMPRESSED_DATA. All users updated.
16021
5124ae6d
VS
160222010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16023
16024 Uncompressed checksum support.
16025
16026 * grub-core/commands/hashsum.c (options): Add option --uncompress.
16027 (check_list): New parameter uncompress.
16028 (grub_cmd_hashsum): Handle --uncompress.
16029
9aadb3d1
VS
160302010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16031
16032 Reintroduce testload.
16033
16034 * grub-core/commands/minicmd.c (grub_rescue_cmd_testload) [0]: Moved
16035 from here ...
16036 * grub-core/commands/testload.c (grub_cmd_testload): ... here.
16037 (GRUB_MOD_INIT): New function.
16038 (GRUB_MOD_FINI): Likewise.
16039 * grub-core/Makefile.core.def (testload): New module.
16040
a17792c3
SJ
160412010-09-05 Szymon Janc <szymon@janc.net.pl>
16042
16043 * grub-core/lib/posix_wrap/sys/types.h (bool): Transform into an enum.
16044 (uint8_t): New type.
16045 (uint16_t): Likewise.
16046 (uint32_t): Likewise.
16047 (uint64_t): Likewise.
16048
b81e40a3
SJ
160492010-09-05 Szymon Janc <szymon@janc.net.pl>
16050
16051 * include/grub/crypto.h (GRUB_MD_CRC32): New definition.
16052
fc2ef117
VS
160532010-09-05 Vladimir Serbinenko <phcoder@gmail.com>
16054
16055 * grub-core/io/gzio.c (grub_gzio_open): Removed "transparent" parameter.
16056 Made static.
16057 (grub_gzfile_open): Removed. All users updated.
16058 (GRUB_MOD_INIT): New function.
16059 (GRUB_MOD_FINI): Likewise.
16060 * grub-core/kern/file.c (grub_file_filters_all): New variable.
16061 (grub_file_filters_enabled): Likewise.
16062 (grub_file_open): Handle filters.
16063 * grub-core/loader/i386/bsd.c (GRUB_MOD_INIT): Load gzio.
16064 * grub-core/normal/main.c (GRUB_MOD_INIT): Likewise.
16065 * include/grub/file.h (grub_file_filter_id_t): New type.
16066 (grub_file_filter_t): Likewise.
16067 (grub_file_filters_all): New extern variable.
16068 (grub_file_filters_enabled): Likewise.
16069 (grub_file_filter_register): New inline function.
16070 (grub_file_filter_unregister): Likewise.
16071 (grub_file_filter_disable): Likewise.
16072 (grub_file_filter_disable_compression): Likewise.
16073 * include/grub/gzio.h: Removed.
16074
35ee15e0
BC
160752010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16076
16077 Filename expansion support for wildcards in GRUB script.
16078
16079 * tests/grub_script_expansion.in: New test.
16080 * Makefile.util.def: Rule for new test.
16081
16082 * grub-core/commands/wildcard.c: New file, implements filename
16083 expansion support for GRUB script.
16084 * grub-core/Makefile.core.def: Rule update for regexp.mod.
16085 * grub-core/script/argv.c: Cosmetic changes.
16086 * grub-core/script/execute.c (grub_script_arglist_to_argv):
16087 Refactored to perform wildcard expansion on arguments.
16088 * include/grub/script_sh.h (grub_script_wildcard_translator): New
16089 struct.
16090
16091 * tests/util/grub-shell.in: Fix quoting for read input.
16092
5f0c4aca
BC
160932010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16094
16095 Support for updating environment variables with matched substrings
16096 of regexp.
16097
16098 * tests/grub_cmd_regexp.in: New test.
16099 * Makefile.util.def: Rule for new test.
16100
16101 * grub-core/commands/regexp.c: New option -s to update environment
16102 variables with regexp matches.
16103
3759a35f
SJ
161042010-09-04 Szymon Janc <szymon@janc.net.pl>
16105
16106 * include/grub/file.h (grub_file): New member not_easly_seekable.
16107 (grub_file_seekable): New inline function.
16108 * grub-core/io/gzio.c (test_header): Don't test end magic if file isn't
16109 easily seekable.
16110 (grub_gzio_open): Set not_easly_seekable.
16111 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_open): Set not_easily_seekable.
16112 * grub-core/io/bufio.c (grub_bufio_open): Propagate not_easily_seekable.
16113
ed8c6dec
BC
161142010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16115
16116 Support for options to appear multiple times on cmdline.
16117
16118 * include/grub/lib/arg.h (grub_arg_list_alloc): New prototype.
16119 * grub-core/commands/extcmd.c: Support for repeatable option.
16120 * grub-core/lib/arg.c (grub_arg_list_alloc): New function for
16121 repeatable option support.
16122
16123 Refactor menuentry into a regular command.
16124
16125 * grub-core/commands/menuentry.c: New file, menuentry command
16126 implementation.
16127 * grub-core/Makefile.core.def: Rule update for normal.mod.
16128 * grub-core/normal/main.c: Moved menuentry creation to
16129 grub-core/commands/menuentry.c.
16130 * grub-core/normal/menu.c (grub_menu_execute_entry): Removed.
16131 (grub_menu_execute_entry_real): Removed.
16132 * grub-core/script/execute.c (grub_script_execute_sourcecode): New
16133 function.
16134 (grub_script_execute_menuentry): Removed.
16135 * grub-core/script/parser.y (menuentry): Removed.
16136 * grub-core/script/script.c (grub_script_create_cmdmenu): Removed.
16137 * grub-core/script/yylex.l (menuentry): Removed.
16138 * include/grub/menu.h (grub_menu_init): New prototype.
16139 (grub_menu_fini): New prototype.
16140 * include/grub/normal.h (grub_normal_add_menu_entry): Removed.
16141 * include/grub/script_sh.h (grub_script_cmd_menuentry): Removed.
16142 (grub_script_execute_sourcecode): New prototype.
16143
dacd0cf0
BC
161442010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16145
16146 "return" command for GRUB script functions.
16147
16148 * tests/grub_script_return.in: New test.
16149 * Makefile.util.def: Rules for new test.
16150
16151 * grub-core/script/execute.c (grub_script_return): New function.
16152 * grub-core/script/main.c: Register/unregister return commaond.
16153 * include/grub/script_sh.h (grub_script_return): New prototype.
16154
52e72f9d
BC
161552010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16156
16157 "setparams" command to update positional parameters.
16158
16159 * tests/grub_script_setparams.in: New test.
16160 * Makefile.util.def: Rules for new test.
16161
16162 * grub-core/script/argv.c (grub_script_argv_make): New function.
16163 * grub-core/script/execute.c (replace_scope): New function.
16164 (grub_script_setparams): New function.
16165 * grub-core/script/lexer.c: Remove unused variables.
16166 * grub-core/script/main.c: Register/unregister setparams command.
16167 * include/grub/script_sh.h (grub_script_argv_make): New prototype.
16168 (grub_script_setparams): New prototype.
16169
25b60c91
BC
161702010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16171
16172 * grub-core/normal/completion.c (grub_normal_do_completion): Fix
16173 grub_free order.
16174
37e7bf68
BC
161752010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16176
16177 Support for passing block of commands as an argument to extcmds.
16178
16179 * Makefile.util.def: Rules for new test.
16180 * tests/grub_script_blockarg.in: New test.
16181 * grub-core/tests/test_blockarg.c: New file, block argument
16182 command used in the test.
16183
16184 * include/grub/extcmd.h (grub_extcmd_context): New struct.
16185 (grub_register_extcmd_prio): New function prototype.
16186 (grub_extcmd_dispatcher): New function prototype.
16187 * include/grub/command.h (GRUB_COMMAND_FLAG_BLOCKS): New command
16188 type.
16189 * include/grub/script_sh.h (struct grub_script): New members
16190 `children', `next_siblings' and `refcnt' for block arguments and
16191 reference counting.
16192 (GRUB_SCRIPT_ARG_TYPE_BLOCK): New argument type.
16193 (grub_script_arg): New member `script' for block argument.
16194 (grub_script_argv): New member `script' for block argument.
16195 (grub_parser_param): New member `scripts' for block argument.
16196 (grub_script_mem_free): New extern function prototype.
16197 (grub_script_ref): New function prototype.
16198 (grub_script_unref): New function prototype.
16199
16200 * grub-core/normal/dyncmd.c (grub_dyncmd_dispatcher): Moved to
16201 extcmd form to support block arguments.
16202 * grub-core/script/argv.c: Block arguments support.
16203 * grub-core/script/execute.c: Likewise.
16204 * grub-core/script/lexer.c: Likewise.
16205 * grub-core/script/main.c: Likewise.
16206 * grub-core/script/script.c: Likewise.
16207 * grub-core/script/parser.y: Likewise. New `block' and `block0'
16208 non-terminals.
16209
16210 * grub-core/commands/acpi.c: Update extcmd implementations with
16211 grub_extcmd_context_t.
16212 * grub-core/commands/cat.c: Likewise.
16213 * grub-core/commands/echo.c: Likewise.
16214 * grub-core/commands/extcmd.c: Likewise.
16215 * grub-core/commands/hashsum.c: Likewise.
16216 * grub-core/commands/hdparm.c: Likewise.
16217 * grub-core/commands/help.c: Likewise.
16218 * grub-core/commands/hexdump.c: Likewise.
16219 * grub-core/commands/i386/cpuid.c: Likewise.
16220 * grub-core/commands/i386/pc/drivemap.c: Likewise.
16221 * grub-core/commands/i386/pc/halt.c: Likewise.
16222 * grub-core/commands/i386/pc/sendkey.c: Likewise.
16223 * grub-core/commands/iorw.c: Likewise.
16224 * grub-core/commands/keystatus.c: Likewise.
16225 * grub-core/commands/loadenv.c: Likewise.
16226 * grub-core/commands/ls.c: Likewise.
16227 * grub-core/commands/lspci.c: Likewise.
16228 * grub-core/commands/memrw.c: Likewise.
16229 * grub-core/commands/probe.c: Likewise.
16230 * grub-core/commands/search_wrap.c: Likewise.
16231 * grub-core/commands/setpci.c: Likewise.
16232 * grub-core/commands/sleep.c: Likewise.
16233 * grub-core/disk/loopback.c: Likewise.
16234 * grub-core/hello/hello.c: Likewise.
16235 * grub-core/loader/i386/bsd.c: Likewise.
16236 * grub-core/loader/xnu.c: Likewise.
16237 * grub-core/term/gfxterm.c: Likewise.
16238 * grub-core/term/serial.c: Likewise.
16239 * grub-core/tests/lib/functional_test.c: Likewise.
16240
888d1500
BC
162412010-09-04 BVK Chaitanya <bvk.groups@gmail.com>
16242
16243 Multi-line quoted strings support.
16244
16245 * grub-core/script/lexer.c (append_newline): Removed.
16246 (grub_script_lexer_yywrap): Refactored.
16247 (grub_script_lexer_init): Refactored.
16248 * grub-core/script/yylex.l (yywrap): New function.
16249 (grub_lexer_resplit): New function.
16250 (grub_lexer_unput): New function.
16251 * include/grub/script_sh.h (grub_lexer_param): New members, unput
16252 and resplit.
16253 * tests/grub_script_echo1.in: Added few more testcases.
16254
dda060dd
VS
162552010-09-04 Vladimir Serbinenko <phcoder@gmail.com>
16256
16257 * grub-core/kern/misc.c: Don't add abort alias in utils.
16258 Reported by: echoline.
16259
6556eba9
BC
162602010-09-03 BVK Chaitanya <bvk.groups@gmail.com>
16261
16262 Add missing files into "make dist" tarball for other platforms.
16263
16264 * gentpl.py (script): Use dist_noinst_DATA instead of EXTRA_DIST.
16265 * conf/Makefile.common (dist_noinst_DATA): New variable.
16266 * conf/Makefile.extra-dist: Added missing make dist files.
16267 * grub-core/Makefile.core.def: Likewise.
16268
c8e7bf5f
VS
162692010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
16270
16271 Compress grub_prefix.
16272
16273 * grub-core/boot/i386/pc/lnxboot.S: Use
16274 GRUB_KERNEL_I386_PC_MULTIBOOT_SIGNATURE.
16275 * grub-core/kern/i386/pc/startup.S: Move grub_prefix to compressed part.
16276 * include/grub/offsets.h: Rename GRUB_MACHINE_DATA_END to
16277 GRUB_MACHINE_PREFIX_END. All users updated.
16278 (GRUB_KERNEL_I386_PC_PREFIX): Set to GRUB_KERNEL_I386_PC_RAW_SIZE.
16279 (GRUB_KERNEL_I386_PC_PREFIX_END): Set to GRUB_KERNEL_I386_PC_PREFIX
16280 + 0x40.
16281 (GRUB_KERNEL_I386_PC_RAW_SIZE): Decrease.
16282 * util/grub-mkimage.c (image_target_desc): Change data_end to
16283 prefix_end. All users updated.
16284
a7c00cdb
VS
162852010-09-03 Vladimir Serbinenko <phcoder@gmail.com>
16286
16287 * grub-core/loader/i386/bsd.c (grub_freebsd_boot): Set %ebp to sane
16288 value.
16289 (grub_openbsd_boot): Likewise.
16290 (grub_netbsd_boot): Likewise.
16291 * grub-core/loader/i386/xnu.c (grub_xnu_boot_resume): Likewise.
16292 (grub_xnu_boot): Likewise.
16293
9f915872
VS
162942010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16295
16296 * configure.ac: Clean LIBS variable after tests.
16297
efa1bee7
CW
162982010-09-02 Colin Watson <cjwatson@ubuntu.com>
16299
16300 * INSTALL: Document that libdevmapper needs to be 1.02.34 or later.
16301
61d720e5
VS
163022010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16303
16304 * configure.ac: Check for dm_log_with_errno_init in libdevmapper and
16305 echo if libdevmapper will be used.
16306
ef8e0ec8
IT
163072010-09-02 Ian Turner <Ian.Turner@deshaw.com>
16308
16309 * grub-core/fs/i386/pc/pxe.c (grub_pxefs_read): Keep the blocksize
16310 constant for the same file.
16311
03e261d8
VS
163122010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16313
16314 * grub-core/kern/i386/multiboot_mmap.c: Remove leftover include.
16315
c2a4eba6
CW
163162010-09-02 Colin Watson <cjwatson@ubuntu.com>
16317
16318 * .bzrignore: Add *.pp, **/.dirstamp, grub-core/*.module, and
16319 grub-core/*.pp.
16320
9056cbf3
CW
163212010-09-02 Colin Watson <cjwatson@ubuntu.com>
16322
16323 Zero %ebp and %edi when entering Linux's 32-bit entry point, as
16324 required by the boot protocol.
16325
16326 * include/grub/i386/relocator.h (struct grub_relocator32_state): Add
16327 ebp and edi members.
16328 * grub-core/lib/i386/relocator.c (grub_relocator_boot): Handle
16329 state.ebp and state.edi.
16330 * grub-core/lib/i386/relocator32.S (grub_relocator32_start): Set
16331 %ebp and %edi according to grub_relocator32_ebp and
16332 grub_relocator32_edi respectively.
16333 * grub-core/loader/i386/linux.c (grub_linux_boot): Zero state.ebp
16334 and state.edi.
16335
529cc99a
VS
163362010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16337
16338 Add i386-pc-pxe image target.
16339
16340 * util/grub-mkimage.c (image_target_desc): New enum value
16341 IMAGE_I386_PC_PXE.
16342 (image_targets): New target i386-pc-pxe.
16343 (generate_image): Handle i386-pc-pxe image.
16344
9a093920
VS
163452010-09-02 Vladimir Serbinenko <phcoder@gmail.com>
16346
16347 Fix grub_pxe_scan.
16348
16349 * grub-core/fs/i386/pc/pxe.c (grub_pxe_pxenv): Put correct type bangpxe.
16350 (grub_pxe_scan): Fix types and pxe_rm_entry computation.
16351 All users updated.
16352 * include/grub/i386/pc/pxe.h (grub_pxe_bangpxe): New struct.
16353 (grub_pxe_pxenv): Correct type.
16354
f9cefc4e
CW
163552010-09-01 Colin Watson <cjwatson@ubuntu.com>
16356
16357 * NEWS: Document most of the important changes since 1.98.
16358
4066f57f
CW
163592010-09-01 Colin Watson <cjwatson@ubuntu.com>
16360
16361 * util/grub-mkrescue.in (usage): Tidy up usage output (and hence
16362 generated manual page) a little.
16363
da2891f9
CW
163642010-09-01 Colin Watson <cjwatson@ubuntu.com>
16365
16366 * docs/grub.texi: Add myself as an author.
16367
ad717fae
VS
163682010-09-01 Vladimir Serbinenko <phcoder@gmail.com>
16369
16370 * Makefile.util.def (libgrub.a): Add missing sunpc.
16371 Reported by: Seth Goldberg.
16372
eefe8abd
VS
163732010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16374
16375 Interrupt wrapping and code simplifications.
16376
9494ef9a
VS
16377 * Makefile.util.def (grub-mkrescue): Use x86 tg instead of
16378 x86_noieee1275 which are functionaly equivalent in this case.
16379 (grub-install): Make source on each platform explicit. Enable on
16380 all noemu.
16381 * gentpl.py (x86_efi_pc): Removed group.
16382 (x86_noefi): Likewise.
16383 (i386_noefi): Likewise.
16384 (x86_noieee1275): Likewise.
16385 (i386_noieee1275): Likewise.
16386 (i386_noefi_noieee1275): Likewise.
16387 (i386_pc_qemu_coreboot): Likewise.
16388 (i386_coreboot_multiboot): Likewise.
16389 (i386_pc_coreboot_multiboot_qemu): Likewise.
16390 (x86_noefi_mips): Likewise.
16391 (noieee1275): Likewise.
16392 (ieee1275_mips): Likewise.
16393 (noemu_noieee1275): Likewise.
16394 (cmos): New group.
16395 (usb): Likewise.
16396 (videoinkernel): Likewise.
16397 (videomodules): Likewise.
eefe8abd 16398 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Remove
9494ef9a
VS
16399 include/grub/elf.h, include/grub/elfload.h, include/grub/net.h,
16400 include/grub/reader.h, include/grub/symbol.h, include/grub/types.h,
16401 include/grub/loader.h, include/grub/msdos_partition.h,
16402 include/grub/machine/biosdisk.h, include/grub/machine/boot.h,
16403 include/grub/machine/console.h, include/grub/machine/vga.h,
16404 include/grub/machine/vbe.h, include/grub/machine/init.h,
16405 include/grub/machine/kernel.h, include/grub/cpu/time.h,
16406 include/grub/cpu/types.h, include/grub/gzio.h and include/grub/menu.h
eefe8abd 16407 (KERNEL_HEADER_FILES) [i386-pc]: Add include/grub/machine/int.h.
9494ef9a
VS
16408 (KERNEL_HEADER_FILES) [i386-ieee1275]: Add include/grub/i386/pit.h
16409 * grub-core/Makefile.core.def (kernel): Explicit the source for
16410 startup. Explicit the platforms using kern/generic/rtc_get_time_ms.c.
16411 Split ieee1275_mips. Remove kern/i386/halt.c. Remove kern/i386/misc.S.
16412 Enable kern/i386/pit.c on all x86. Remove kern/i386/ieee1275/init.c.
16413 Use videoinkernel tag.
16414 (usb): Enable on all usb.
16415 (usbserial_common): Likewise.
16416 (usbserial_pl2303): Likewise.
16417 (usbserial_ftdi): Likewise.
16418 (uhci): Enable on all x86.
16419 (ohci): Enable on all pci.
16420 (cmostest): Enable on all CMOS.
16421 (acpi): Include commands/acpi.c on all platforms.
16422 (halt): Add relevant lib/*/halt.c.
16423 (hdparm): Enable on all pci.
16424 (lspci): Likewise.
16425 (usbtest): Enable on all usb.
16426 (ata): Enable on all pci.
16427 (ata_pthru): Likewise.
16428 (usbms): Enable on all usb.
16429 (usb_keyboard): Likewise.
16430 (font): Use tag videomodules.
16431 (bufio): Likewise.
16432 (datetime): Use tag cmos. Enable on all noemu.
16433 (mmap): Use tags common and x86.
16434 (gfxterm): Use tag videomodules.
16435 (bitmap): Likewise.
16436 (bitmap_scale): Likewise.
16437 (video_fb): Likewise.
16438 (video): Likewise.
16439 * grub-core/bus/usb/ohci.c (grub_ohci_td): Make link_td a pointer and
16440 adjust padding accordingly. All users updated.
16441 (grub_ohci_transaction): Fix bad format specification.
16442 (GRUB_MOD_INIT): Add asserts for struct size.
16443 * grub-core/bus/usb/uhci.c (grub_uhci_pci_iter): Add explicit casts.
16444 (grub_alloc_td): Likewise.
16445 (grub_free_queue): Likewise.
16446 (grub_uhci_transfer): Likewise.
16447 (grub_uhci_transaction): Fix bad format specification.
16448 * grub-core/bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
16449 (grub_usb_bulk_readwrite): Likewise.
16450 * grub-core/kern/i386/misc.S (grub_stop): Moved from here ...
16451 * grub-core/commands/i386/pc/halt.c (stop): ...here. Transformed into C.
16452 Made static.
16453 * grub-core/lib/i386/halt.c (stop): ... and here. Transformed into C.
16454 Made static.
16455 * grub-core/kern/i386/pc/startup.S (grub_halt): Moved from here ...
16456 * grub-core/commands/i386/pc/halt.c (grub_halt): ...here.
16457 Transformed into C.
16458 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_int13_extensions):
16459 Moved from here ...
16460 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_int13_extensions):
16461 ... here. Transformed into C. Made static.
16462 * grub-core/kern/i386/pc/startup.S (grub_biosdisk_rw_standard):
16463 Moved from here ...
16464 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_rw_standard):
16465 ... here. Transformed into C. Made static.
16466 * grub-core/kern/i386/pc/startup.S
16467 (grub_biosdisk_check_int13_extensions): Moved from here ...
16468 * grub-core/disk/i386/pc/biosdisk.c
16469 (grub_biosdisk_check_int13_extensions): ... here. Transformed into C.
16470 Made static.
16471 * grub-core/kern/i386/pc/startup.S
16472 (grub_biosdisk_get_cdinfo_int13_extensions): Moved from here ...
16473 * grub-core/disk/i386/pc/biosdisk.c
16474 (grub_biosdisk_get_cdinfo_int13_extensions): ... here.
16475 Transformed into C. Made static.
16476 * grub-core/kern/i386/pc/startup.S
16477 (grub_biosdisk_get_diskinfo_int13_extensions): Moved from here ...
16478 * grub-core/disk/i386/pc/biosdisk.c
16479 (grub_biosdisk_get_diskinfo_int13_extensions): ... here.
16480 Transformed into C. Made static.
16481 * grub-core/kern/i386/pc/startup.S
16482 (grub_biosdisk_get_diskinfo_standard): Moved from here ...
16483 * grub-core/disk/i386/pc/biosdisk.c
16484 (grub_biosdisk_get_diskinfo_standard): ... here.
16485 Transformed into C. Made static.
16486 * grub-core/kern/i386/pc/startup.S
16487 (grub_biosdisk_get_num_floppies): Moved from here ...
16488 * grub-core/disk/i386/pc/biosdisk.c
16489 (grub_biosdisk_get_num_floppies): ... here.
16490 Transformed into C. Made static.
16491 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_get_diskinfo_real):
16492 New function.
16493 * grub-core/kern/i386/pc/startup.S (grub_pxe_scan): Moved from here ...
16494 * grub-core/fs/i386/pc/pxe.c (grub_pxe_scan): ... here.
16495 Transformed into C. Made static.
16496 * grub-core/kern/i386/pc/startup.S (grub_rm_entry): Moved from here ...
16497 * grub-core/fs/i386/pc/pxe.c (grub_rm_entry): ... here.
16498 Transformed into C. Made static.
16499 * grub-core/kern/i386/ieee1275/init.c: Removed.
16500 * grub-core/kern/i386/misc.S: Likewise.
16501 * grub-core/kern/i386/pc/startup.S (grub_get_memsize):
16502 Splitted from here ...
16503 * grub-core/kern/i386/pc/init.c (grub_get_conv_memsize): ... here.
16504 Transformed into C. Made static. All users updated.
16505 * grub-core/kern/i386/pc/mmap.c (grub_get_ext_memsize): ... and here.
16506 Transformed into C. Made static. All users updated.
16507 * grub-core/kern/i386/pc/startup.S (grub_get_eisa_mmap):
16508 Moved from here...
16509 * grub-core/kern/i386/pc/mmap.c (grub_get_eisa_mmap): ... here.
16510 Transformed into C. Made static. All users updated.
16511 * grub-core/kern/i386/pc/startup.S (grub_get_mmap_entry):
16512 Moved from here...
16513 * grub-core/kern/i386/pc/mmap.c (grub_get_mmap_entry): ... here.
16514 Transformed into C. Made static. All users updated.
16515 * grub-core/kern/i386/pc/startup.S (grub_stop_floppy):
16516 Removed (replaced by C version).
16517 * grub-core/kern/i386/pc/startup.S (grub_vga_set_mode):
16518 Moved from here...
16519 * grub-core/video/i386/pc/vga.c (grub_vga_set_mode): ...here.
16520 Transformed into C. Made static.
16521 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_controller_info):
16522 Moved from here...
16523 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_controller_info):
16524 ... here. Transformed into C.
16525 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode_info):
16526 Moved from here...
16527 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode_info):
16528 ... here. Transformed into C.
16529 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_mode):
16530 Moved from here...
16531 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_mode):
16532 ... here. Transformed into C. Made static.
16533 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_mode):
16534 Moved from here...
16535 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_mode):
16536 ... here. Transformed into C.
21ed554b
VS
16537 * grub-core/kern/i386/pc/startup.S
16538 (grub_vbe_bios_getset_dac_palette_width):Moved from here...
16539 * grub-core/video/i386/pc/vbe.c
16540 (grub_vbe_bios_getset_dac_palette_width):... here. Transformed into C.
9494ef9a
VS
16541 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_memory_window):
16542 Moved from here...
16543 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_memory_window):
16544 ... here. Transformed into C.
16545 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_memory_window):
16546 Moved from here...
16547 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_memory_window):
16548 ... here. Transformed into C.
16549 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_scanline_length):
16550 Moved from here...
16551 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_scanline_length):
16552 ... here. Transformed into C.
16553 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_scanline_length):
16554 Moved from here...
16555 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_scanline_length):
16556 ... here. Transformed into C.
16557 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_display_start):
16558 Moved from here...
16559 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_display_start):
16560 ... here. Transformed into C. Made static.
16561 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_get_display_start):
16562 Moved from here...
16563 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_get_display_start):
16564 ... here. Transformed into C. Made static.
16565 * grub-core/kern/i386/pc/startup.S (grub_vbe_bios_set_palette_data):
16566 Moved from here...
16567 * grub-core/video/i386/pc/vbe.c (grub_vbe_bios_set_palette_data):
16568 ... here. Transformed into C. Made static.
16569 * grub-core/kern/i386/pc/startup.S (grub_pxe_call): Receive
16570 pxe_rm_entry as third argument.
16571 (grub_bios_interrupt): New function.
16572 * grub-core/kern/i386/qemu/mmap.c: Remove useless include.
16573 * grub-core/kern/i386/qemu/startup.S (codestart): Do cli;hlt instead
16574 of calling grub_stop.
16575 * grub-core/kern/efi/efi.c (grub_halt): Moved from here ...
16576 * grub-core/lib/efi/halt.c (grub_halt): ...here.
16577 * grub-core/kern/emu/main.c (grub_halt): Moved from here ...
16578 * grub-core/lib/emu/halt.c (grub_halt): ... here.
16579 * grub-core/lib/i386/halt.c: Moved from here ...
16580 * grub-core/lib/i386/halt.c: ... here.
16581 * grub-core/kern/ieee1275/openfw.c (grub_halt): Moved from here ...
16582 * grub-core/lib/ieee1275/halt.c (grub_halt): ... here.
16583 * grub-core/loader/i386/pc/linux.c (grub_linux16_boot): Call
16584 grub_stop_floppy.
16585 * grub-core/loader/i386/xnu.c (guessfsb) [IEEE1275]: Enable.
16586 * include/grub/i386/coreboot/init.h: Removed.
16587 * include/grub/i386/multiboot/init.h: Likewise.
16588 * include/grub/i386/pc/biosdisk.h: Removed all function prototypes.
16589 * include/grub/i386/pc/init.h: Likewise except grub_gate_a20.
16590 * include/grub/i386/pc/int.h: New file.
16591 * include/grub/i386/pc/pxe.h (GRUB_PXE_SIGNATURE): New definition.
16592 (grub_pxe_scan): Removed.
16593 (grub_pxe_call): Update prototype.
16594 * include/grub/i386/pc/vbe.h: Removed EXPORT_FUNC and useless
16595 prototypes.
16596 * include/grub/i386/pc/vga.h (grub_vga_set_mode): Removed.
16597 * include/grub/i386/qemu/init.h: Removed.
16598 * include/grub/mips/yeeloong/kernel.h (grub_reboot): Add missing
16599 noreturn.
16600 (grub_halt): Likewise.
16601 * include/grub/misc.h (grub_halt): Removed EXPORT_FUNC.
16602 (grub_reboot): Likewise.
16603 * grub-core/kern/i386/coreboot/init.c (grub_stop_floppy): Moved from here...
16604 * include/grub/i386/floppy.h (grub_stop_floppy): ...here. Inlined.
21ed554b
VS
16605 * grub-core/kern/i386/pc/startup.S (grub_hard_stop): Removed.
16606
215dd471
RM
166072010-08-30 Robert Millan <rmh@gnu.org>
16608
16609 * NEWS: Document addition of ZFS support in `grub-install' and
16610 `grub-mkconfig'.
16611
ebd65b82
BC
166122010-08-30 BVK Chaitanya <bvk.groups@gmail.com>
16613
16614 * conf/Makefile.common (CPPFLAGS_DEFAULT): Remove leading / from
16615 dprintf output.
16616
11721d19
VS
166172010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16618
16619 Remove leftover embedding of font objects.
16620
16621 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
16622 * util/grub-install.in (font): Removed.
16623 * util/grub-mkimage.c (generate_image): Remove font support. All users
16624 updated.
16625
37837d4e
VS
166262010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16627
16628 Remove leftover embedding of font objects.
16629
16630 * include/grub/kernel.h (OBJ_TYPE_FONT): Removed.
16631 * util/grub-install.in (font): Removed.
16632 * util/grub-mkimage.c (generate_image): Remove font support. All users
16633 updated.
16634
b4c1aae0
VS
166352010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16636
16637 * docs/grub.texi (Network): Fix reference to pxe_blksize.
e176a764 16638 Reported by: Ian Turner
b4c1aae0 16639
8920a08d
VS
166402010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16641
16642 * grub-core/normal/menu.c (grub_wait_after_message): Add a 10 second
16643 timeout to avoid indefinite boot stalling.
16644
f21db033
VS
166452010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16646
16647 * grub-core/normal/color.c (grub_env_write_color_normal): Fix a warning.
16648 (grub_env_write_color_highlight): Likewise.
16649
9a9de209
VS
166502010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16651
16652 * grub-core/normal/term.c (print_more): Return to normal and not
16653 to standard state after printing "---MORE---".
16654
3dca01d7
VS
166552010-08-30 Vladimir Serbinenko <phcoder@gmail.com>
16656
16657 * grub-core/term/i386/vga_common.c (grub_console_setcolorstate):
16658 Mask out the bit 0x80 since it has other meaning that specifiing color.
16659
0b986c40
VS
166602010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
16661
16662 New relocator. Allows for more kernel support and more straightforward
16663 loader writing.
16664
16665 * Makefile.am (BOOTTARGET): New variable.
16666 (QEMU32): Likewise.
16667 (linux.init.x86_64): New target.
16668 (linux.init.i386): Likewise.
16669 (multiboot.elf): Likewise.
16670 (kfreebsd.elf): Likewise.
16671 (kfreebsd.aout): Likewise.
16672 (pc-chainloader.elf): Likewise.
16673 (pc-chainloader.bin): Likewise.
16674 (ntldr.elf): Likewise.
16675 (ntldr.bin): Likewise.
16676 (multiboot2.elf): Likewise.
16677 (kfreebsd.init.x86_64): Likewise.
16678 (kfreebsd.init.i386): Likewise.
16679 (knetbsd.init.i386): Likewise.
16680 (kopenbsd.init.i386): Likewise.
16681 (knetbsd.init.x86_64): Likewise.
16682 (kopenbsd.init.x86_64): Likewise.
16683 (linux-initramfs.i386): Likewise.
16684 (linux-initramfs.x86_64): Likewise.
16685 (kfreebsd-mfsroot.i386.img): Likewise.
16686 (knetbsd.image.i386): Likewise.
16687 (kopenbsd.image.i386): Likewise.
16688 (kopenbsd.image.x86_64): Likewise.
16689 (knetbsd.miniroot-image.i386.img): Likewise.
16690 (kfreebsd-mfsroot.x86_64.img): Likewise.
16691 (knetbsd.image.x86_64): Likewise.
16692 (knetbsd.miniroot-image.x86_64.img): Likewise.
16693 (kfreebsd-mfsroot.i386.gz): Likewise.
16694 (bootcheck-kfreebsd-i386): Likewise.
16695 (kfreebsd-mfsroot.x86_64.gz): Likewise.
16696 (bootcheck-kfreebsd-x86_64): Likewise.
16697 (knetbsd.miniroot-image.i386.gz): Likewise.
16698 (bootcheck-knetbsd-i386): Likewise.
16699 (bootcheck-kopenbsd-i386): Likewise.
16700 (bootcheck-kopenbsd-x86_64): Likewise.
16701 (knetbsd.miniroot-image.x86_64.gz): Likewise.
16702 (bootcheck-knetbsd-x86_64): Likewise.
16703 (bootcheck-linux-i386): Likewise.
16704 (bootcheck-linux-x86_64): Likewise.
16705 (bootcheck-linux16-i386): Likewise.
16706 (bootcheck-linux16-x86_64): Likewise.
16707 (bootcheck-multiboot): Likewise.
16708 (bootcheck-multiboot2): Likewise.
16709 (bootcheck-kfreebsd-aout): Likewise.
16710 (bootcheck-pc-chainloader): Likewise.
16711 (bootcheck-ntldr): Likewise.
16712 (CLEANFILES): Add new targets.
16713 (BOOTCHECKS): New variable.
16714 (.PHONY): Add bootchecks.
16715 (SUCCESSFUL_BOOT_STRING): New variable.
16716 (BOOTCHECK_TIMEOUT): Likewise.
16717 (bootcheck): New target
16718 * Makefile.util.def (grub-mkrescue): Enable on i386-multiboot.
16719 * configure.ac: Correct efiemu excuse.
16720 * docs/grub.texi (Supported kernels): New chapter.
16721 * grub-core/Makefile.am (KERNEL_HEADER_FILES): Add
16722 include/grub/mm_private.h. Simplify inclusion of
16723 include/grub/boot.h, include/grub/loader.h
16724 and include/grub/msdos_partition.h
16725 (KERNEL_HEADER_FILES) [i386_coreboot]:
16726 Remove include/grub/machine/loader.h. Add include/grub/i386/pit.h.
16727 (KERNEL_HEADER_FILES) [i386_multiboot]: Likewise.
16728 (KERNEL_HEADER_FILES) [i386_qemu]: Likewise.
16729 (KERNEL_HEADER_FILES) [i386_ieee1275]: Remove
16730 include/grub/machine/loader.h.
16731 (KERNEL_HEADER_FILES) [x86_64-efi]: Likewise.
16732 * grub-core/Makefile.core.def (kernel): Remove kern/i386/loader.S from
16733 extra_dist.
16734 (pci.mod): Enable on i386-multiboot.
16735 (acpi.mod): Enable on i386-multiboot and i386-coreboot.
16736 (efiemu.mod): Enable on i386-coreboot, i386-ieee1275, i386-multiboot and
16737 i386-qemu.
16738 (relocator.mod): Rewritten.
16739 (aout.mod): Enable on all x86.
16740 (bsd.mod): Likewise.
16741 (ntldr.mod): New module.
16742 (linux.mod): Use loader/i386/linux.c on all x86.
16743 (xnu.mod): Enable on all x86.
16744 (vga_text.mod): disable on EFI and QEMU.
16745 * grub-core/efiemu/i386/coredetect.c: Remove useless include.
16746 * grub-core/efiemu/i386/pc/cfgtables.c: Likewise.
16747 * grub-core/efiemu/loadcore.c: Likewise.
16748 * grub-core/efiemu/main.c: Likewise.
16749 (grub_efiemu_exit_boot_services): Removed.
16750 (grub_efiemu_finish_boot_services): Likewise.
16751 * grub-core/efiemu/mm.c (grub_efiemu_finish_boot_services): New
16752 function.
16753 * grub-core/efiemu/i386/nocfgtables.c: New file.
16754 * grub-core/kern/dl.c (grub_dl_unload_all): Removed.
16755 * grub-core/kern/efi/efi.c (grub_efi_exit_boot_services): Removed.
16756 (grub_efi_finish_boot_services): Moved from here ...
16757 * grub-core/kern/efi/mm.c (grub_efi_finish_boot_services): ...here.
16758 Fille finish memory map and related data.
16759 (finish_mmap_buf): New variable.
16760 (grub_efi_uintn_t finish_mmap_size): Likewise.
16761 (grub_efi_uintn_t finish_key): Likewise.
16762 (grub_efi_uintn_t finish_desc_size): Likewise.
16763 (grub_efi_uint32_t finish_desc_version): Likewise.
16764 (grub_efi_is_finished): Likewise.
16765 (grub_efi_get_memory_map): Use saved memory map if EFI is already
16766 finished.
16767 * grub-core/kern/elf.c (grub_elf32_phdr_iterate): Make global.
16768 (grub_elf64_phdr_iterate): Likewise.
16769 * grub-core/kern/i386/coreboot/init.c (grub_os_area_addr): Removed.
16770 (grub_os_area_size): Likewise.
16771 (grub_machine_init): Don't reserve os area.
16772 * grub-core/kern/i386/coreboot/startup.S: Don't include loader.S.
16773 * grub-core/kern/i386/ieee1275/startup.S: Likewise.
16774 * grub-core/kern/i386/loader.S: Removed.
16775 * grub-core/kern/i386/pc/init.c (grub_os_area_addr): Removed.
16776 (grub_os_area_size): Likewise.
16777 (grub_machine_init): Don't reserve os area.
16778 * grub-core/kern/i386/pc/startup.S (grub_chainloader_real_boot):
16779 Don't call grub_dl_unload_all.
16780 Don't include loader.S.
16781 * grub-core/kern/i386/qemu/mmap.c (grub_machine_mmap_iterate):
16782 Declare the memory after _end as available.
16783 * grub-core/kern/mm.c (GRUB_MM_FREE_MAGIC): Moved from here...
1935c077 16784 * include/grub/mm_private.h (GRUB_MM_FREE_MAGIC): ... here.
0b986c40 16785 (GRUB_MM_ALLOC_MAGIC): Moved from here...
1935c077
VS
16786 * include/grub/mm_private.h (GRUB_MM_ALLOC_MAGIC): ... here.
16787 * grub-core/kern/mm.c (grub_mm_header): Moved from here...
16788 * include/grub/mm_private.h (grub_mm_header): ... here.
16789 * grub-core/kern/mm.c (GRUB_MM_ALIGN): Moved from here...
16790 * include/grub/mm_private.h (GRUB_MM_ALIGN): ... here.
0b986c40
VS
16791 * grub-core/kern/mm.c (grub_mm_region): Moved from here ...
16792 (grub_mm_region): ..here. Removed addr. Added pre_size.
16793 All users updated.
16794 * grub-core/kern/mm.c (base): Renamed to ...
16795 (grub_mm_base): ... this. Made global.
16796 (grub_real_malloc): Alloc from end of region.
16797 (grub_memalign): Don't attempt to malloc if grub_mm_base is NULL.
16798 * grub-core/kern/powerpc/cache.S (grub_arch_sync_caches): Move to ...
16799 * grub-core/kern/powerpc/cache_flush.S: ... here.
16800 * grub-core/lib/efi/relocator.c: New file.
16801 * grub-core/lib/i386/relocator.c: Rewritten.
16802 * grub-core/lib/i386/relocator16.S: New file.
16803 * grub-core/lib/i386/relocator32.S: Likewise.
16804 * grub-core/lib/i386/relocator64.S: Likewise.
16805 * grub-core/lib/i386/relocator_asm.S: Rewritten.
16806 * grub-core/lib/i386/relocator_common.S: New file.
16807 * grub-core/lib/ieee1275/relocator.c: Likewise.
16808 * grub-core/lib/mips/relocator.c: Rewritten.
16809 * grub-core/lib/mips/relocator_asm.S: Renamed variables and minor
16810 stylistic adjustments.
16811 * grub-core/lib/powerpc/relocator.c: New file.
16812 * grub-core/lib/powerpc/relocator_asm.S: Likewise.
16813 * grub-core/lib/relocator.c: Rewritten.
16814 * grub-core/lib/x86_64/relocator_asm.S: New file.
16815 * grub-core/loader/aout.c (grub_aout_load): Make load_addr a void *.
16816 * grub-core/loader/i386/bsd.c (NETBSD_DEFAULT_VIDEO_MODE): New const.
16817 (bsd_tag): New struct.
16818 (tags): New variable.
16819 (tags_last): Likewise.
16820 (netbsd_module): New struct.
16821 (netbsd_mods): New variable.
16822 (netbsd_mods_last): Likewise.
16823 (openbsd_opts): New parameter "serial".
16824 (OPENBSD_SERIAL_ARG): New definition.
16825 (netbsd_opts): New parameter "serial".
16826 (NETBSD_SERIAL_ARG): New definition.
16827 (grub_freebsd_add_meta): Reorganised into ...
16828 (grub_bsd_add_meta): ...this. All users updated.
16829 (grub_freebsd_add_mmap): Reorganised into ...
16830 (generate_e820_mmap): ...this...
16831 (grub_bsd_add_mmap): ...and this. All users updated.
16832 (grub_freebsd_list_modules): Use tags.
16833 (grub_netbsd_add_meta_module): New function.
16834 (grub_netbsd_list_modules): Likewise.
16835 (grub_freebsd_boot): Use relocator and finish EFI.
16836 (grub_openbsd_boot): Likewise.
16837 (grub_netbsd_setup_video): New function.
16838 (grub_netbsd_add_modules): Likewise.
16839 (grub_netbsd_boot): Use grub_netbsd_add_modules, relocator, netbsd_tags
16840 and finish EFI.
16841 (grub_bsd_unload): Unload tags.
16842 (grub_bsd_load_aout): Use relocator.
16843 (grub_bsd_elf32_size_hook): New function.
16844 (grub_bsd_elf32_hook): Use relocator.
16845 (grub_bsd_elf64_size_hook): New function.
16846 (grub_bsd_elf64_hook): Use relocator.
16847 (grub_bsd_load_elf): Use relocator and call grub_openbsd_find_ramdisk.
16848 (grub_bsd_load): Zero-out openbsd_ramdisk.
16849 (grub_bsd_load): Use relocator.
16850 (grub_cmd_openbsd): Support serial.
16851 (grub_cmd_netbsd): Support modules.
16852 (grub_cmd_freebsd_module): Use relocator.
16853 (grub_netbsd_module_load): New function.
16854 (grub_cmd_netbsd_module): Likewise.
16855 (grub_cmd_openbsd_ramdisk): Likewise.
16856 (GRUB_MOD_INIT): Register knetbsd_module, knetbsd_module_elf and
16857 kopenbsd_ramdisk.
16858 (GRUB_MOD_FINI): Unregister new commands.
16859 * grub-core/loader/i386/bsdXX.c (load): Remove useless checks.
16860 (grub_freebsd_load_elfmodule_obj): Use relocator.
16861 (grub_freebsd_load_elfmodule): Likewise.
16862 (grub_freebsd_load_elf_meta): Likewise.
16863 (grub_netbsd_load_elf_meta): New function.
16864 (grub_openbsd_find_ramdisk): Likewise.
16865 * grub-core/loader/i386/bsd_helper.S: Removed.
16866 * grub-core/loader/i386/bsd_pagetable.c: Support relocator.
16867 * grub-core/loader/i386/bsd_trampoline.S: Removed.
16868 * grub-core/loader/i386/efi/linux.c: Likewise.
16869 * grub-core/loader/i386/ieee1275/linux.c: Likewise.
16870 * grub-core/loader/i386/linux.c (HAS_VGA_TEXT): New const.
16871 (DEFAULT_VIDEO_MODE): Likewise.
16872 (real_mode_target): New variable.
16873 (prot_mode_target): Likewise.
16874 (initrd_mem_target): Likewise.
16875 (relocator): Likewise.
16876 (efi_mmap_buf): Likewise.
16877 (efi_mmap_size): Likewise.
16878 (find_efi_mmap_size): Moved from grub-core/loader/i386/efi/linux.c.
16879 (free_pages): Use relocator.
16880 (allocate_pages): Account for efi_mmap and use relocator. Return error.
16881 (grub_linux_setup_video): Return error.
16882 (grub_linux_trampoline_start): Removed.
16883 (grub_linux_trampoline_end): Likewise.
16884 (grub_linux_boot): Use relocator and DEFAULT_VIDEO_MODE. Pass console
16885 andd video parameters depending on firmware.
16886 [GRUB_MACHINE_IEEE1275]: Pass OFW parameters.
16887 [GRUB_MACHINE_EFI]: Pass EFI parameters.
16888 (grub_cmd_linux) [GRUB_MACHINE_EFI]: Likewise.
16889 (grub_cmd_initrd): Use relocator.
16890 * grub-core/loader/i386/linux_trampoline.S: Removed.
16891 * grub-core/loader/i386/multiboot_mbi.c (elf_sec_num): New variable.
16892 (elf_sec_entsize): Likewise.
16893 (elf_sec_shstrndx): Likewise.
16894 (elf_sections): Likewise.
16895 (grub_multiboot_load): Use relocator.
16896 (grub_multiboot_get_mbi_size): Account for sections.
16897 (grub_multiboot_make_mbi): Use relocator and support sections.
16898 (grub_multiboot_add_elfsyms): New function.
16899 (grub_multiboot_free_mbi): Free sections.
16900 * grub-core/loader/i386/pc/linux.c (relocator): New variable.
16901 (grub_linux_real_target): Likewise.
16902 (grub_linux_real_chunk): Likewise.
16903 (grub_linux16_prot_size): Likewise.
16904 (grub_linux16_boot): Use relocator.
16905 (grub_linux_unload): Unload relocator.
16906 (grub_cmd_linux): Use relocator.
16907 (grub_cmd_initrd): Likewise.
16908 * grub-core/loader/i386/pc/ntldr.c: New file.
16909 * grub-core/loader/i386/xnu.c (guessfsb) [GRUB_MACHINE_IEEE1275]:
16910 Don't try to guess CPU frequency.
16911 (grub_xnu_set_video): Stretch bitmap.
16912 (grub_xnu_boot): Use relocator.
16913 * grub-core/loader/mips/linux.c (grub_linux_boot): Use relocator.
16914 (grub_linux_unload): Free relocator.
16915 (grub_linux_load32): Use relocator.
16916 (grub_linux_load64): Likewise.
16917 (grub_cmd_initrd): Likewise.
16918 * grub-core/loader/multiboot.c (grub_multiboot_boot): Use relocator.
16919 (grub_multiboot_unload): Unload relocator.
16920 (grub_cmd_multiboot): Use relocator.
16921 (grub_cmd_module): Likewise.
16922 * grub-core/loader/multiboot_elfxx.c (grub_multiboot_load_elfXX):
16923 Use relocator and support sections.
16924 * grub-core/loader/multiboot_mbi2.c(elf_sec_num): New variable.
16925 (elf_sec_entsize): Likewise.
16926 (elf_sec_shstrndx): Likewise.
16927 (elf_sections): Likewise.
16928 (grub_multiboot_load): Use relocator.
16929 (grub_multiboot_get_mbi_size): Account for sections.
16930 (grub_multiboot_make_mbi): Use relocator and support sections.
16931 (grub_multiboot_add_elfsyms): New function.
16932 * grub-core/loader/powerpc/ieee1275/linux.c: Remove useless include.
16933 * grub-core/loader/sparc64/ieee1275/linux.c: Likewise.
16934 * grub-core/loader/xnu.c (grub_xnu_heap_malloc): Use relocator.
16935 Prototype changed. All users updated.
16936 (grub_xnu_align_heap): Simplified.
16937 (grub_xnu_writetree_toheap): Likewise.
16938 (grub_xnu_unload): Unload relocator.
16939 (grub_cmd_xnu_kernel): Use relocator.
16940 (grub_cmd_xnu_kernel64): Likewise.
16941 (grub_xnu_register_memory): Simplified.
16942 * grub-core/loader/xnu_resume.c (grub_xnu_resume): Use relocator.
1935c077
VS
16943 * grub-core/term/efi/console.c (grub_console_putchar): Abort if
16944 EFI is finished.
16945 (grub_console_checkkey): Likewise.
16946 (grub_console_getkey): Likewise.
16947 (grub_console_getwh): Likewise.
16948 (grub_console_getxy): Likewise.
16949 (grub_console_gotoxy): Likewise.
16950 (grub_console_cls): Likewise.
16951 (grub_console_setcolorstate): Likewise.
16952 (grub_console_setcursor): Likewise.
16953 * grub-core/term/ns8250.c (grub_ns8250_hw_get_port): New function.
16954 * grub-core/tests/boot/kbsd.init-i386.S: New file.
16955 * grub-core/tests/boot/kbsd.init-x86_64.S: Likewise.
16956 * grub-core/tests/boot/kbsd.spec.txt: Likewise.
16957 * grub-core/tests/boot/kernel-8086.S: Likewise.
16958 * grub-core/tests/boot/kernel-i386.S: Likewise.
16959 * grub-core/tests/boot/kfreebsd-aout.cfg: Likewise.
16960 * grub-core/tests/boot/kfreebsd.cfg: Likewise.
16961 * grub-core/tests/boot/kfreebsd.init-i386.S: Likewise.
16962 * grub-core/tests/boot/kfreebsd.init-x86_64.S: Likewise.
16963 * grub-core/tests/boot/knetbsd.cfg: Likewise.
16964 * grub-core/tests/boot/kopenbsd.cfg: Likewise.
16965 * grub-core/tests/boot/kopenbsdlabel.txt: Likewise.
16966 * grub-core/tests/boot/linux.cfg: Likewise.
16967 * grub-core/tests/boot/linux.init-i386.S: Likewise.
16968 * grub-core/tests/boot/linux.init-x86_64.S: Likewise.
16969 * grub-core/tests/boot/linux16.cfg: Likewise.
16970 * grub-core/tests/boot/multiboot.cfg: Likewise.
16971 * grub-core/tests/boot/multiboot2.cfg: Likewise.
16972 * grub-core/tests/boot/ntldr.cfg: Likewise.
16973 * grub-core/tests/boot/pc-chainloader.cfg: Likewise.
16974 * include/grub/aout.h (grub_aout_load): Make load_addr a void *.
16975 * include/grub/autoefi.h (grub_autoefi_finish_boot_services):
16976 New definition.
16977 * include/grub/dl.h (grub_dl_unload_all): Removed.
16978 * include/grub/efi/efi.h (grub_efi_exit_boot_services): Likewise.
16979 (grub_efi_finish_boot_services): Change prototype.
16980 (grub_efi_is_finished): New variable.
16981 * include/grub/efiemu/efiemu.h (grub_efiemu_finish_boot_services):
16982 Changed prototype.
16983 (grub_efiemu_finish_boot_services): Removed.
16984 (grub_machine_efiemu_init_tables): New prototype.
16985 * include/grub/elfload.h (grub_elf32_phdr_iterate): Likewise.
16986 (grub_elf64_phdr_iterate): Likewise.
16987 * include/grub/i386/bsd.h: Include relocator.h.
16988 (freebsd_tag_header): New struct.
16989 (grub_openbsd_bios_mmap): Removed.
16990 (grub_unix_real_boot): Removed.
16991 (grub_freebsd_load_elfmodule32): Changed prototype.
16992 (grub_freebsd_load_elfmodule_obj64): Likewise.
16993 (grub_freebsd_load_elf_meta32): Likewise.
16994 (grub_freebsd_load_elf_meta64): Likewise.
16995 (grub_freebsd_add_meta): Removed.
16996 (grub_netbsd_load_elf_meta32): New prototype.
16997 (grub_netbsd_load_elf_meta64): Likewise.
16998 (grub_bsd_add_meta): Likewise.
16999 (grub_openbsd_ramdisk_descriptor): New struct.
17000 (grub_openbsd_find_ramdisk32): New prototype.
17001 (grub_openbsd_find_ramdisk64): Likewise.
17002 * include/grub/i386/coreboot/loader.h: Removed.
17003 * include/grub/i386/efi/loader.h: Likewise.
17004 * include/grub/i386/ieee1275/loader.h: Likewise.
17005 * include/grub/i386/linux.h (linux_kernel_header): Change void *
17006 to grub_uint32_t.
17007 * include/grub/i386/loader.h: Removed.
17008 * include/grub/i386/memory.h (GRUB_MEMORY_CPU_CR4_PAE_ON): Correct the
17009 value.
17010 (GRUB_MEMORY_CPU_CR4_PSE_ON): New definition.
17011 (grub_phys_addr_t): New type.
17012 (grub_vtop): New inline function.
17013 (grub_map_memory): Likewise.
17014 (grub_unmap_memory): Likewise.
17015 * include/grub/i386/multiboot/loader.h: Removed.
17016 * include/grub/i386/netbsd_bootinfo.h (NETBSD_BTINFO_BOOTDISK): Removed.
17017 (NETBSD_BTINFO_CONSOLE): New definition.
17018 (NETBSD_BTINFO_SYMTAB): Likewise.
17019 (NETBSD_BTINFO_MODULES): Likewise.
17020 (NETBSD_BTINFO_FRAMEBUF): Likewise.
17021 (grub_netbsd_bootinfo): New struct.
17022 (grub_netbsd_btinfo_common): Use explicit bitsize.
17023 (grub_netbsd_btinfo_mmap_entry): Removed.
17024 (GRUB_NETBSD_MAX_BOOTPATH_LEN): New definition.
17025 (grub_netbsd_btinfo_bootdisk): New struct.
17026 (grub_netbsd_btinfo_symtab): Likewise.
17027 (grub_netbsd_btinfo_serial): Likewise.
17028 (grub_netbsd_btinfo_modules): Likewise.
17029 (grub_netbsd_btinfo_framebuf): Likewise.
17030 (GRUB_NETBSD_MAX_ROOTDEVICE_LEN): New definition.
17031 * include/grub/i386/openbsd_bootarg.h (OPENBSD_BOOTARG_CONSOLE):
17032 Likewise.
17033 (grub_openbsd_bootargs): Use explicit bitsize.
17034 (grub_openbsd_bootarg_console): New struct.
17035 (GRUB_OPENBSD_COM_MAJOR): New definition.
17036 (GRUB_OPENBSD_VGA_MAJOR): Likewise.
17037 * include/grub/i386/pc/efiemu.h: Removed.
17038 * include/grub/i386/pc/loader.h: Don't include cpu/loader.h.
17039 * include/grub/i386/qemu/loader.h: Removed.
17040 * include/grub/i386/relocator.h: Rewritten.
17041 * include/grub/i386/xnu.h (grub_xnu_heap_will_be_at): Removed.
17042 * include/grub/mips/memory.h: New file.
17043 * include/grub/mips/multiboot.h: Rewritten.
17044 * include/grub/mips/relocator.h: Rewritten.
17045 * include/grub/mips/yeeloong/memory.h (grub_phys_addr_t): New type.
17046 (grub_vtop): New function.
17047 (grub_map_memory): Likewise.
17048 (grub_unmap_memory): Likewise.
17049 * include/grub/misc.h (ALIGN_DOWN): New definition.
17050 * include/grub/mm.h (grub_mm_check_real): New proto.
17051 (GRUB_MM_CHECK): New definition.
17052 * include/grub/mm_private.h: New file.
17053 * include/grub/multiboot.h (grub_multiboot_relocator): New variable.
17054 (grub_multiboot_get_mbi_size): Removed.
17055 (grub_multiboot_make_mbi): Change prottype.
17056 (grub_multiboot_set_accepts_video): New proto.
17057 (grub_multiboot_add_elfsyms): Likewise.
17058 (grub_multiboot_payload_eip): New variable.
17059 * include/grub/ns8250.h (grub_ns8250_hw_get_port) [!ASM_FILE]:
17060 New prototype.
17061 * include/grub/offsets.h (GRUB_KERNEL_I386_MULTIBOOT_PREFIX):
17062 New definition.
17063 (GRUB_KERNEL_I386_MULTIBOOT_DATA_END): Likewise.
17064 (GRUB_KERNEL_I386_MULTIBOOT_MOD_ALIGN): Likewise.
17065 * include/grub/powerpc/ieee1275/loader.h: Removed.
17066 * include/grub/powerpc/memory.h: New file.
17067 * include/grub/powerpc/relocator.h: Likewise.
17068 * include/grub/relocator.h: Likewise.
17069 * include/grub/relocator_private.h: Likewise.
17070 * include/grub/sparc64/ieee1275/loader.h: Removed.
17071 * include/grub/x86_64/memory.h: New file.
17072 * include/grub/xnu.h (grub_xnu_writetree_toheap): Changed prototype.
17073 (grub_xnu_heap_malloc): Likewise.
17074 (grub_xnu_heap_real_start): Removed.
17075 (grub_xnu_heap_start): Likewise.
17076 (grub_xnu_relocator): New variable.
17077 (grub_xnu_heap_target_start): Likewise.
17078 * tests/util/grub-shell.in: Support non-pc.
17079 * util/grub-mkimage.c (image_targets): Fix multiboot target.
0b986c40 17080
5303b85d
VS
170812010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17082
17083 * grub-core/normal/charset.c (grub_utf8_to_ucs4_alloc): Avoid deadloop
17084 on malloc error.
17085 (grub_bidi_logical_to_visual): Check that malloc succeded.
17086 * grub-core/normal/term.c (grub_puts_terminal): Fix fallback to dumb
17087 puts.
17088 (grub_xputs_normal): Likewise.
17089
d768d159
VS
170902010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17091
17092 * grub-core/Makefile.core.def (kernel): Add kern/mips/cache_flush.S to
17093 extra_dist.
17094
170952010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17096
17097 * grub-core/efiemu/runtime/efiemu.sh: Removed.
17098
5bf84df4
VS
170992010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17100
17101 * Makefile.util.def (grub-ofpathname): Add missing ldadd.
17102
3626810e
VS
171032010-08-29 Vladimir Serbinenko <phcoder@gmail.com>
17104
17105 * grub-core/kern/misc.c (grub_real_dprintf): Always refresh after
17106 dprintf.
17107
a7363f53
BC
171082010-08-29 BVK Chaitanya <bvk.groups@gmail.com>
17109
17110 * Makefile.util.def: Use ldadd instead of ldflags for libraries.
17111
902f75f6
VS
171122010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17113
17114 * grub-core/normal/term.c (print_more): Fix a memory leak.
17115 (grub_puts_terminal): Revert to dumb puts if memory allocation fails.
17116 (grub_xputs_normal): Likewise.
17117
3c707967
VS
171182010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17119
17120 * grub-core/script/lexer.c (grub_script_lexer_init): Don't look before
17121 the begining of the string
17122
2053cc07
VS
171232010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17124
17125 * grub-core/script/script.c (grub_script_parse): Free parsed on
17126 failure.
17127
46422ebf
VS
171282010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17129
17130 * grub-core/normal/completion.c (grub_normal_do_completion): Free argv
17131 on failure.
17132
9e0fa3f6
VS
171332010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17134
17135 * grub-core/normal/cmdline.c (grub_cmdline_get): Free cl_terms on
17136 return.
17137
3393cf16
VS
171382010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17139
17140 * grub-core/term/gfxterm.c (grub_gfxterm_term_fini): Free the text buffer.
17141 (scroll_up): Fix a memory leak.
17142
b17540cb
VS
171432010-08-28 Vladimir Serbinenko <phcoder@gmail.com>
17144
17145 * grub-core/fs/nilfs2.c (grub_nilfs2_load_sb): Handle grub_disk_read
17146 errors.
17147
67140446
VS
171482010-08-27 Vladimir Serbinenko <phcoder@gmail.com>
17149
17150 Handle USB pendrives exposed as floppies.
17151
17152 * grub-core/boot/i386/pc/boot.S: Check LBA even on what appears to be
17153 floppy.
17154 * grub-core/disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
17155 Check for partitions on all devices.
17156
e35e46fc
VS
171572010-08-25 Vladimir Serbinenko <phcoder@gmail.com>
17158
17159 * grub-core/term/ieee1275/ofconsole.c (put): Correct prototype.
17160 (readkey): Likewise.
17161
d24c6190
BC
171622010-08-25 BVK Chaitanya <bvk.groups@gmail.com>
17163
17164 Multiple variable names support to "export" command.
17165
17166 * normal/context.c (grub_cmd_export): "export" command supports
17167 multiple variable names.
17168
04ddcc6a
ST
171692010-08-23 Samuel Thibault <samuel.thibault@ens-lyon.org>
17170
17171 * util/grub.d/30_os-prober.in: Fix conversion from grub-probe
17172 --target=drive output to Mach device name.
17173
0c8b61d8
BC
171742010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
17175
17176 New Automake based build system for GRUB.
17177
17178 * ABOUT-NLS: New file.
17179 * Makefile.am: New file. GRUB host utils' rules that doesn't fit
17180 in Makefile.util.def file.
17181 * Makefile.util.def: New file. Autogen build definitions file for
17182 GRUB host utils.
17183 * conf/Makefile.common: New file. Common variables for GRUB host
17184 utils and target modules.
17185 * conf/Makefile.extra-dist: New file. Extra files for make dist.
17186 * docs/Makefile.am: New file. Automake file for docs.
17187 * gentpl.py: New file. Python script to generate Autogen
17188 template.
17189 * grub-core/Makefile.am: New file. GRUB target modules' rules
17190 that doesn't fit in Makefile.core.def file.
17191 * grub-core/Makefile.core.def: New file. Autogen build
17192 definitions file for GRUB target modules.
17193 * grub-core/lib/setjmp.S: New file. Wrapper for target_cpu
17194 specific setjmp.S file.
17195 * po/Makefile.am: New file.
17196
17197 * .bzrignore: New ignores.
17198 * INSTALL: New requirements, without Ruby.
17199 * acinclude.m4: Use TARGET_IMG_BASE_LDOPT variable instead.
17200 * autogen.sh: Updated to invoke autogen as necessary.
17201 * configure.ac: Separate *FLAGS with HOST_ and TARGET_ prefixes,
17202 and defines for Automake conditionals.
17203 * geninit.sh: Refactoring.
17204
17205 * include/grub/dl.h: Allow build rules to define GRUB_MOD_* if
17206 necessary.
17207 * include/grub/emu/getroot.h (grub_make_system_path_relative_to_its_root):
17208 New prototype.
17209
17210 * include/grub/test.h: Fix functional test modules' naming.
17211 * grub-core/tests/example_functional_test.c: Fix test module name.
17212
17213 * util/misc.c: Hosted versions' of grub functions for libgrub.a
17214 * tests/lib/unit_test.c: Remove hosted versions of grub functions.
17215 * util/grub-editenv.c: Likewise.
17216 * util/grub-fstest.c: Likewise.
17217 * util/grub-mkdevicemap.c: Likewise.
17218 * util/grub-mkfont.c: Likewise.
17219 * util/grub-mkimage.c: Likewise.
17220 * util/grub-mkpasswd-pbkdf2.c: Likewise.
17221 * util/grub-probe.c: Likewise.
17222 * util/grub-script-check.c: Likewise.
17223 * util/i386/pc/grub-setup.c: Likewise.
17224 * util/sparc64/ieee1275/grub-setup.c: Likewise.
17225
17226 * tests/util/grub-shell.in: Fix override directory path.
17227 * util/grub-mkrescue.in: Replace @pkglib_DATA@ with files.
17228 * util/import_gcry.py: Create Makefile.gcry.def file instead.
17229
17230 * util/lvm.c: Update #includes.
17231 * util/raid.c: Likewise.
17232 * util/resolve.c: Likewise.
17233 * grub-core/bus/emu/pci.c: Likewise.
17234 * grub-core/lib/posix_wrap/stdlib.h: Likewise.
17235 * grub-core/lib/posix_wrap/string.h: Likewise.
17236 * grub-core/kern/emu/main.c: Likewise.
17237
17238 * grub-core/gensymlist.sh: New file. Script for generating kernel
17239 symbols file.
17240 * grub-core/genmoddep.awk: Support new kernel_syms.lst format.
17241
17242 * grub-core/gentrigtables.c: Fix unused variable warnings.
17243
17244 * Makefile.in: Removed.
17245 * conf/any-emu.rmk: Removed.
17246 * conf/common.rmk: Removed.
17247 * conf/i386-coreboot.rmk: Removed.
17248 * conf/i386-efi.rmk: Removed.
17249 * conf/i386-ieee1275.rmk: Removed.
17250 * conf/i386-multiboot.rmk: Removed.
17251 * conf/i386-pc.rmk: Removed.
17252 * conf/i386-qemu.rmk: Removed.
17253 * conf/i386.rmk: Removed.
17254 * conf/mips-yeeloong.rmk: Removed.
17255 * conf/mips.rmk: Removed.
17256 * conf/powerpc-ieee1275.rmk: Removed.
17257 * conf/sparc64-ieee1275.rmk: Removed.
17258 * conf/tests.rmk: Removed.
17259 * conf/x86-efi.rmk: Removed.
17260 * conf/x86_64-efi.rmk: Removed.
17261 * gendistlist.sh: Removed.
17262 * geninitheader.sh: Removed.
17263 * genkernsyms.sh.in: Removed.
17264 * genmk.rb: Removed.
17265 * gensymlist.sh.in: Removed.
17266 * mkinstalldirs: Removed.
17267 * boot: Moved ...
17268 * grub-core/boot: ... to here.
17269 * bus: Moved ...
17270 * grub-core/bus: ... to here.
17271 * commands: Moved ...
17272 * grub-core/commands: ... to here.
17273 * disk: Moved ...
17274 * grub-core/disk: ... to here.
17275 * efiemu: Moved ...
17276 * grub-core/efiemu: ... to here.
17277 * font: Moved ...
17278 * grub-core/font: ... to here.
17279 * fs: Moved ...
17280 * grub-core/fs: ... to here.
17281 * gencmdlist.sh: Moved ...
17282 * grub-core/gencmdlist.sh: ... to here.
17283 * genemuinit.sh: Moved ...
17284 * grub-core/genemuinit.sh: ... to here.
17285 * genemuinitheader.sh: Moved ...
17286 * grub-core/genemuinitheader.sh: ... to here.
17287 * genfslist.sh: Moved ...
17288 * grub-core/genfslist.sh: ... to here.
17289 * genhandlerlist.sh: Moved ...
17290 * grub-core/genhandlerlist.sh: ... to here.
17291 * genmoddep.awk: Moved ...
17292 * grub-core/genmoddep.awk: ... to here.
17293 * genmodsrc.sh: Moved ...
17294 * grub-core/genmodsrc.sh: ... to here.
17295 * genpartmaplist.sh: Moved ...
17296 * grub-core/genpartmaplist.sh: ... to here.
17297 * genparttoollist.sh: Moved ...
17298 * grub-core/genparttoollist.sh: ... to here.
17299 * genterminallist.sh: Moved ...
17300 * grub-core/genterminallist.sh: ... to here.
17301 * gentrigtables.c: Moved ...
17302 * grub-core/gentrigtables.c: ... to here.
17303 * genvideolist.sh: Moved ...
17304 * grub-core/genvideolist.sh: ... to here.
17305 * gettext: Moved ...
17306 * grub-core/gettext: ... to here.
17307 * gfxmenu: Moved ...
17308 * grub-core/gfxmenu: ... to here.
17309 * gnulib: Moved ...
17310 * grub-core/gnulib: ... to here.
17311 * hello: Moved ...
17312 * grub-core/hello: ... to here.
17313 * hook: Moved ...
17314 * grub-core/hook: ... to here.
17315 * io: Moved ...
17316 * grub-core/io: ... to here.
17317 * kern: Moved ...
17318 * grub-core/kern: ... to here.
17319 * lib: Moved ...
17320 * grub-core/lib: ... to here.
17321 * loader: Moved ...
17322 * grub-core/loader: ... to here.
17323 * mmap: Moved ...
17324 * grub-core/mmap: ... to here.
17325 * normal: Moved ...
17326 * grub-core/normal: ... to here.
17327 * partmap: Moved ...
17328 * grub-core/partmap: ... to here.
17329 * parttool: Moved ...
17330 * grub-core/parttool: ... to here.
17331 * script: Moved ...
17332 * grub-core/script: ... to here.
17333 * term: Moved ...
17334 * grub-core/term: ... to here
17335 * tests/example_functional_test.c: Moved ...
17336 * grub-core/tests/example_functional_test.c: ... to here.
17337 * tests/lib/functional_test.c: Moved ...
17338 * grub-core/tests/lib/functional_test.c: ... to here.
17339 * tests/lib/test.c: Moved ...
17340 * grub-core/tests/lib/test.c: ... to here.
17341 * video: Moved ...
17342 * grub-core/video: ... to here.
17343
645586e6
BC
173442010-08-23 BVK Chaitanya <bvk.groups@gmail.com>
17345
17346 Replace --enable-grub-emu-modules with grub-emu-lite.
17347
17348 * kern/emu/cache.S: New file. Wrapper for $target_cpu specific
17349 cache.S.
17350
17351 * include/grub/emu/misc.h (grub_emu_init): New prototype.
17352 * kern/emu/full.c: New file. For grub-emu specific initialization.
17353 * kern/emu/lite.c: New file. For grub-emu-lite initialization.
17354 * kern/emu/main.c: Call initialization function grub_emu_init.
17355
17356 * Makefile.in: Include grub-emu-lite in install.
17357 * commands/parttool.c: Use grub_no_autoload to differentiate
17358 between grub-emu and grub-emu-lite.
17359 * include/grub/misc.h: New variable grub_no_autoload.
17360
17361 * conf/any-emu.rmk: New rules for grub-emu-lite.
17362 * configure.ac: Remove --enable-grub-emu-modules.
17363 * genmk.rb: Cleanup unnecessary rules.
17364 * include/grub/dl.h: Remove GRUB_NO_MODULES macro.
17365
17366 * normal/main.c: Don't load list files on grub-emu-lite.
17367 * util/misc.c (grub_arch_sync_caches): Removed.
17368
f86a4030
CW
173692010-08-23 Colin Watson <cjwatson@ubuntu.com>
17370
17371 * kern/mips/startup.S (grub_prefix): Update comment to refer to
17372 grub-mkimage rather than grub-mkelfimage.
17373 * kern/powerpc/ieee1275/startup.S (grub_prefix): Likewise.
17374
06776944
VS
173752010-08-22 Vladimir Serbinenko <phcoder@gmail.com>
17376
17377 * term/at_keyboard.c (grub_at_keyboard_getkey_noblock): Don't discard
17378 a key after CapsLock or NumLock. It's just a qemu bug.
17379
df262419
VS
173802010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
17381
17382 * include/grub/usb.h (grub_usb_device): Add 'data' field back. It's
17383 needed by libusb wrapper.
17384
b40ea81b
ST
173852010-08-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
17386
17387 * docs/grub.texi (GNU/Hurd): Document booting GNU/Hurd.
17388
dee50575
VS
173892010-08-21 Vladimir Serbinenko <phcoder@gmail.com>
17390
17391 * loader/multiboot.c (grub_cmd_module): Don't unzip module if
17392 --nounzip is passed.
17393
fb1d7b79
VS
173942010-08-20 Vladimir Serbinenko <phcoder@gmail.com>
17395
17396 USB hotunplugging and USB serial support.
17397
17398 * bus/usb/ohci.c (grub_ohci_transfer): Fill *actual and respect timeout.
17399 * bus/usb/uhci.c (grub_free_queue): Compute *actual.
17400 (grub_uhci_transfer): Respect timeout and set *actual.
17401 * bus/usb/usb.c (grub_usb_device_initialize): Correctly skip fields of
17402 non-standard length.
17403 (grub_usb_device_attach): Autoload modules.
17404 (GRUB_MOD_INIT): Set grub_term_poll_usb.
17405 (GRUB_MOD_FINI): Unset grub_term_poll_usb.
17406 * bus/usb/usbhub.c (grub_usb_hub): Replace speed with devices. All
17407 users updated.
17408 (grub_usb_add_hub): Fill nports and children.
17409 (attach_root_port): Receive hub instead of controller.
17410 All users updated. Fill hub->devices.
17411 (grub_usb_root_hub): Allocate hub->devices.
17412 (detach_device): New function.
17413 (poll_nonroot_hub): Fill children and detach devices.
17414 * bus/usb/usbtrans.c (grub_usb_bulk_readwrite): Accept timeout and
17415 actual arguments. All users updated.
17416 (grub_usb_bulk_read_extended): New function.
17417 * bus/usb/serial/common.c: New file.
17418 * bus/usb/serial/ftdi.c: Likewise.
17419 * bus/usb/serial/pl2303.c: Likewise.
17420 * commands/terminal.c (handle_command): Support wildcard.
17421 * commands/usbtest.c: Output "Unknown" instead of empty string.
17422 * conf/any-emu.rmk (pkglib_MODULES): Add usbserial_common.mod.
17423 (usbserial_common_mod_SOURCES): New variable.
17424 (usbserial_common_mod_CFLAGS): Likewise.
17425 (usbserial_common_mod_LDFLAGS): Likewise.
17426 (pkglib_MODULES): Add usbserial_pl2303.mod.
17427 (usbserial_pl2303_mod_SOURCES): New variable.
17428 (usbserial_pl2303_mod_CFLAGS): Likewise.
17429 (usbserial_pl2303_mod_LDFLAGS): Likewise.
17430 (pkglib_MODULES): Add usbserial_ftdi.mod.
17431 (usbserial_ftdi_mod_SOURCES): New variable.
17432 (usbserial_ftdi_mod_CFLAGS): Likewise.
17433 (usbserial_ftdi_mod_LDFLAGS): Likewise.
17434 (pkglib_MODULES): Add serial.mod.
17435 (serial_mod_SOURCES): New variable.
17436 (serial_mod_CFLAGS): Likewise.
17437 (serial_mod_LDFLAGS): Likewise.
17438 * conf/i386-pc.rmk: Likewise.
17439 * conf/mips-yeeloong.rmk: Likewise.
17440 * conf/i386.rmk (serial_mod_SOURCES): Add term/ns8250.c.
17441 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
17442 * disk/usbms.c (first_available_slot): New variable.
17443 (grub_usbms_attach): Don't reuse free slots due to potential cache
17444 problems.
17445 * include/grub/serial.h: Moved to ..
17446 * include/grub/ns8250.h: ...this.
17447 * include/grub/serial.h: New file.
17448 * include/grub/term.h (grub_term_poll_usb): New variable.
17449 * include/grub/terminfo.h (grub_terminfo_input_state): Pass term to
17450 readkey. All users updated.
17451 (grub_terminfo_output_state): Pass term to put.
17452 * include/grub/usb.h (GRUB_USB_REQTYPE): New enum.
17453 (grub_usb_controller_dev): Add timeout and actual arguments to
17454 transfer. All users updated.
17455 (grub_usb_interface): New field detach_data.
17456 (grub_usb_device): New fields children and nports.
17457 (grub_usb_ep_type_t): New type.
17458 (grub_usb_get_ep_type): New function.
17459 (grub_usb_bulk_read_extended): Likewise.
17460 * include/grub/usbdesc.h (grub_usb_desc): New type.
17461 * include/grub/usbserial.h: New file.
17462 * include/grub/usbtrans.h (grub_usb_transaction): New field preceding.
17463 * kern/term.c (grub_term_poll_usb): New variable.
17464 (grub_getkey): Call grub_term_poll_usb if set.
17465 (grub_checkkey): Likewise.
17466 (grub_getkeystatus): Likewise.
17467 * term/serial.c: Moved controller-specific parts to ...
17468 * term/ns8250.c: ... here.
17469 * term/serial.c: Mostly rewritten.
17470 * term/usb_keyboard.c: Reorganised to use GET_REPORT only on attaching
17471 according to spec.
17472
21a313de
RM
174732010-08-20 Robert Millan <rmh@gnu.org>
17474
17475 Make kFreeBSD code more generic to support ext2fs as root, ufs as
17476 a separate module and maybe other interesting combinations.
17477
17478 * util/grub.d/10_kfreebsd.in (load_kfreebsd_module): New function.
17479 (kfreebsd_entry): Use load_kfreebsd_module() to load modules.
17480 (kfreebsd_entry): Add generic filesystem module load routine.
17481 Map GRUB `ext2' to kFreeBSD `ext2fs'.
17482
63c734a6
CW
174832010-08-20 Colin Watson <cjwatson@ubuntu.com>
17484
17485 * commands/i386/pc/sendkey.c (keysym_table): Rename "numlock" to
17486 "numcenter" (I misunderstood the purpose of this entry).
17487 * docs/grub.texi (sendkey): Likewise.
17488
c4d16542
CW
174892010-08-20 Colin Watson <cjwatson@ubuntu.com>
17490
17491 * commands/i386/pc/sendkey.c (options): Remove "keep" from all
17492 status flag options; simply omitting the option is equivalent and
17493 simpler. Rename "wait" to "pause". Rename "sysreq" to "sysrq".
17494 (keysym_table): Rename "num5numlock" to "numlock".
17495 (grub_cmd_sendkey): Reinitialise `andmask' and `ormask', so that we
17496 can uniformly say that only the last of multiple `sendkey'
17497 invocations has any effect.
17498 * docs/grub.texi (sendkey): New section.
17499
93541d66
CW
175002010-08-19 Colin Watson <cjwatson@ubuntu.com>
17501
17502 * commands/i386/pc/sendkey.c (options): Fix three typos.
17503
b4ece5e1
VS
175042010-08-19 Vladimir Serbinenko <phcoder@gmail.com>
17505
17506 Implement sendkey support.
17507
17508 * commands/i386/pc/sendkey.c: New file.
17509 * conf/i386-pc.rmk (pkglib_MODULES): Add sendkey.mod.
17510 (sendkey_mod_SOURCES): New variable.
17511 (sendkey_mod_CFLAGS): Likewise.
17512 (sendkey_mod_LDFLAGS): Likewise.
17513
51f1f5af
CW
175142010-08-18 Colin Watson <cjwatson@ubuntu.com>
17515
17516 * configure.ac: Move AM_INIT_AUTOMAKE after AC_CANONICAL_TARGET to
17517 fix warnings from Autoconf.
17518
9da94e05
CW
175192010-08-18 Colin Watson <cjwatson@ubuntu.com>
17520
17521 * acinclude.m4 (grub_ASM_USCORE): Use a more accurate grep pattern,
17522 to avoid false positives with some assemblers that output things
17523 like "someprefix_func" as part of their output.
17524
729a0f2e
RM
175252010-08-15 Robert Millan <rmh@gnu.org>
17526
17527 * kern/emu/misc.c (grub_get_libzfs_handle): Handle libzfs_init()
17528 errors.
17529 * kern/emu/getroot.c (find_root_device_from_libzfs): Handle
17530 grub_get_libzfs_handle() errors.
17531
f3710e08
RM
175322010-08-14 Robert Millan <rmh@gnu.org>
17533
17534 * kern/emu/misc.c (grub_find_zpool_from_dir): Abort function if
17535 filesystem is not ZFS.
17536
7a3c13de
BC
175372010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17538
17539 Fix for misspelled color names defaulting to black/black (bug
17540 reported by Doug Nazar)
17541
17542 * include/grub/normal.h (grub_parse_color_name_pair): Add return
17543 status to prototype.
17544 * normal/color.c (grub_parse_color_name_pair): Return failure
17545 status.
17546 (grub_env_write_color_normal): Ignore bad color names.
17547 (grub_env_write_color_highlight): Likewise.
17548 * normal/main.c (GRUB_MOD_INIT): Set default color names.
17549
ab8ba50d
BC
175502010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17551
17552 "shift" command support to GRUB script.
17553
17554 * include/grub/script_sh.h (grub_script_shift): New prototype.
17555 * script/execute.c (grub_script_shift): New function.
17556 * script/main.c (grub_script_init): Register shift command.
17557 (grub_script_fini): Unregister shift command.
17558 * util/grub-script-check.c (grub_script_cmd_shift): New function.
17559
17560 * tests/grub_script_shift.in: New testcase.
17561 * conf/tests.rmk: Rules for new testcase.
17562
4d61999e
BC
175632010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17564
17565 "continue" command support to GRUB script.
17566
17567 * script/execute.c (grub_script_execute_cmdwhile): Continue support.
17568 (grub_script_break): Continue support.
17569 * script/main.c (grub_script_init): Register continue command.
17570 (grub_script_fini): Unregister continue command.
17571
17572 * tests/grub_script_continue.in: New testcase.
17573 * conf/tests.rmk: Rules for new testcase.
17574
4df51e00
BC
175752010-08-12 BVK Chaitanya <bvk@dbook>
17576
17577 "break" command support to GRUB script.
17578
17579 * conf/common.rmk: Rule updates to grub-script-check.
17580 * include/grub/misc.h (grub_min): New function.
17581 * include/grub/script_sh.h (grub_script_init): New prototype.
17582 (grub_script_fini): New prototype.
17583 (grub_script_break): New prototype.
17584 * script/main.c (grub_script_init): New function.
17585 (grub_script_fini): New function.
17586 * script/execute.c (grub_script_break): New function.
17587 * normal/main.c: Calls to grub_script_{init,fini}.
17588 * util/grub-script-check.c (grub_script_break): New function.
17589
17590 * tests/grub_script_break.in: New testcase.
17591 * conf/tests.rmk: Rules for new test case.
17592
f12c8420
BC
175932010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17594
17595 Function parameters support to GRUB script.
17596
17597 * script/yylex.l (VARIABLE): Regular expression update.
17598 * script/function.c (grub_script_function_call): Moved ...
17599 * script/execute.c (grub_script_function_call): ... to here.
17600 (grub_script_execute_arglist_to_argv): Removed.
17601 (grub_script_arglist_to_argv): New function.
17602 * script/argv.c: New file.
17603 (grub_script_argv_free): New function.
17604 (grub_script_argv_next): Likewise.
17605 (grub_script_argv_append): Likewise.
17606 (grub_script_argv_split_append): Likewise.
17607 * include/grub/script_sh.h (grub_script_argv): New struct.
17608 (grub_script_argv_free): New function.
17609 (grub_script_argv_next): Likewise.
17610 (grub_script_argv_append): Likewise.
17611 (grub_script_argv_split_append): Likewise.
17612
17613 * conf/common.rmk (normal.mod): New source script/argv.c.
17614
17615 * tests/grub_script_echo1.in: More tests.
17616 * tests/grub_script_vars1.in: Likewise.
17617 * tests/grub_script_functions.in: New test case.
17618 * conf/tests.rmk: Rules for new testcase.
17619
8022b748
BC
176202010-08-12 BVK Chaitanya <bvk.groups@gmail.com>
17621
17622 Remove grub_script_cmdblock struct.
17623
17624 * include/grub/script_sh.h: Remove grub_script_cmdblock.
17625 * script/parser.y: Likewise.
17626 * script/execute.c: Rename cmdblock suffix to cmdlist.
17627 * script/script.c: Likewise.
17628 * util/grub-script-check.c: Likewise.
17629
79a6ba61
YB
176302010-08-11 Yves Blusseau <blusseau@zetam.org>
17631
17632 * .bzrignore: add grub-macho2img
17633
d04b9414
VS
176342010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
17635
17636 * kern/i386/qemu/init.c (grub_qemu_init_cirrus): Fix compilation error.
17637
f947ab49
VS
176382010-08-11 Vladimir Serbinenko <phcoder@gmail.com>
17639
17640 Remove the dump of sm712 initialisation sequence.
17641
17642 * include/grub/pci.h (GRUB_PCI_CLASS_SUBCLASS_VGA): New const.
17643 * include/grub/vga.h (GRUB_VGA_IO_ARX_READ): New register.
17644 (GRUB_VGA_IO_MISC_WRITE): Likewise.
17645 (GRUB_VGA_CR_*): Added many registers.
17646 (GRUB_VGA_SR_*): Likewise.
17647 (GRUB_VGA_GR_*): Likewise.
17648 (grub_vga_write_arx): New function.
17649 (grub_video_hw_config): New struct.
17650 (grub_vga_set_geometry): New function.
17651 * kern/i386/qemu/init.c (load_palette): Use grub_vga_write_arx and
17652 GRUB_PCI_CLASS_SUBCLASS_VGA.
17653 * video/cirrus.c (grub_video_cirrus_setup): Use grub_vga_set_geometry.
17654 * video/sm712.c (grub_sm712_write_reg): New function
17655 (grub_sm712_read_reg): Likewise.
17656 (grub_sm712_sr_write): Likewise.
17657 (grub_sm712_gr_write): Likewise.
17658 (grub_sm712_cr_write): Likewise.
17659 (grub_sm712_write_arx): Likewise.
17660 (grub_sm712_cr_shadow_write): Likewise.
17661 (grub_sm712_write_dda_lookup): Likewise.
17662 (grub_video_sm712_setup): Initialise the video rather then
17663 blindly replay the dump.
17664 (main) [TEST]: Add a routine to be able to compile as standalone for
17665 tests.
17666 * video/sm712_init.c (sm712_init): Removed.
17667 (sm712_sr_seq1): New array.
17668 (sm712_sr_seq2): Likewise.
17669
f0206638
VS
176702010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
17671
17672 * include/grub/vga.h: Add missing grub/pci.h include.
17673
2764da3b
YB
176742010-08-10 Yves Blusseau <blusseau@zetam.org>
17675
17676 * util/grub-macho2img.c (main): fix typo
17677
cf0c775e
VS
176782010-08-10 Vladimir Serbinenko <phcoder@gmail.com>
17679
17680 * include/grub/vga.h (grub_vga_gr_write): Add GRUB_MACHINE_PCI_IO_BASE.
17681 (grub_vga_gr_read): Likewise.
17682 (grub_vga_cr_write): Likewise.
17683 (grub_vga_cr_read): Likewise.
17684 (grub_vga_sr_write): Likewise.
17685 (grub_vga_sr_read): Likewise.
17686 (grub_vga_palette_read): Likewise.
17687 (grub_vga_palette_write): Likewise.
17688 * video/sm712.c (GRUB_SM712_REG_BASE): New definition.
17689 (grub_sm712_sr_read): New function.
17690 (grub_video_sm712_setup): Use grub_vga_sr_write and grub_sm712_sr_read.
17691 * video/sm712_init.c (sm712_init): Substract GRUB_MACHINE_PCI_IO_BASE.
17692
07f360e9
RM
176932010-08-09 Robert Millan <rmh@gnu.org>
17694
17695 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Filter
17696 out unused variables on non-ZFS build.
17697
346c2072
RM
176982010-08-08 Robert Millan <rmh@gnu.org>
17699
17700 Fix path generation for sub-filesystems in ZFS.
17701
17702 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): Add
17703 missing slash.
17704
71175420
RM
177052010-08-08 Robert Millan <rmh@gnu.org>
17706
17707 * util/grub-fstest.c (read_file, cmd_cmp): Improve error message.
17708
0d8286f3
RM
177092010-08-08 Robert Millan <rmh@gnu.org>
17710
17711 * util/grub.d/10_kfreebsd.in: When files required for ZFS do not
17712 exist, issue a proper error message (rely on `ls' for translated
17713 strings).
17714
55dd2924
RM
177152010-08-08 Robert Millan <rmh@gnu.org>
17716
17717 Fix grub-probe invocation.
17718
17719 * util/grub.d/10_kfreebsd.in: s/label/fs_label/g.
17720
d3dd9e80
RM
177212010-08-04 Robert Millan <rmh@gnu.org>
17722
17723 * configure.ac: Remove checks for getfsstat() and getmntany().
17724 Add checks for `<sys/param.h>' and `<sys/mount.h>'.
17725 * kern/emu/misc.c [HAVE_GETMNTANY]: Remove `<sys/mnttab.h>'.
17726 [HAVE_SYS_PARAM_H]: Include `<sys/param.h>'.
17727 [HAVE_SYS_MOUNT_H]: Include `<sys/mount.h>'.
17728 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_mount_point_from_dir): Remove
17729 function.
17730 (grub_find_zpool_from_dir): Use statfs() instead of indirect matching
17731 via find_mount_point_from_dir() and getfsstat() / getmntany().
17732
0de22aa9
RM
177332010-08-04 Robert Millan <rmh@gnu.org>
17734
17735 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
17736 (grub_find_zpool_from_mount_point): Merge into ...
17737 (grub_find_zpool_from_dir): ... this.
17738 * kern/emu/misc.c: Likewise.
17739
17740 * kern/emu/misc.c
17741 (grub_make_system_path_relative_to_its_root): Replace
17742 grub_find_mount_point_from_dir() / grub_find_zpool_from_mount_point()
17743 with grub_find_zpool_from_dir().
17744 * kern/emu/getroot.c (find_root_device_from_libzfs): Likewise.
17745
62858144
RM
177462010-08-04 Robert Millan <rmh@gnu.org>
17747
17748 Support OpenSolaris in ZFS device resolution.
17749
17750 * configure.ac: Check for getmntany().
17751 * kern/emu/misc.c [HAVE_GETMNTANY]: Include `<sys/mnttab.h>'.
17752 [HAVE_GETMNTANY] (grub_find_zpool_from_mount_point): Add OpenSolaris
17753 support.
17754
9dd6fd50
RM
177552010-08-03 Robert Millan <rmh@gnu.org>
17756
17757 Fix grub-emu build.
17758
17759 * include/grub/util/misc.h: Move `<grub/util/libzfs.h>' to ...
17760 * include/grub/emu/misc.h: ... here.
17761
17762 * include/grub/util/misc.h (grub_get_libzfs_handle): Move function ...
17763 * include/grub/emu/misc.h (grub_get_libzfs_handle): ... here.
17764
17765 * util/misc.c: Remove `<grub/util/libzfs.h>'.
17766 [HAVE_LIBZFS] (libzfs_handle, fini_libzfs)
17767 (grub_get_libzfs_handle): Move to ...
17768 * kern/emu/misc.c [HAVE_LIBZFS] (__libzfs_handle, fini_libzfs)
17769 (grub_get_libzfs_handle): ... here.
17770
c9f7ff97
BC
177712010-08-03 BVK Chaitanya <bvk.groups@gmail.com>
17772
17773 * script/execute.c (grub_script_execute_cmdline): Check for NULL
17774 as command name case.
17775
a870a783
CW
177762010-08-02 Colin Watson <cjwatson@ubuntu.com>
17777
17778 * disk/raid.c (insert_array): Select unique numbers for named arrays
17779 as well, for use as keys in the disk cache.
17780
c7db243b
RM
177812010-08-01 Robert Millan <rmh@gnu.org>
17782
17783 * util/grub.d/10_kfreebsd.in: Initialize ${kfreebsd_device} as the
17784 kFreeBSD device name, except on ZFS where the filesystem label is
17785 used.
17786 (kfreebsd_entry): On ZFS root, load `opensolaris.ko', `zfs.ko' and
17787 `/boot/zfs/zpool.cache'.
17788 Set mountfrom kernel variable using ${kfreebsd_device}.
17789
f7abdefb
RM
177902010-08-01 Robert Millan <rmh@gnu.org>
17791
17792 Make it even harder to use uninitialized `libzfs_handle' (and
17793 make the interface a bit simpler).
17794
17795 * include/grub/util/misc.h (grub_util_init_libzfs)
17796 (libzfs_handle): Remove.
17797 (grub_get_libzfs_handle): New prototype.
17798
17799 * util/misc.c [HAVE_LIBZFS] (libzfs_handle): Add `static'
17800 attribute.
17801 (grub_util_init_libzfs): Remove.
17802 (grub_get_libzfs_handle): New function.
17803
17804 * kern/emu/getroot.c (find_root_device_from_libzfs): Use
17805 grub_get_libzfs_handle() to obtain a libzfs handle instead of
17806 accessing `libzfs_handle' directly.
17807
c882acc0
RM
178082010-08-01 Robert Millan <rmh@gnu.org>
17809
17810 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
17811 (grub_find_zpool_from_mount_point): New function prototypes.
17812
17813 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
17814 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
17815
17816 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
17817 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
17818 `static' attribute.
17819
17820 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
17821 finding zpool from mount point into ...
17822 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
17823
17824 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
17825 requested path is part of a ZFS pool, use
17826 grub_find_zpool_from_mount_point() to detect its filesystem name,
17827 and generate a path with `/fsname@path' syntax.
17828
8bfe31d8
CW
178292010-08-01 Colin Watson <cjwatson@ubuntu.com>
17830
17831 * include/grub/util/libzfs.h (libzfs_init): Set argument list to
17832 (void) rather than () so that this is a proper prototype.
17833
553df63d
VS
178342010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
17835
17836 * lib/arg.c (grub_arg_show_help): Add the necessary spacing.
17837
8687cf07
VS
178382010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
17839
17840 * kern/emu/getroot.c (find_mount_point_from_dir): Compile only if
17841 [HAVE_LIBZFS && HAVE_LIBNVPAIR]
17842
ea9be8ea
CW
178432010-08-01 Colin Watson <cjwatson@ubuntu.com>
17844
17845 * util/grub-mkrescue.in: Remove ${efi_dir} after building efi.img.
17846
6eea041a
CW
178472010-08-01 Colin Watson <cjwatson@ubuntu.com>
17848
17849 * script/yylex.l (NAME): Remove [:digit:], redundant with [:alnum:].
17850
2cfb45df
CW
178512010-08-01 Colin Watson <cjwatson@ubuntu.com>
17852
17853 * docs/grub.texi (Simple configuration): Document GRUB_CMDLINE_XEN
17854 and GRUB_CMDLINE_XEN_DEFAULT. Recommend setting
17855 GRUB_GFXPAYLOAD_LINUX=text rather than unsetting it in order to
17856 disable gfxpayload.
17857 (Shell-like scripting): Add real content.
17858 (Serial terminal): Suggest `terminal_input serial; terminal_output
17859 serial' rather than putting the two commands on separate lines,
17860 since console input will be inoperative after the first command.
17861 (menuentry): Document --class, --users, and --hotkey options.
17862 (terminfo): Describe what `visually-ordered UTF-8' means (thanks,
17863 Vladimir Serbinenko).
17864
7decd202
VS
178652010-08-01 Vladimir Serbinenko <phcoder@gmail.com>
178662010-08-01 Colin Watson <cjwatson@ubuntu.com>
17867
17868 * kern/misc.c (grub_memset): Optimise to reduce cache stalls.
17869
c882acc0
RM
178702010-08-01 Robert Millan <rmh@gnu.org>
17871
17872 * include/grub/emu/misc.h (grub_find_mount_point_from_dir)
17873 (grub_find_zpool_from_mount_point): New function prototypes.
17874
17875 * kern/emu/getroot.c [HAVE_GETFSSTAT]: Move `<sys/mount.h>' to ...
17876 * kern/emu/misc.c [HAVE_GETFSSTAT]: ... here.
17877
17878 * kern/emu/getroot.c (find_mount_point_from_dir): Move to ...
17879 * kern/emu/misc.c (grub_find_mount_point_from_dir): ... this. Remove
17880 `static' attribute.
17881
17882 * kern/emu/getroot.c (find_root_device_from_libzfs): Split code for
17883 finding zpool from mount point into ...
17884 * kern/emu/misc.c (grub_find_zpool_from_mount_point): ... this.
17885
17886 * kern/emu/misc.c (grub_make_system_path_relative_to_its_root): When
17887 requested path is part of a ZFS pool, use
17888 grub_find_zpool_from_mount_point() to detect its filesystem name,
17889 and generate a path with `/fsname@path' syntax.
17890
deb0caa3
RM
178912010-08-01 Robert Millan <rmh@gnu.org>
17892
17893 Prevent accidental use of uninitialized libzfs_handle.
17894
17895 * util/grub-probe.c (main): Move grub_util_init_libzfs() call to ...
17896 * kern/emu/getroot.c (find_root_device_from_libzfs): ... here.
17897 * util/misc.c (grub_util_init_libzfs): Make this function idempotent.
17898
ce04ef47
CW
178992010-08-01 Colin Watson <cjwatson@ubuntu.com>
17900
17901 * util/grub.d/20_linux_xen.in: Don't use UUID for LVM root (matching
17902 util/grub.d/10_linux.in). Fixes Debian bug #591093.
17903
ebf53056
RM
179042010-08-01 Robert Millan <rmh@gnu.org>
17905
17906 * kern/emu/getroot.c: Include `<grub/util/misc.h>'.
8687cf07 17907
3710bb6b
RM
179082010-07-31 Robert Millan <rmh@gnu.org>
17909
17910 * util/grub.d/10_kfreebsd.in: Make module handling more generic.
17911
8072efeb
RM
179122010-07-31 Robert Millan <rmh@gnu.org>
17913
17914 * kern/emu/misc.c: Add missing license header.
17915
3169f4c7
RM
179162010-07-31 Robert Millan <rmh@gnu.org>
17917
17918 * configure.ac: Check for `libzfs.h' and `libnvpair.h'.
17919
17920 * include/grub/util/libnvpair.h: Include `<config.h>'.
17921 [HAVE_LIBNVPAIR_H]: Include `<libnvpair.h>' instead of
17922 declaring libnvpair prototypes ourselves.
17923 * include/grub/util/libzfs.h: Include `<config.h>'.
17924 [HAVE_LIBZFS_H]: Include `<libzfs.h>' instead of
17925 declaring libzfs prototypes ourselves.
17926
17927 (libzfs_handle): Moved to ...
17928 * include/grub/util/misc.h (libzfs_handle): ... here.
17929 Include `<grub/util/libzfs.h>'.
17930
c9a00aee
RM
179312010-07-30 Robert Millan <rmh@gnu.org>
17932
17933 * include/grub/emu/misc.h: Add missing license header.
17934
a184f9c8
RM
179352010-07-30 Robert Millan <rmh@gnu.org>
17936
17937 Enable `grub-probe -t device' resolution on ZFS.
17938
17939 * configure.ac: Check for getfsstat(), libzfs and libnvpair.
17940 * include/grub/util/libnvpair.h: New file.
17941 * include/grub/util/libzfs.h: New file.
17942
17943 * kern/emu/getroot.c: Include `<assert.h>' and `<error.h>'.
17944 [HAVE_LIBZFS && HAVE_LIBNVPAIR]: Include `<grub/util/libzfs.h>' and
17945 `<grub/util/libnvpair.h>'.
17946 [HAVE_GETFSSTAT]: Include `<sys/mount.h>'.
17947
17948 (find_mount_point_from_dir): New static function.
17949 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (find_root_device_from_libzfs): New
17950 function.
17951 [HAVE_LIBZFS && HAVE_LIBNVPAIR] (grub_guess_root_device): Use
17952 find_root_device_from_libzfs() before ressorting to find_root_device().
17953
17954 * include/grub/util/misc.h (grub_util_init_libzfs): New function
17955 prototype.
17956 * util/misc.c: Include `<grub/util/libzfs.h>'.
17957 (grub_util_init_libzfs): New function.
17958 [HAVE_LIBZFS] (libzfs_handle): New global variable.
17959 [HAVE_LIBZFS] (fini_libzfs): New static function.
17960 (grub_util_init_libzfs): New function.
17961 * util/grub-probe.c (main): Call grub_util_init_libzfs().
17962
f7790cdd
RM
179632010-07-30 Robert Millan <rmh@gnu.org>
17964
17965 * include/grub/emu/misc.h (grub_make_system_path_relative_to_its_root)
17966 (xmalloc, xrealloc, xstrdup, xasprintf): Add
17967 `warn_unused_result' attribute.
17968 * include/grub/misc.h (grub_strdup, grub_strndup, grub_strlen)
17969 (grub_xasprintf, grub_xvasprintf): Likewise.
17970 * include/grub/emu/misc.h (xasprintf): Remove duplicate prototype.
17971
0806b63c
RM
179722010-07-29 Robert Millan <rmh@gnu.org>
17973
17974 * util/grub-probe.c (PRINT_FS_LABEL): New enum value.
17975 (probe): Handle `PRINT_FS_LABEL'.
17976 (main): Handle `-t fs_label'.
17977
9f841f5c
RM
179782010-07-29 Robert Millan <rmh@gnu.org>
17979
17980 * configure.ac: Remove grub-mkisofs checks.
17981
46371121
VS
179822010-07-28 Vladimir Serbinenko <phcoder@gmail.com>
17983
17984 * util/ieee1275/grub-install.in: Don't use empty grub_device.
17985 Reported by: Lennart Sorensen.
17986
179872010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
17988
17989 * util/grub.d/00_header.in: Remove compatibility with terminal.mod
17990 prior to terminal_input/terminal_output separation. It's been over 1.5
17991 years and those versions weren't widely deployed.
17992
a9600892
CW
179932010-07-22 Colin Watson <cjwatson@ubuntu.com>
17994
17995 * disk/raid.c (insert_array): Don't count named arrays when looking
17996 for unused array numbers.
697e053c 17997 Reported and tested by: Michael Guntsche.
a9600892 17998
c03507df
CW
179992010-07-20 Colin Watson <cjwatson@ubuntu.com>
18000
18001 * bus/usb/emu/usb.c (grub_usb_poll_devices): Add a dummy
18002 implementation of this so that grub-emu links again, with a note
18003 that this should support hotplugging in the future.
18004
b26f1c11
CW
180052010-07-20 Colin Watson <cjwatson@ubuntu.com>
18006
18007 * kern/emu/getroot.c (grub_util_get_grub_dev): Use xasprintf.
18008
efc9d7f1
CW
180092010-07-20 Colin Watson <cjwatson@ubuntu.com>
18010
18011 * disk/loopback.c (grub_cmd_loopback): Don't leak a grub_file_t
18012 handle on failure.
18013 (grub_loopback_close): Remove empty function.
18014 (grub_loopback_dev): Remove close method.
18015
dd8ff5c9
CW
180162010-07-20 Colin Watson <cjwatson@ubuntu.com>
18017
18018 Disable EFI cursor when the EFI console becomes inactive.
18019
18020 * term/efi/console.c (grub_efi_console_init): New function.
18021 (grub_efi_console_fini): New function.
18022 (grub_console_term_output): Register init and fini methods.
18023
5e3bec67
VS
180242010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18025
18026 * tests/util/grub-shell-tester.in: Remove bashism and declare as
18027 sh script.
18028
afaec079
VS
180292010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18030
18031 * disk/loopback.c (grub_loopback): Replace filename with file.
18032 (delete_loopback): Handle new semantics.
18033 (grub_cmd_loopback): Likewise.
18034 (grub_loopback_iterate): Likewise.
18035 (grub_loopback_close): Likewise.
18036
a6a11f3c
VS
180372010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18038
18039 * util/i386/efi/grub-install.in: Revert to platform-specific behaviour
18040 with -p "".
18041 Reported by: Tito Keitel.
18042
64a638b0
VS
180432010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18044
18045 * docs/grub.texi (Naming convention): Document new naming convention.
18046
ab8ba957
VS
180472010-07-20 Vadim Solomin <vadic052@gmail.com>
180482010-07-20 Colin Watson <cjwatson@ubuntu.com>
18049
18050 Generate device.map in something closer to the old ordering.
18051
18052 * util/deviceiter.c (struct device): New declaration.
18053 (compare_file_names): Rename to ...
18054 (compare_devices): ... this. Sort by kernel name in preference to
18055 the stable by-id name, but keep the latter as a fallback comparison.
18056 Update header comment.
18057 (grub_util_iterate_devices) [__linux__]: Construct and sort an array
18058 of `struct device' rather than of plain file names.
18059
a29d6a4b
TF
180602010-07-20 Thomas Frauendorfer <Thomas.Frauendorfer@googlemail.com>
18061
18062 * lib/i386/relocator_asm.S [! __x86_64__]: Don't try to disable amd64
18063 on i386.
18064
39d824e8
VS
180652010-07-20 Vladimir Serbinenko <phcoder@gmail.com>
18066
18067 * commands/acpi.c (setup_common_tables): Use sizeof instead of
18068 hardcoding size.
18069 (setv1table): Likewise.
18070
f058276b
FZ
180712010-07-20 Colin Watson <cjwatson@ubuntu.com>
18072
18073 * disk/raid.c (insert_array): Use md/%s to name mdadm 1.x devices,
18074 removing the homehost if present.
18075 * kern/emu/getroot.c (get_mdadm_name) [__linux__]: New function.
18076 (grub_util_get_grub_dev): Use md/%s to name mdadm 1.x devices,
18077 removing the homehost if present.
18078 (grub_util_get_grub_dev) [__linux__]: Get the array name from mdadm
18079 if possible.
18080 * util/i386/pc/grub-setup.c (main): Handle md/* devices.
18081
18082 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Add start_sector
18083 parameter. Set its pointer target to 0.
18084 * disk/mdraid_linux.c (grub_mdraid_detect): Add start_sector
18085 parameter. Set its pointer target to 0 for 0.9 metadata, or to the
18086 `data_offset' value from the superblock for 1.x metadata.
18087 * disk/raid.c (grub_raid_read): Offset reads by the start sector of
18088 data on the device.
18089 (insert_array): Record the start sector of data on the device.
18090 (grub_raid_register): Pass start_sector parameters to
18091 grub_raid_list->detect and insert_array.
18092 * include/grub/raid.h (struct grub_raid_array): Add start_sector
18093 member.
18094 (struct grub_raid): Add start_sector parameter to `detect'.
18095
18096 * disk/mdraid_linux.c (struct grub_raid_super_1x): Remove
18097 __attribute__ ((packed)), leaving a comment.
18098 (grub_mdraid_detect): Split out 0.9 and 1.x detection to ...
18099 (grub_mdraid_detect_09): ... here and ...
18100 (grub_mdraid_detect_1x): ... here.
18101
181022010-07-20 Peter Henn <peter.henn@web.de>
18103
18104 * disk/mdraid_linux.c (grub_mdraid_detect): Fix calculation of 1.x
18105 chunk size and disk size, which are already given as sector counts
18106 as distinct from the 0.90 units. Fetch the correct device number
18107 from the role table instead of using the table index.
18108
181092010-07-20 Felix Zielcke <fzielcke@z-51.de>
18110
18111 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Set array->name to NULL.
18112 * disk/mdraid_linux.c (grub_raid_super_1x): New structure.
18113 (WriteMostly1): New macro.
18114 Set array->name to NULL for metadata format 0.90. Add support for
18115 metadata 1.x. Fix some comments.
18116 * disk/raid.c (): Add support for name based RAID arrays. Fix a
18117 few comments.
18118 * util/getroot.c (grub_util_get_grub_dev): Add support for
18119 /dev/md/name style devices.
18120
4b761da9
CW
181212010-07-20 Colin Watson <cjwatson@ubuntu.com>
18122
18123 * .bzrignore: Ignore 20_linux_xen.
18124
5771289a
CW
181252010-07-17 Colin Watson <cjwatson@ubuntu.com>
18126
18127 * util/import_unicode.py: Remove unnecessary imports.
18128
5dab68df
AN
181292010-07-17 Aleš Nesrsta <starous@volny.cz>
18130
18131 Hotplugging and USB hub support.
18132
18133 * bus/usb/ohci.c (grub_ohci_td): Add convenience fields.
18134 (grub_ohci): Likewise.
18135 (GRUB_OHCI_REG_CONTROL_BULK_ENABLE): New definition.
18136 (GRUB_OHCI_REG_CONTROL_CONTROL_ENABLE): Likewise.
18137 (GRUB_OHCI_RESET_CONNECT_CHANGE): Likewise.
18138 (GRUB_OHCI_CTRL_EDS): Likewise.
18139 (GRUB_OHCI_BULK_EDS): Likewise.
18140 (GRUB_OHCI_TDS): Likewise.
18141 (GRUB_OHCI_ED_ADDR_MASK): Likewise.
18142 (grub_ohci_ed_phys2virt): New function.
18143 (grub_ohci_virt_to_phys): Likewise.
18144 (grub_ohci_td_phys2virt): Likewise.
18145 (grub_ohci_td_virt2phys): Likewise.
18146 (grub_ohci_pci_iter): Allocate memory and don't wait for stable
18147 attachment.
18148 (grub_ohci_find_ed): New function.
18149 (grub_ohci_alloc_td): Likewise.
18150 (grub_ohci_free_td): Likewise.
18151 (grub_ohci_free_tds): Likewise.
18152 (grub_ohci_transfer): Use previously allocated memory.
18153 (grub_ohci_portstatus): Reset status changed bit.
18154 (grub_ohci_detect_dev): Supply status changed.
18155 (grub_ohci_fini_hw): Free memory.
18156 (grub_ohci_restore_hw): Reallocate memory.
18157 * bus/usb/uhci.c (grub_uhci_portstatus): Don't reset on disable.
18158 Reset status change.
18159 (grub_uhci_detect_dev): Supply status_change.
18160 * bus/usb/usb.c (attach_hooks): New var.
18161 (grub_usb_device_attach): New function.
18162 (grub_usb_register_attach_hook_class): Likewise.
18163 (grub_usb_unregister_attach_hook_class): Likewise.
18164 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Handle errors correctly.
18165 (grub_usb_add_hub): Reset connection changed bit.
18166 (attach_root_port): New function.
18167 (grub_usb_root_hub): Likewise.
18168 (poll_nonroot_hub): Likewise.
18169 (grub_usb_poll_devices): Likewise.
18170 * commands/usbtest.c (grub_cmd_usbtest): Poll devices before listing.
18171 * disk/usbms.c (grub_usbms_open): Use device hooks.
18172 (grub_usbms_iterate) :Poll devices.
18173 (grub_usbms_finddevs): Split into ...
18174 (grub_usbms_attach): ... this ...
18175 (grub_usbms_attach): ... and this.
18176 * include/grub/usb.h (grub_usb_controller_dev): Supply status_changed
18177 in detect_dev.
18178 (grub_usb_interface): New fields attached and detach_hook.
18179 (grub_usb_attach_hook_class): New type.
18180 (grub_usb_attach_desc): New struct.
18181 (grub_usb_register_attach_hook_class): New function.
18182 (grub_usb_unregister_attach_hook_class): Likewise.
18183 (grub_usb_poll_devices): Likewise.
18184 (grub_usb_device_attach): Likewise.
18185 * include/grub/usbtrans.h (GRUB_USB_HUB_FEATURE_C_CONNECTED): New const.
18186 (GRUB_USB_HUB_STATUS_C_CONNECTED): Likewise.
18187
3222efaf
VS
181882010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
18189
18190 * include/grub/bsdlabel.h (GRUB_PC_PARTITION_BSD_LABEL_WHOLE_DISK_PARTITION): New definition.
18191 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Use FreeBSD
18192 delta determination style. Works with most NetBSD partitions too.
18193
139b714a
VS
181942010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
18195
18196 * kern/partition.c [GRUB_UTIL]: Add missing util/misc.h inclusion.
18197 * partmap/bsdlabel.c [GRUB_UTIL]: Likewise.
18198
986aad56
VS
181992010-07-17 Vladimir Serbinenko <phcoder@gmail.com>
18200
18201 * disk/scsi.c (grub_scsi_open): Fix incorrect pointer dereference.
18202
99be513c
AB
182032010-07-14 Anton Blanchard <anton@samba.org>
18204
18205 * loader/powerpc/ieee1275/linux.c (grub_cmd_linux): Do not reject
18206 ET_DYN files.
18207
18075f62
GS
182082010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
18209
18210 * Makefile.in: Use the substituted @USE_NLS@ instead of ENABLE_NLS.
18211
8d9a5b15
GS
182122010-07-14 Grégoire Sutre <gregoire.sutre@gmail.com>
18213
18214 * kern/partition.c (grub_partition_check_containment): New function to
18215 check that a partition is physically contained in a parent. Since
18216 offsets are relative (and non-negative), this reduces to checking that
18217 the partition ends before its parent.
18218 (grub_partition_map_probe): Discard out-of-range sub-partitions.
18219 (grub_partition_iterate): Likewise.
18220 * include/grub/partition.h (grub_partition_map): Slightly more detailed
18221 comments.
18222 * partmap/bsdlabel.c (bsdlabel_partition_map_iterate): Discard
18223 partitions that start before their parent, and add debug printfs.
18224
19563c25
CW
182252010-07-13 Colin Watson <cjwatson@ubuntu.com>
18226
18227 * Makefile.in (.SUFFIX): Spell correctly, as ...
18228 (.SUFFIXES): ... this. Fixes bug where `make foo' (where foo is a
18229 bare module name without `.mod', e.g. `test') tried to invoke a
18230 Modula-2 compiler.
18231
1a1f1e67
CW
182322010-07-13 Colin Watson <cjwatson@ubuntu.com>
18233
18234 * README: Point to the Info manual.
18235
811b0dca
JS
182362010-07-13 Jiro SEKIBA <jir@unicus.jp>
18237
18238 * fs/nilfs2.c: fix macro NILFS_2ND_SUPER_BLOCK to calculate
18239 2nd superblock position from partition size.
18240
e4f4eafc
CW
182412010-07-10 Colin Watson <cjwatson@ubuntu.com>
18242
18243 * Makefile.in (MAINTAINER_CLEANFILES): Remove
18244 unicode/UnicodeData.txt, unicode/BidiMirroring.txt, and
18245 unicode/ArabicShaping.txt again; these are inputs to autogen.sh, not
18246 outputs.
18247
4274c30f
VS
182482010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18249
18250 Restructure SCSI .id handling.
18251 Reported and tested by: Aleš Nesrsta.
18252
18253 * disk/ata.c (grub_atapi_close): Removed. All users updated.
18254 (grub_atapi_dev): Changed .name to "ata". New field .id.
18255 * disk/usbms.c (grub_usbms_close): Removed. All users updated.
18256 (grub_usbms_dev): New field .id.
18257 * disk/scsi.c (grub_scsi_iterate): Generate name.
18258 (grub_scsi_open): Parse name.
18259 * include/grub/scsi.h (grub_make_scsi_id): New function.
18260 (grub_scsi_dev): Change iterate and open to number instead of naming
18261 busses. All users updated.
18262 (grub_scsi): Remove name. Add .bus.
18263
5bc24388
VS
182642010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18265
18266 * commands/help.c (grub_cmd_help): Fix a typo.
18267
249975ba
VS
182682010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18269
18270 * normal/term.c (put_glyphs_terminal): Fix state->num_lines counting.
18271 Reported and tested by: Colin Watson.
18272
3eaac1a1
VS
182732010-07-10 Vladimir Serbinenko <phcoder@gmail.com>
18274
18275 * util/grub-mkrescue.in: Don't use tar GNU-ism since it's not necessary
18276 in this context.
18277
becce1b1
VS
182782010-07-07 Vladimir Serbinenko <phcoder@gmail.com>
18279
18280 * tests/util/grub-shell.in: Remove bashisms and declare as sh script.
18281
f7bf0918
CW
182822010-07-07 Colin Watson <cjwatson@ubuntu.com>
18283
18284 * term/gfxterm.c (grub_gfxterm_background_image_cmd): Fix
18285 indentation.
18286
0b0f9620
CW
182872010-07-06 Colin Watson <cjwatson@ubuntu.com>
18288
18289 * conf/common.rmk (grub_probe_SOURCES): Add disk/raid5_recover.c
18290 and disk/raid6_recover.c.
18291 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
18292 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
18293
1e545469
CW
182942010-07-06 Colin Watson <cjwatson@ubuntu.com>
18295
18296 * term/gfxterm.c (repaint_schedulded): Rename to ...
18297 (repaint_scheduled): ... this. Update all callers.
18298 (repaint_was_schedulded): Rename to ...
18299 (repaint_was_scheduled): ... this. Update all callers.
18300
5357687a
CW
183012010-07-06 Colin Watson <cjwatson@ubuntu.com>
18302
18303 * util/deviceiter.c (grub_util_iterate_devices): Skip MD devices,
18304 which we expect to be handled by upper layers.
18305
29d7e783
BC
183062010-07-06 BVK Chaitanya <bvk.groups@gmail.com>
18307
18308 * bus/usb/usbhub.c: #include time.h header.
18309
37582066
CW
183102010-07-06 Colin Watson <cjwatson@ubuntu.com>
18311
18312 * fs/reiserfs.c (grub_reiserfs_iterate_dir): Zero out first byte of
18313 entry_name also for entries without stat blocks (e.g. ".."); fixes
18314 corruption of the first entry in a directory.
18315
c8c06953
CW
183162010-07-06 Colin Watson <cjwatson@ubuntu.com>
18317
18318 * util/grub.d/00_header.in: Process GRUB_THEME and GRUB_BACKGROUND
18319 after setting gfxterm as the active terminal. GRUB_BACKGROUND
18320 doesn't work otherwise.
18321
e75056f1
CW
183222010-07-05 Colin Watson <cjwatson@ubuntu.com>
18323
18324 * docs/grub.texi (Features): Update list of supported file systems.
18325 (GNU/Linux): Update for GRUB 2.
18326 (Serial terminal): Remove mention of --disable-serial, which was a
18327 GRUB Legacy configure option. Update instructions to use
18328 `terminal_input' and `terminal_output' rather than `terminal'.
18329 (Vendor power-on keys): Copy-edit. Add cross-references to `Simple
18330 configuration' and `Installing GRUB using grub-install'.
18331 (Menu entry editor): Update for GRUB 2.
18332 (terminfo): Add vt100-color, ieee1275, and dumb terminal types.
18333 Document new -a, -u, and -v options.
18334 (initrd): New section.
18335 (initrd16): New section.
18336 (linux): New section.
18337 (linux16): New section.
18338 (search): The `var' argument to `--set' is optional.
18339 (GRUB only offers a rescue shell): Go into a little more detail on
18340 drive ordering.
18341
5cf69151
CW
183422010-07-05 Colin Watson <cjwatson@ubuntu.com>
18343
18344 * Makefile.in: Set LINGUAS to empty if ENABLE_NLS is undefined.
18345
e3f90044
CW
183462010-07-05 Colin Watson <cjwatson@ubuntu.com>
18347
18348 * Makefile.in (MAINTAINER_CLEANFILES): Add unicode/UnicodeData.txt,
18349 unicode/BidiMirroring.txt, unicode/ArabicShaping.txt, and unidata.c.
18350
38d8f4f3
CW
183512010-07-05 Colin Watson <cjwatson@ubuntu.com>
18352
18353 * util/i386/pc/grub-setup.c (setup): Rename prefix to
18354 install_prefix, in line with install_dos_part and install_bsd_part.
18355 Add new prefix variable, which is copied to install_prefix after
18356 comparing core.img in memory with the one read from disk in the
18357 no-embedding case, and use that rather than overwriting
18358 install_prefix immediately when installing to a partition.
18359 Fixes Debian bug #586621; based on patches by Matt Kraai and M. Vefa
18360 Bicakci.
18361
57ebd41e
GS
183622010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
18363
18364 * configure.ac: Avoid == in test command, it's not portable.
18365 * util/grub.d/30_os-prober.in: Likewise.
18366
cb7f64b2
CW
183672010-07-04 Colin Watson <cjwatson@ubuntu.com>
18368
18369 * kern/emu/getroot.c [__GNU__]: Include <sys/mman.h> for munmap.
18370
6b654bb0
GS
183712010-07-04 Grégoire Sutre <gregoire.sutre@gmail.com>
18372
18373 * util/i386/pc/grub-setup.c (setup): Do not embed when there are
18374 multiple (top-level) partmaps.
18375
72a2026d
VS
183762010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18377
18378 * util/i386/efi/grub-install.in: Don't use empty grub_device.
fcda2a1f 18379 Reported by: Tino Keitel.
72a2026d 18380
df3eb88f
VS
183812010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18382
18383 Bidi and diacritics support.
18384
18385 * Makefile.in (widthspec.bin): New target.
18386 (widthspec.h): Likewise.
18387 (TARGET_CFLAGS): Add -DHAVE_UNIFONT_WIDTHSPEC=1 if font was available.
18388 * autogen.sh: Generate unidata.c.
18389 * commands/cat.c (grub_cmd_cat): Don't use grub_putchar.
18390 * commands/ls.c (grub_ls_list_devices): Likewise.
18391 (grub_ls_list_files): Likewise.
18392 * commands/minicmd.c (grub_mini_cmd_cat): Likewise.
18393 (grub_mini_cmd_lsmod): Likewise.
18394 * commands/read.c: Likewise.
18395 * kern/corecmd.c (grub_core_cmd_ls): Likewise.
18396 * kern/rescue_reader.c (grub_rescue_read_line): Likewise.
18397 * lib/arg.c (grub_arg_show_help): Likewise.
18398 * lib/crypto.c (grub_password_get): Likewise.
18399 * normal/auth.c (grub_username_get): Likewise.
18400 * normal/misc.c (grub_normal_print_device_info): Likewise.
18401 * commands/help.c (grub_cmd_help): Use grub_unicode_aglomerate_comb.
18402 * conf/common.rmk (grub_mkfont_SOURCES): Add unidata.c.
18403 (gfxmenu_mod_SOURCES): Add gfxmenu/font.c.
18404 (normal/charset.c_DEPENDENCIES): New variable.
18405 (normal_mod_SOURCES): Add normal/charset.c and unidata.c.
18406 (pkglib_MODULES): Remove charset.mod.
18407 (charset_mod_SOURCES): Removed.
18408 (charset_mod_CFLAGS): Likewise.
18409 (charset_mod_LDFLAGS): Likewise.
18410 (pkglib_MODULES) [ieee1275]: Remove terminfo.mod.
18411 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Add term/terminfo.c
18412 and term/tparm.c.
18413 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
18414 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
18415 (kernel_img_HEADERS): Add terminfo.h.
18416 * font/font.c (ascii_glyph_lookup): Return NULL on failure.
18417 Fill ->font. Reverse ascii bitmaps.
18418 (grub_font_get_xheight): New function.
18419 * font/font.c (grub_font_get_string_width): Moved from here ...
18420 * gfxmenu/font.c (grub_font_get_string_width): ... here.
18421 * font/font.c (grub_font_draw_string): Moved from here ...
18422 * gfxmenu/font.c (grub_font_draw_string): ... here.
18423 * font/font.c (grub_font_dup_glyph): New function.
18424 (grub_font_blit_glyph): Likewise.
18425 (grub_font_blit_glyph_mirror): Likewise.
18426 (blit_comb): Likewise.
18427 (grub_font_construct_dry_run): Likewise.
18428 (grub_font_get_constructed_device_width): Likewise.
18429 (grub_font_construct_glyph): Likewise.
18430 * include/grub/charset.h (grub_ucs4_to_utf8): New proto.
18431 * include/grub/misc.h (grub_utf8_to_ucs4): Moved from here ...
18432 * include/grub/charset.h (grub_utf8_to_ucs4): ... here.
18433 * include/grub/font.h (GRUB_FONT_CODE_CHAR_MASK): New constant.
18434 (GRUB_FONT_CODE_RIGHT_JOINED): Likewise.
18435 (GRUB_FONT_CODE_LEFT_JOINED): Likewise.
18436 (grub_font_get_xheight): New proto.
18437 (grub_font_get_constructed_device_width): Likewise.
18438 (grub_font_construct_glyph): Likewise.
18439 * include/grub/font.h (grub_font_get_string_width): Moved from here ...
18440 * include/grub/gfxmenu_view.h (grub_font_get_string_width): ... here.
18441 * include/grub/font.h (grub_font_draw_string): Moved from here ...
18442 * include/grub/gfxmenu_view.h (grub_font_draw_string): ... here.
18443 * include/grub/i386/vga_common.h (grub_console_putchar): Moved from here..
18444 * include/grub/i386/pc/console.h (grub_console_putchar): ... here.
18445 * include/grub/i386/vga_common.h (grub_console_real_putchar): Removed.
18446 (grub_console_getcharwidth): Likewise.
18447 * include/grub/misc.h (grub_xputs): New proto.
18448 (grub_puts): Inlined.
18449 * include/grub/normal.h (grub_print_ucs4): Add margin specification.
18450 (grub_normal_get_line_counter): Removed.
18451 (grub_install_newline_hook): Likewise.
18452 (grub_normal_get_char_counter): New proto.
18453 (grub_normal_reset_more): Likewise.
18454 (grub_xputs_normal): Likewise.
18455 * include/grub/powerpc/ieee1275/console.h: Removed.
18456 * include/grub/sparc64/ieee1275/console.h: Likewise.
18457 * include/grub/term.h (GRUB_TERM_CODE_TYPE_MASK): New definition.
18458 (GRUB_TERM_CODE_TYPE_ASCII): Likewise.
18459 (GRUB_TERM_CODE_TYPE_CP437): Likewise.
18460 (GRUB_TERM_CODE_TYPE_UTF8_LOGICAL): Likewise.
18461 (GRUB_TERM_CODE_TYPE_UTF8_VISUAL): Likewise.
18462 (GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS): Likewise.
18463 (grub_term_input): Pass reference to self. All users updated.
18464 (grub_term_output): Pass grub_unicode_glyph to putchar and getcharwidth.
18465 Pass reference to self. New fields normal_color, highlight_color and
18466 data. All users updated.
18467 (grub_putchar): Removed.
18468 (grub_putcode): Remove EXPORT_FUNC since it's not in kernel anymore.
18469 (grub_unicode_estimate_width): New function.
18470 (grub_term_getcharwidth): Add defaults.
18471 (GRUB_TERM_DEFAULT_NORMAL_COLOR): New definition.
18472 (GRUB_TERM_DEFAULT_HIGHLIGHT_COLOR): Likewise.
18473 (GRUB_TERM_DEFAULT_STANDARD_COLOR): Likewise.
18474 (grub_cls): Remove EXPORT_FUNC.
18475 (grub_setcolorstate): Inline.
18476 (grub_newline_hook): Removed.
18477 * include/grub/terminfo.h: Rewritten. All users updated.
18478 * include/grub/unicode.h: New file.
18479 * include/grub/video.h (grub_video_signed_rect): New type.
18480 * kern/emu/console.c (grub_console_highlight_color): Removed.
18481 (grub_console_normal_color): Likewise.
18482 (grub_console_standard_color): Made static.
18483 (grub_ncurses_putchar): Remove mapping.
18484 (grub_ncurses_getcharwidth): Removed.
18485 (grub_ncurses_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
18486 (grub_ncurses_setcolor): Removed.
18487 (grub_ncurses_getcolor): Likewise.
18488 * kern/i386/pc/startup.S (grub_console_real_putchar): Renamed to ...
18489 (grub_console_putchar): ... this.
18490 (grub_console_putchar): Handle argument difference.
18491 * kern/ieee1275/init.c (grub_machine_init): Split console_init into
18492 console_init_early and console_init_lately.
18493 * kern/sparc64/ieee1275/init.c (grub_machine_init): Likewise.
18494 * kern/misc.c (grub_puts): Removed.
18495 (grub_vprintf): Store UTF-8 string instead of outputting it directly.
18496 (grub_vsnprintf_real): Remove str = NULL support.
18497 * kern/misc.c (grub_utf8_to_ucs4): Move from here ...
18498 * normal/charset.c (grub_utf8_to_ucs4): ... here.
18499 * kern/term.c (grub_putcode): Renamed to ...
18500 (grub_putcode_dumb): ... this. Pass grub_unicode_glyph instead of code.
18501 (grub_putchar): Removed.
18502 (grub_xputs_dumb): New function.
18503 (grub_xputs): New variable.
18504 * lib/charset.c: Move from here ...
18505 * normal/charset.c: ... to here.
18506 (grub_ucs4_to_utf8): New function.
18507 (grub_ucs4_to_utf8_alloc): Use grub_ucs4_to_utf8.
18508 (join_types): New variable.
18509 (unpack_join): New function.
18510 (bidi_types): New variable.
18511 (unpack_bidi): New function.
18512 (get_bidi_type): Likewise.
18513 (get_join_type): Likewise.
18514 (is_mirrored): Likewise.
18515 (grub_unicode_get_comb_type): Likewise.
18516 (grub_unicode_estimate_width) [HAVE_UNIFONT_WIDTHSPEC]: Likewise.
18517 (is_type_after): Likewise.
18518 (grub_unicode_aglomerate_comb): Likewise.
18519 (bidi_line_wrap): Likewise.
18520 (grub_bidi_line_logical_to_visual): Likewise.
18521 (grub_bidi_logical_to_visual): Likewise.
18522 (grub_unicode_mirror_code): Likewise.
18523 (grub_unicode_shape_code): Likewise.
18524 * normal/cmdline.c (grub_cmdline_get): Reset more counter.
18525 Don't use grub_putchar.
18526 * normal/main.c (grub_normal_init_page): Use grub_putcode.
18527 (grub_normal_reader_init): Likewise.
18528 (grub_xputs_saved): New variable.
18529 (GRUB_MOD_INIT): Set grub_xputs.
18530 (GRUB_MOD_FINI): Restore grub_xputs.
18531 * normal/menu.c (grub_wait_after_message): Don't use grub_putchar.
18532 (menu_init): Avoid printing gfxmenu error.
18533 (show_menu): Use grub_normal_get_char_counter.
18534 * normal/menu_entry.c (update_screen): Fix out-of-array.
18535 (complete): Avoid NULL dereferencing.
18536 * grub_menu_entry_run (grub_menu_entry_run): Don't use putchar.
18537 * normal/menu_text.c (print_spaces): Removed.
18538 (grub_print_ucs4): Likewise.
18539 (grub_print_message_indented): Use grub_print_ucs4.
18540 (print_message): Use grub_putcode.
18541 (print_entry): Hanlde diacritics.
18542 * normal/term.c (term_state): New type.
18543 (grub_more_lines): Removed.
18544 (term_states): New variable.
18545 (grub_normal_line_counter): Renamed to ..
18546 (grub_normal_char_counter): ...this. All users updated.
18547 (grub_normal_get_line_counter): Renamed to ...
18548 (grub_normal_get_char_counter): ... this.
18549 (grub_normal_reset_more): New function.
18550 (process_newline): Removed.
18551 (print_more): New function.
18552 (grub_install_newline_hook): Removed.
18553 (map_code): New function.
18554 (grub_puts_terminal): Use grub_print_ucs4.
18555 (putglyph): New function.
18556 (putcode_real): Likewise.
18557 (grub_putcode): Use putcode_real.
18558 (get_maxwidth): New function.
18559 (get_startwidth): Likewise.
18560 (print_ucs4_terminal): Likewise.
18561 (find_term_state): Likewise.
18562 (put_glyphs_terminal): Likewise.
18563 (print_backlog): Likewise.
18564 (print_ucs4_real): Likewise.
18565 (grub_print_ucs4): Likewise.
18566 (grub_xputs_normal): Likewise.
18567 * term/efi/console.c (grub_console_putchar): Output diacritics.
18568 (grub_console_getcharwidth): Removed.
18569 (grub_console_term_output): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
18570 * term/gfxterm.c (clear_char): Free chars.
18571 (scroll_up): Avoid leaking memory.
18572 (grub_gfxterm_putchar): Support diacritics.
18573 (grub_video_term): Declare as GRUB_TERM_CODE_TYPE_UCS4_VISUAL.
18574 * term/i386/pc/console.c (grub_console_term_output): Declare as
18575 GRUB_TERM_CODE_TYPE_VGA.
18576 * term/i386/pc/vga.c (grub_vga_term): Declare as
18577 GRUB_TERM_CODE_TYPE_VISUAL_GLYPHS.
18578 * term/i386/pc/vga_text.c (grub_vga_text_term): Declare as
18579 GRUB_TERM_CODE_TYPE_VGA.
18580 * term/i386/vga_common.c (map_char): Removed.
18581 (grub_console_putchar): Likewise.
18582 (grub_console_getcharwidth): Likewise.
18583 * term/ieee1275/ofconsole.c: Simplify using terminfo.
18584 (colors): Reordered to match terminfo.
18585 (grub_ofconsole_normal_color): Removed.
18586 (grub_ofconsole_writeesc): Likewise.
18587 (grub_ofconsole_highlight_color): Likewise.
18588 (grub_ofconsole_getcharwidth): Likewise.
18589 (grub_ofconsole_setcolorstate): Likewise.
18590 (grub_ofconsole_setcolor): Likewise.
18591 (grub_ofconsole_getcolor): Likewise.
18592 (grub_ofconsole_readkey): Renamed to ...
18593 (readkey): ... this. Remove escape sequence handling. Return -1 on no
18594 key.
18595 (grub_ofconsole_checkkey): Removed.
18596 (grub_ofconsole_getkey): Likewise.
18597 (grub_ofconsole_getxy): Likewise.
18598 (grub_ofconsole_gotoxy): Likewise.
18599 (grub_ofconsole_cls): Likewise.
18600 (grub_ofconsole_refresh): Likewise.
18601 (grub_ofconsole_terminfo_input): New struct.
18602 (grub_ofconsole_terminfo_output): Likewise.
18603 (grub_ofconsole_term_input): Use terminfo.
18604 (grub_ofconsole_term_output): Likewise.
18605 (grub_console_init): Split into ...
18606 (grub_console_init_early): ...this and ...
18607 (grub_console_init_lately): ...this. Use terminfo.
18608 (grub_ofconsole_putchar): Renamed to ...
18609 (put): ... this. Remove mapping.
18610 (grub_ofconsole_term_output): Declare as GRUB_TERM_CODE_TYPE_ASCII.
18611 * term/serial.c: Simplify using terminfo.
18612 (xpos): Removed.
18613 (ypos): Likewise.
18614 (keep_track): Likewise.
18615 (registered): Likewise.
18616 (input_buf): Likewise.
18617 (npending): Likewise.
18618 (serial_translate_key_sequence): Likewise.
18619 (fill_input_buf): Likewise.
18620 (grub_serial_checkkey): Likewise.
18621 (grub_serial_getkey): Likewise.
18622 (grub_serial_getxy): Likewise.
18623 (grub_serial_gotoxy): Likewise.
18624 (grub_serial_putchar): Likewise.
18625 (grub_serial_cls): Likewise.
18626 (grub_serial_setcolorstate): Likewise.
18627 (grub_serial_setcursor): Likewise.
18628 (serial_hw_init): Use serial_hw_fetch.
18629 (grub_serial_terminfo_input): New variable.
18630 (grub_serial_terminfo_output): Likewise.
18631 (grub_serial_term_input): Use terminfo.
18632 (grub_serial_term_output): Likewise.
18633 * term/terminfo.c (putstr): Use put.
18634 (grub_terminfo_all_free): New function
18635 (grub_terminfo_set_current): New types vt100-color, ieee1275 and dumb.
18636 (grub_terminfo_output_register): New function.
18637 (grub_terminfo_output_unregister): Likewise.
18638 (grub_terminfo_getxy): Likewise.
18639 (grub_terminfo_readkey): Likewise.
18640 (grub_terminfo_checkkey): Likewise.
18641 (grub_terminfo_getkey): Likewise.
18642 (grub_terminfo_input_init): Likewise.
18643 (print_terminfo): Likewise.
18644 (grub_cmd_terminfo): Handle encoding.
18645 (grub_terminfo_gotoxy): Track position.
18646 (grub_terminfo_cls): Likewise.
18647 (grub_terminfo_putchar): Likewise.
18648 (grub_terminfo_setcolorstate): Handle colors
18649 (grub_terminfo_cursor_on): This ...
18650 (grub_terminfo_cursor_off): ... and this merged into ...
18651 (grub_terminfo_setcursor): ... this.
18652 * term/tparm.c (grub_terminfo_tparm): Avoid NULL dereferencing.
18653 * unicode/ArabicShaping.txt: New file (imported from Unicode).
18654 * unicode/BidiMirroring.txt: Likewise.
18655 * unicode/UnicodeData.txt: Likewise.
18656 * unicode/COPYING: Likewise.
18657 * util/grub-editenv.c (grub_putchar): Removed.
18658 (grub_xputs_real): New function.
18659 (grub_xputs): New variable.
18660 * util/grub-fstest.c (grub_putchar): Removed.
18661 (grub_xputs_real): New function.
18662 (grub_xputs): New variable.
18663 * util/grub-mkdevicemap.c (grub_putchar): Removed.
18664 (grub_xputs_real): New function.
18665 (grub_xputs): New variable.
18666 * util/grub-probe.c (grub_putchar): Removed.
18667 (grub_xputs_real): New function.
18668 (grub_xputs): New variable.
18669 * util/grub-script-check.c (grub_putchar): Removed.
18670 (grub_xputs_real): New function.
18671 (grub_xputs): New variable.
18672 * util/i386/pc/grub-setup.c (grub_putchar): Removed.
18673 (grub_xputs_real): New function.
18674 (grub_xputs): New variable.
18675 * util/import_unicode.py: New file.
18676 * util/grub-mkfont.c (ft_errmsgs): New array.
18677 (grub_glyph_info): Make bitmap a pointer.
18678 (file_formats): New type WIDTH_SPEC.
18679 (grub_font_info): New members glyphs_unsorted, glyphs_sorted, num_glyphs.
18680 (options): Add width-spec.
18681 (help): Likewise.
18682 (add_char): Renamed to ...
18683 (add_glyph): ... this.
18684 (add_glyph): Use index. Show freetype errors. Cut blank space at borders.
18685 (glyph_replace): New type.
18686 (subst_rightjoin), (subst_leftjoin), (subst_medijoin): New variables.
18687 (add_char): New function.
18688 (add_subst): Likewise.
18689 (process_cursive): Likewise.
18690 (add_font): Handle GSUB.
18691 (write_font_width_spec): New function.
18692 (main): Sort glyphs.
18693 * commands/minicmd.c (grub_mini_cmd_clear): Moved from here ...
18694 * normal/main.c (grub_mini_cmd_clear): ..here. All users updated.
18695 * kern/term.c (grub_cls): Moved from here...
18696 * normal/term.c (grub_cls): ... here.
18697
50f0bcda
CW
186982010-07-02 Colin Watson <cjwatson@ubuntu.com>
18699
18700 * include/grub/types.h: Define the C99-style PRIxGRUB_SIZE macro,
18701 suitable for using within the format argument of printf when
18702 converting grub_size_t.
18703 * disk/usbms.c (grub_usbms_transfer): Use PRIxGRUB_SIZE rather than
18704 "x" to convert grub_size_t arguments.
18705
40372103
VS
187062010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18707
18708 * gfxmenu/gui_list.c (draw_menu): Use viewport to simplify code and fix
18709 too long captions.
18710 (list_get_minimal_size): Take selection box into account.
18711
942a10c7
VS
187122010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18713
18714 * font/font.c (grub_font_get_glyph_with_fallback): Avoid dereferencing
18715 NULL font.
18716
2bdb2892
CW
187172010-07-02 Colin Watson <cjwatson@ubuntu.com>
18718
18719 * util/deviceiter.c (grub_util_iterate_devices): Skip device-mapper
18720 devices when iterating over /dev/disk/by-id; they will be handled
18721 later if appropriate, which they aren't always (e.g. LVM).
18722
e03ed6c1
CW
187232010-07-02 Colin Watson <cjwatson@ubuntu.com>
18724
18725 * include/grub/misc.h (grub_reboot): Declare as noreturn.
18726 * kern/efi/efi.c (grub_reboot): Don't return, even if reset_system
18727 fails.
18728 (grub_halt): Likewise.
18729 * kern/ieee1275/openfw.c (grub_reboot): Don't return, even if
18730 reset-all fails.
18731 (grub_halt): Don't return, even if all of shut-down, power-off, and
18732 poweroff fail.
18733
47695765
CW
187342010-07-02 Colin Watson <cjwatson@ubuntu.com>
18735
18736 * kern/efi/init.c (grub_efi_init): set_watchdog_timer takes four
18737 arguments, not three.
18738
507736c8
CW
187392010-07-02 Colin Watson <cjwatson@ubuntu.com>
18740
18741 * util/grub-mkconfig_lib.in (uses_abstraction): New function.
18742 * util/grub.d/10_linux.in: Use it to check for LVM, so that
18743 LVM-on-RAID is handled correctly.
18744
e3c8cd37
CW
187452010-07-02 Colin Watson <cjwatson@ubuntu.com>
18746
18747 * docs/grub.texi (Changes from GRUB Legacy): New section.
18748 (Future): Fix typo.
18749
8d4a2fec
CW
187502010-07-02 Colin Watson <cjwatson@ubuntu.com>
18751
18752 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Sometimes
18753 grub.d/README accidentally ends up executable for one reason or
18754 another. Ignore it.
18755
1c4827be
VS
187562010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18757
18758 * partmap/gpt.c (MAX_SECTOR_LOG): New definition.
18759 (gpt_partition_map_iterate): Support non-512B sectors.
18760
d9a0c941
VS
187612010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18762
18763 * kern/efi/init.c (grub_efi_init): Disable watchdog.
18764 Tested by: Seth Goldberg.
18765
48f27e87
VS
187662010-07-02 Vladimir Serbinenko <phcoder@gmail.com>
18767
18768 * loader/multiboot.c (grub_multiboot_boot) [GRUB_USE_MULTIBOOT2]:
18769 Properly align mbi.
18770 Reported by: Seth Goldberg.
18771
b0c4f956
VS
187722010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
18773
18774 * util/grub-mkrescue.in: Avoid module duplication.
18775
105a2e8c
SF
187762010-07-01 Sean Finney <seanius@seanius.net>
18777
18778 * util/grub.d/10_linux.in: Don't use UUID for LVM root.
18779
5944958c
SF
187802010-07-01 Sean Finney <seanius@seanius.net>
18781
18782 * disk/lvm.c (grub_lvm_scan_device): Skip snapshots.
18783
187842010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
18785
18786 * disk/lvm.c (grub_lvm_checkvalue): New function.
18787 (grub_lvm_check_flag): Likewise.
18788
b79889ba
RM
187892010-07-01 Robert Millan <rmh@gnu.org>
18790
18791 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk):
18792 Support 'p' as partition separator on kernel of FreeBSD (used
18793 with GPT labels).
18794 (grub_util_biosdisk_get_grub_dev): Likewise.
18795
ec1d04f1
VS
187962010-07-01 Vladimir Serbinenko <phcoder@gmail.com>
18797
18798 Yeeloong firmware port.
18799
18800 * boot/mips/yeeloong/fwstart.S: New file.
18801 * bus/cs5536.c (gpiodump): New const.
18802 (set_io_space): New function.
18803 (set_iod): Likewise.
18804 (set_p2d): Likewise.
18805 (grub_cs5536_init_geode): Likewise.
18806 * commands/mips/yeeloong/lsspd.c: New file.
18807 * conf/mips-qemu-mips.rmk (pkglib_MODULES): Add serial.mod.
18808 (serial_mod_SOURCES): New variable.
18809 (serial_mod_CFLAGS): Likewise.
18810 (serial_mod_LDFLAGS): Likewise.
18811 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Add term/serial.c,
18812 term/terminfo.c and term/tparm.c.
18813 (pkglib_IMAGES): Add fwstart.img.
18814 (fwstart_img_SOURCES): New variable.
18815 (fwstart_img_CFLAGS): Likewise.
18816 (fwstart_img_ASFLAGS): Likewise.
18817 (fwstart_img_LDFLAGS): Likewise.
18818 (fwstart_img_FORMAT): Likewise.
18819 (pkglib_MODULES): Add lsspd.mod.
18820 (lsspd_mod_SOURCES): New variable.
18821 (lsspd_mod_CFLAGS): Likewise.
18822 (lsspd_mod_LDFLAGS): Likewise.
18823 (pkglib_MODULES): Add halt.mod.
18824 (halt_mod_SOURCES): New variable.
18825 (halt_mod_CFLAGS): Likewise.
18826 (halt_mod_LDFLAGS): Likewise.
18827 * conf/mips.rmk (pkglib_MODULES): Remove serial.mod.
18828 (serial_mod_SOURCES): Removed.
18829 (serial_mod_CFLAGS): Likewise.
18830 (serial_mod_LDFLAGS): Likewise.
18831 * disk/ata.c (check_device): New function.
18832 (grub_ata_device_initialize): Use check_device.
18833 (grub_ata_iterate): Recheck devices.
18834 (grub_ata_open): Likewise.
18835 (grub_atapi_iterate): Likewise.
18836 (grub_atapi_open): Likewise.
18837 * include/grub/ata.h (GRUB_ATA_CH0_PORT1): New macro.
18838 (GRUB_ATA_CH1_PORT1): Likewise.
18839 (GRUB_ATA_CH0_PORT2): Likewise.
18840 (GRUB_ATA_CH1_PORT2): Likewise.
18841 * include/grub/mips/loongson.h: New file.
18842 * include/grub/mips/yeeloong/ec.h: Likewise.
18843 * include/grub/mips/yeeloong/serial.h (GRUB_MACHINE_SERIAL_PORT): New definition.
18844 (GRUB_MACHINE_SERIAL_DIVISOR_115200): Likewise.
18845 (GRUB_MACHINE_SERIAL_PORTS) [ASM_FILE]: Remove.
18846 * include/grub/misc.h (grub_halt): Declare as noreturn.
18847 * include/grub/serial.h (UART_ENABLE_FIFO): Renamed to ...
18848 (UART_ENABLE_FIFO_TRIGGER14): ... this. All users updated.
18849 (UART_ENABLE_FIFO_TRIGGER1): New definition.
18850 (UART_ENABLE_DTRRTS): Likewise.
18851 (UART_ENABLE_MODEM): Removed.
18852 (UART_ENABLE_OUT2): New const.
18853 * include/grub/term.h (grub_term_register_input_active): New function.
18854 (grub_term_register_output_active): Likewise.
18855 * kern/mips/startup.S [GRUB_MACHINE_MIPS_YEELOONG]: Handle 0xffffffff
18856 argument.
18857 * kern/mips/yeeloong/init.c (grub_get_rtc): Macroify.
18858 (init_pci): New function.
18859 (grub_machine_init): Execute platform init when firmware. Init serial.
18860 (grub_halt): Implement.
18861 (grub_exit): Likewise.
18862 (grub_reboot): Likewise.
18863 * term/serial.c (serial_hw_init): Update macros.
18864 [GRUB_MACHINE_MIPS_YEELOONG]: Init on startup.
18865 * util/grub-mkimage.c (image_target_desc): New id IMAGE_YEELOONG_FLASH.
18866 (image_targets): New target mipsel-yeeloong-flash.
18867 (generate_image): Support IMAGE_YEELOONG_FLASH.
18868 * video/sm712.c (GRUB_SM712_TOTAL_MEMORY_SPACE): New definition.
18869 (grub_video_sm712_setup): Init card.
18870 (grub_video_sm712_set_palette): Removed.
18871 * video/sm712_init.c: New file.
18872
ff4a70d2
CW
188732010-06-30 Colin Watson <cjwatson@ubuntu.com>
18874
18875 * Makefile.in (install-local): Temporarily prepend $(builddir) to
18876 PATH when running help2man and then run it on the unadorned
18877 executable names, rather than passing $(builddir)/* paths to
18878 help2man. This avoids the build directory ending up in generated
18879 manual pages.
18880
1246efeb
CW
188812010-06-29 Colin Watson <cjwatson@ubuntu.com>
18882
18883 * util/grub-mkconfig.in: Use 'set -e' rather than '#! /bin/sh -e',
18884 to avoid accidents when debugging with 'sh -x'.
18885 * util/grub-mkrescue.in: Likewise.
18886 * util/grub.d/00_header.in: Likewise.
18887 * util/grub.d/10_hurd.in: Likewise.
18888 * util/grub.d/10_kfreebsd.in: Likewise.
18889 * util/grub.d/10_linux.in: Likewise.
18890 * util/grub.d/10_netbsd.in: Likewise.
18891 * util/grub.d/10_windows.in: Likewise.
18892 * util/grub.d/20_linux_xen.in: Likewise.
18893 * util/grub.d/30_os-prober.in: Likewise.
18894 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
18895
1ba9b889
CW
188962010-06-29 Colin Watson <cjwatson@ubuntu.com>
18897
18898 * commands/cat.c (grub_cmd_cat): Fix buffer overrun if '\r' is the
18899 last character in the buffer.
18900 Reported by: Vladimir Serbinenko.
18901
dccaf99d
RM
189022010-06-29 Robert Millan <rmh@gnu.org>
18903
18904 * docs/grub.texi (Simple configuration): Document ${GRUB_BADRAM}.
18905 (Command-line and menu entry commands): Document `badram' command.
18906
d500ed12
RM
189072010-06-28 Robert Millan <rmh@gnu.org>
18908
18909 * util/grub-mkconfig.in: Export `GRUB_BADRAM' variable.
18910 * util/grub.d/00_header.in: When `GRUB_BADRAM' is set, issue badram
18911 command using ${GRUB_BADRAM} as parameter.
18912
20bc84a6
CW
189132010-06-28 Colin Watson <cjwatson@ubuntu.com>
18914
18915 * docs/grub.texi (Device map): New section.
18916 (Themes): New section (stub).
18917 * Makefile.in (docs/grub.info): The info documentation now builds
18918 without errors. Make sure it stays that way.
18919
4045dee1
VS
189202010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
18921
18922 Use normal parser for menu entries.
18923 Reported by: Thomas Frauendorfer
18924
18925 * include/grub/parser.h (grub_parser_execute): Don't export.
18926 * normal/menu.c (grub_menu_execute_entry_real): New function.
18927 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
18928
bca58c7b
CW
189292010-06-28 Colin Watson <cjwatson@ubuntu.com>
18930
18931 * docs/grub.texi (Embedded configuration): New section (replacing
18932 old "Preset Menu" stub).
18933 (Images): New section.
18934 (configfile): Note that any menu entries defined in `file' are shown
18935 immediately.
18936
dec53e63
JT
189372010-06-28 Josh Triplett <josh@joshtriplett.org>
18938
18939 * mmap/i386/pc/mmap_helper.S: Set CF on return.
18940
c06e40f7
CW
189412010-06-28 Colin Watson <cjwatson@ubuntu.com>
18942
18943 * util/grub-install.in: Add --debug-image= option.
18944
cb88052b
CW
189452010-06-28 Colin Watson <cjwatson@ubuntu.com>
18946
18947 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
18948 possible on Linux.
18949
18950 * util/deviceiter.c (check_device): Rename to ...
18951 (check_device_readable_unique): ... this. Update all callers.
18952 Maintain and check a list of which devices (by canonicalized name)
18953 have already been seen.
18954 (clear_seen_devices): New function.
18955 (compare_file_names) [__linux__]: New function.
18956 (grub_util_iterate_devices): Clear the list of seen devices on exit
18957 and (just in case) on entry.
18958 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
18959 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
18960 seen-devices list, superseded by general code in check_device.
18961
bbe34652
CW
189622010-06-28 Colin Watson <cjwatson@ubuntu.com>
18963
18964 * commands/cat.c (options): New variable.
18965 (grub_cmd_cat): Parse options. If the --dos option is given, print
18966 DOS-style "\r\n" line endings as simple newlines (Debian bug
18967 #586358).
18968 (GRUB_MOD_INIT): Use extcmd.
18969 (GRUB_MOD_FINI): Likewise.
18970 * docs/grub.texi (cat): Document --dos.
18971
412e09f3
VS
189722010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
18973
18974 XEN with Linux grub-mkconfig support.
18975
18976 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
18977 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
18978 GRUB_CMDLINE_XEN_DEFAULT.
18979 * util/grub.d/20_linux_xen.in: New file.
18980
53f3ef38 189812010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
18982
18983 Initialise VGA video on qemu ourselves.
18984
18985 * boot/i386/qemu/boot.S: Don't call 0xc000.
18986 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
18987 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
18988 (kernel_img_HEADERS): Add pci.h.
18989 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
18990 * configure.ac: Force unifont on qemu and yeeloong.
18991 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
18992 (grub_vga_palette_write): Use correct register.
18993 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
18994 Call grub_qemu_init_cirrus.
18995 * kern/i386/qemu/init.c: New file.
18996 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
18997
18998 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
18999
c75be4fb
PR
190002010-06-26 Pavel Roskin <proski@gnu.org>
19001
19002 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
19003 13.
19004
d8034603
CW
190052010-06-26 Colin Watson <cjwatson@ubuntu.com>
19006
19007 * docs/grub.texi (Simple configuration): Explain that
19008 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
19009 set to `true' to disable their respective recovery entries, not
19010 merely set.
19011
3fa06487
CW
190122010-06-26 Colin Watson <cjwatson@ubuntu.com>
19013
19014 Make the `source' command slightly faster.
19015
19016 * normal/main.c (grub_normal_execute): Don't re-read list files when
19017 nested.
19018
e9b29642
CW
190192010-06-23 Colin Watson <cjwatson@ubuntu.com>
19020
19021 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
19022 field position and mask size to red fields from mode_info, not
19023 green.
19024 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
19025 Remove redundant tag->common.framebuffer_type assignment.
19026 Reported by: Seth Goldberg.
19027
e726542f
CW
190282010-06-23 Colin Watson <cjwatson@ubuntu.com>
19029
19030 Sync up other versions of the Linux loader with Robert Millan's
19031 change of 2010-01-09, "Make loader output a bit more user-friendly".
19032
19033 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
19034 grub_dprintf().
19035 (grub_cmd_linux): Likewise.
19036 (grub_cmd_initrd): Likewise.
19037 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
19038 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
19039
d6e98a17
CW
190402010-06-21 Colin Watson <cjwatson@ubuntu.com>
19041
19042 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
19043 larger than MEMORY_MAP_SIZE.
19044
14d3f08e
BC
190452010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
19046
19047 Fix parallel build.
19048
19049 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
19050 dependency.
19051 * script/parser.y: #include grub_script.tab.h header.
19052
4f9613a3
VS
190532010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
19054
19055 Support >3GiB and <16MiB RAM in i386-qemu.
19056
19057 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
19058 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
19059 (grub_lower_mem): Removed.
19060 (grub_upper_mem): Likewise.
19061 (mem_size): Made static.
19062 (above_4g): New variable.
19063 (grub_machine_mmap_init): Detect small mem_size and above_4g.
19064 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
19065 support.
19066
05e51879
VS
190672010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
19068
19069 Cirrus 5446 and Bochs video cards support.
19070
19071 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
19072 video_bochs.mod
19073 (video_cirrus_mod_SOURCES): New variable.
19074 (video_cirrus_mod_CFLAGS): Likewise.
19075 (video_cirrus_mod_LDFLAGS): Likewise.
19076 (video_bochs_mod_SOURCES): Likewise.
19077 (video_bochs_mod_CFLAGS): Likewise.
19078 (video_bochs_mod_LDFLAGS): Likewise.
19079 * include/grub/vga.h: New file.
19080 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
19081 (grub_video_fb_set_page_t): New type.
19082 (grub_video_fb_setup): New prototype.
19083 (grub_video_fb_swap_buffers): Likewise.
19084 (grub_video_fb_get_info_and_fini): Likewise.
19085 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
19086 (CRTC_DATA_PORT): Likewise.
19087 (CRTC_CURSOR): Likewise.
19088 (CRTC_CURSOR_ADDR_HIGH): Likewise.
19089 (CRTC_CURSOR_ADDR_LOW): Likewise.
19090 (CRTC_CURSOR_DISABLE): Likewise.
19091 (update_cursor): Use grub_vga_cr_write.
19092 (grub_vga_text_setcursor): Likewise.
19093 * video/bochs.c: New file.
19094 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
19095 (palette): Likewise.
19096 (palette_size): Likewise.
19097 (framebuffer): New variable.
19098 (grub_video_fb_init): Use 'framebuffer'.
19099 (grub_video_fb_fini): Likewise.
19100 (grub_video_fb_get_info): Likewise.
19101 (grub_video_fb_get_palette): Likewise.
19102 (grub_video_fb_set_palette): Likewise.
19103 (grub_video_fb_set_viewport): Likewise.
19104 (grub_video_fb_get_viewport): Likewise.
19105 (grub_video_fb_map_color): Likewise.
19106 (grub_video_fb_map_rgb): Likewise.
19107 (grub_video_fb_map_rgba): Likewise.
19108 (grub_video_fb_unmap_color): Likewise.
19109 (grub_video_fb_unmap_color_int): Likewise.
19110 (grub_video_fb_fill_rect): Likewise.
19111 (grub_video_fb_blit_bitmap): Likewise.
19112 (grub_video_fb_blit_render_target): Likewise.
19113 (grub_video_fb_scroll): Likewise.
19114 (grub_video_fb_create_render_target): Likewise.
19115 (grub_video_fb_doublebuf_blit_init): Likewise.
19116 (grub_video_fb_set_active_render_target): Handle doublebuffering.
19117 (doublebuf_pageflipping_update_screen): New function.
19118 (doublebuf_pageflipping_init): Likewise.
19119 (grub_video_fb_setup): Likewise.
19120 (grub_video_fb_swap_buffers): Likewise.
19121 (grub_video_fb_get_info_and_fini): Likewise.
19122 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
19123 All users updated.
19124 (doublebuf_pageflipping_commit): Restructured into ...
19125 (doublebuf_pageflipping_set_page): ... this.
19126 (doublebuf_pageflipping_update_screen): Removed.
19127 (doublebuf_pageflipping_init): Likewise.
19128 (double_buffering_init): Likewise.
19129 (grub_video_vbe_setup): Use grub_video_fb_setup.
19130 (grub_video_vbe_swap_buffers): Removed.
19131 (grub_video_vbe_set_active_render_target): Likewise.
19132 (grub_video_vbe_get_active_render_target): Likewise.
19133 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
19134 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
19135 grub_video_fb_set_active_render_target and
19136 grub_video_fb_get_active_render_target.
19137 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
19138 (SEQUENCER_DATA_PORT): Likewise.
19139 (MAP_MASK_REGISTER): Likewise.
19140 (CRTC_ADDR_PORT): Likewise.
19141 (CRTC_DATA_PORT): Likewise.
19142 (START_ADDR_HIGH_REGISTER): Likewise.
19143 (START_ADDR_LOW_REGISTER): Likewise.
19144 (GRAPHICS_ADDR_PORT): Likewise.
19145 (GRAPHICS_DATA_PORT): Likewise.
19146 (READ_MAP_REGISTER): Likewise.
19147 (INPUT_STATUS1_REGISTER): Likewise.
19148 (INPUT_STATUS1_VERTR_BIT): Likewise.
19149 (get_map_mask): Use grub_vga_sr_read.
19150 (set_map_mask): Use grub_vga_sr_write.
19151 (set_read_map): Use grub_vga_gr_write.
19152 (set_start_address): Use grub_vga_cr_write.
19153 * video/sm712.c (framebuffer): Remove leftover fields.
19154
4321c64a
CW
191552010-06-20 Colin Watson <cjwatson@ubuntu.com>
19156
19157 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
19158 setting GRUB_VIDEO_BACKEND. Make it available as a user override
19159 instead. Replace the gfxterm backend check with a check that
19160 ${GRUB_PREFIX}/video.lst is non-empty.
19161 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
19162 again.
19163 (load_video): New generated function. Call it before loading
19164 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
19165 * util/grub.d/10_linux.in (linux_entry): Call load_video.
19166 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
19167 * docs/grub.texi (Simple configuration): Document
19168 GRUB_VIDEO_BACKEND.
19169
191702010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
19171
19172 Use video functions in linux and xnu loaders.
19173
19174 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
19175 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
19176 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
19177 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
19178 loader/i386/pc/linux.c.
19179 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
19180 (find_line_len): Removed.
19181 (find_framebuf): Likewise.
19182 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
19183 * loader/i386/efi/xnu.c: Removed.
19184 * loader/i386/pc/xnu.c: Moved from here...
19185 * loader/i386/xnu.c: ...here.
19186
19187 Enable priorities in video drivers.
19188
19189 * include/grub/video.h (grub_video_adapter_prio_t): New type.
19190 (grub_video_adapter): New field prio.
19191 (grub_video_register): Respect prio when inserting.
19192 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
19193 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
19194 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
19195 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
19196 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
19197 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
19198 * video/sm712.c (grub_video_sm712_adapter): Likewise.
19199
19200 Fix SDL driver ID.
19201
19202 * include/grub/video.h (grub_video_driver_id_t): New value
19203 GRUB_VIDEO_DRIVER_SDL.
19204 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
19205
7d24e434
CW
192062010-06-17 Colin Watson <cjwatson@ubuntu.com>
19207
19208 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
19209 argument to printf.
19210 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
19211
c88a83f6
CW
192122010-06-17 Colin Watson <cjwatson@ubuntu.com>
19213
19214 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
19215 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
19216
094dfb69
CW
192172010-06-17 Colin Watson <cjwatson@ubuntu.com>
19218
19219 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
19220 directly, and recommend grub-install instead.
19221 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
19222
2164da6b
CW
192232010-06-17 Colin Watson <cjwatson@ubuntu.com>
19224
19225 Fix i386-pc prefix handling with nested partitions (Debian bug
19226 #585068). Note that the case where the core image is booted using
19227 multiboot and relocated from its original location still requires
19228 more work.
19229
19230 * kern/i386/pc/init.c (make_install_device): If the prefix starts
19231 with "(,", fill the boot drive in between those two characters, but
19232 expect that a full partition specification including partition map
19233 names will follow.
19234 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
19235 specified, write a prefix without the drive name but including a
19236 full partition specification.
19237
044e2e60
CW
192382010-06-16 Colin Watson <cjwatson@ubuntu.com>
19239
19240 * util/grub-mkconfig.in: Ignore non-option arguments, for
19241 compatibility with older versions (before 2010-06-12) which did the
19242 same. In particular, this makes it easier to ship an update-grub
19243 wrapper which is compatible with that used with GRUB Legacy (Debian
19244 bug #586056).
19245
5591324f
GS
192462010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
19247
19248 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
19249 for manual page generation.
19250
662e24d5
GS
192512010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
19252
19253 * po/POTFILES: Remove leftover commands/handler.c.
19254
8d70754e
CW
192552010-06-14 Colin Watson <cjwatson@ubuntu.com>
19256
19257 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
19258 left this script non-functional.
19259
41160e2e
CW
192602010-06-14 Colin Watson <cjwatson@ubuntu.com>
19261
19262 * docs/man/grub-emu.h2m: New file.
19263
b5309cc1
CW
192642010-06-13 Colin Watson <cjwatson@ubuntu.com>
19265
19266 * docs/grub.texi (Commands): Document reduced command set in rescue
19267 mode.
19268 (cpuid): New section.
19269
fcb2d090
GS
192702010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
19271
19272 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
19273 new partition naming style.
19274 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
19275
96e5c556
BC
192762010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
19277
19278 Add "-o grub.iso" like cmdline options support.
19279
19280 * util/grub-install.in: Improve cmdline option parsing.
19281 * util/grub-mkconfig.in: Likewise.
19282 * util/grub-mkrescue.in: Likewise.
19283 * util/grub-reboot.in: Likewise.
19284 * util/grub-set-default.in: Likewise.
19285 * util/i386/efi/grub-install.in: Likewise.
19286 * util/ieee1275/grub-install.in: Likewise.
19287 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
19288
c16be99b
CW
192892010-06-12 Colin Watson <cjwatson@ubuntu.com>
19290
19291 * .bzrignore: Ignore 41_custom.
19292
ce08a9fb
TS
192932010-06-12 Thomas Schmitt <scdbackup@gmx.net>
19294
19295 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
19296
7beac90c
CW
192972010-06-12 Colin Watson <cjwatson@ubuntu.com>
19298
19299 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
19300 prototype declarations.
19301
19302 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
19303 generating fs, partmap, and video lists.
19304 * include/grub/fs.h (grub_fs_register): Omit prototype if
19305 GRUB_LST_GENERATOR is defined.
19306 * include/grub/partition.h (grub_partition_map_register): Likewise.
19307 * include/grub/video.h (grub_video_register): Likewise.
19308
1c8f0f8d
JM
193092010-06-12 Javier Martín <lordhabbit@gmail.com>
19310
19311 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
19312
a6085973
TS
193132010-06-12 Thomas Schmitt <scdbackup@gmx.net>
19314
19315 * util/grub-mkrescue.in: Support --xorriso argument.
19316
25c56d29
VS
193172010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
19318
19319 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
19320 Suggested by: Thomas Schmitt.
19321
e03e4b24
VS
193222010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
19323
19324 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
19325 Suggested by: Thomas Schmitt.
19326
57711df6
VS
193272010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
19328
19329 custom.cfg support.
19330
19331 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
19332 * util/grub.d/41_custom.in: New file.
19333
ee62c427
CW
193342010-06-12 Colin Watson <cjwatson@ubuntu.com>
19335
19336 * util/grub-mkrescue.in (make_image): Remove sh module, which has
19337 been merged back into normal.
19338
283af07a
CW
193392010-06-11 Colin Watson <cjwatson@ubuntu.com>
19340
19341 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
19342 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
19343
56a0d956
CW
193442010-06-11 Colin Watson <cjwatson@ubuntu.com>
19345
19346 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
19347 when generating manual pages.
19348 * docs/man/grub-bin2h.h2m: New file.
19349 * docs/man/grub-editenv.h2m: New file.
19350 * docs/man/grub-fstest.h2m: New file.
19351 * docs/man/grub-install.h2m: New file.
19352 * docs/man/grub-macho2img.h2m: New file.
19353 * docs/man/grub-mkconfig.h2m: New file.
19354 * docs/man/grub-mkdevicemap.h2m: New file.
19355 * docs/man/grub-mkfont.h2m: New file.
19356 * docs/man/grub-mkimage.h2m: New file.
19357 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
19358 * docs/man/grub-mkrelpath.h2m: New file.
19359 * docs/man/grub-mkrescue.h2m: New file.
19360 * docs/man/grub-ofpathname.h2m: New file.
19361 * docs/man/grub-pe2elf.h2m: New file.
19362 * docs/man/grub-probe.h2m: New file.
19363 * docs/man/grub-reboot.h2m: New file.
19364 * docs/man/grub-script-check.h2m: New file.
19365 * docs/man/grub-set-default.h2m: New file.
19366 * docs/man/grub-setup.h2m: New file.
19367
3a37e322
VS
193682010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
19369
19370 Use FOR_* macros instead of *_iterate whenever possible.
19371
19372 * commands/handler.c: Removed.
19373 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
19374 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
19375 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
19376 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
19377 (grub_probe_SOURCES): Remove kern/parser.c.
19378 (util/grub-script-check.c_DEPENDENCIES): Removed.
19379 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
19380 and grub_script_check_init.c.
19381 (grub_script_check_init.lst): Removed.
19382 (grub_script_check_init.h): Likewise.
19383 (grub_script_check_init.c): Likewise.
19384 (pkglib_MODULES): Remove handler.mod and sh.mod.
19385 (handler_mod_SOURCES): Removed.
19386 (handler_mod_CFLAGS): Likewise.
19387 (handler_mod_LDFLAGS): Likewise.
19388 (normal_mod_SOURCES): Remove normal/handler.c.
19389 Add script/main.c, script/script.c, script/execute.c,
19390 script/function.c, script/lexer.c, grub_script.tab.c
19391 and grub_script.yy.c.
19392 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
19393 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
19394 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
19395 (grub_setup_SOURCES): Remove kern/parser.c.
19396 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
19397 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
19398 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
19399 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
19400 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
19401 (grub_setup_SOURCES): Remove kern/parser.c.
19402 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
19403 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
19404 * include/grub/command.h (grub_command_iterate): Removed.
19405 (FOR_COMMANDS): New macro.
19406 * include/grub/dl.h (grub_dl): New member next.
19407 (grub_dl_iterate): Removed.
19408 (grub_dl_head): New variable declaration.
19409 (FOR_DL_MODULES): New macro.
19410 * include/grub/fs.h: Include list.h.
19411 (grub_fs): Make next first element.
19412 (grub_fs_list): New variable declaration.
19413 (grub_fs_register): Make inline.
19414 (grub_fs_unregister): Likewise.
19415 (grub_fs_iterate): Removed.
19416 (FOR_FILESYSTEMS): New macro.
19417 * include/grub/handler.h: Removed.
19418 * include/grub/list.h (grub_list_hook_t): Removed.
19419 (grub_list_test_t): Likewise.
19420 (grub_list_pop): Likewise.
19421 (grub_list_iterate): Likewise.
19422 (grub_list_insert): Likewise.
19423 (FOR_LIST_ELEMENTS): New macro.
19424 * include/grub/parser.h (grub_parser_class): Removed.
19425 (grub_parser_register): Likewise.
19426 (grub_parser_unregister): Likewise.
19427 (grub_parser_get_current): Likewise.
19428 (grub_parser_set_current): Likewise.
19429 (grub_register_rescue_parser): Likewise.
19430 (grub_rescue_parse_line): New function.
19431 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
19432 * include/grub/script_sh.h (grub_script_function_list): New variable
19433 declaration.
19434 (FOR_SCRIPT_FUNCTIONS): New macro.
19435 (grub_script_function_iterate): Removed.
19436 (grub_normal_parse_line): New prototype.
19437 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
19438 (FOR_DISABLED_TERM_INPUTS): Likewise.
19439 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
19440 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
19441 * include/grub/video.h (grub_video_adapter): Move 'next' to first
19442 element.
19443 (grub_video_register): Inline.
19444 (grub_video_unregister): Likewise.
19445 (grub_video_adapter_list): New variable declaration.
19446 (grub_video_iterate): Removed.
19447 (FOR_VIDEO_ADAPTERS): New macro.
19448 * kern/dl.c (grub_dl_list): Removed. All users updated.
19449 (grub_dl_iterate): Removed.
19450 * kern/fs.c (grub_fs_list): Make global.
19451 (grub_fs_register): Removed.
19452 (grub_fs_unregister): Likewise.
19453 (grub_fs_iterate): Likewise.
19454 * kern/handler.c: Removed.
19455 * kern/list.c (grub_list_pop): Removed.
19456 (grub_list_iterate): Likewise.
19457 (grub_list_insert): Likewise.
19458 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
19459 (grub_prio_list_insert): Don't use grub_list_insert.
19460 * kern/main.c (grub_register_rescue_parser): Don't call
19461 grub_register_rescue_parser.
19462 * kern/parser.c (grub_parser_class): Removed.
19463 (grub_parser_execute): Use grub_rescue_parse_line.
19464 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
19465 (grub_rescue_parser): Removed.
19466 (grub_register_rescue_parser): Likewise.
19467 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
19468 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
19469 (grub_auth_check_authentication): Likewise.
19470 * normal/completion.c (iterate_command): Removed.
19471 (grub_normal_do_completion): Use FOR_COMMANDS.
19472 * normal/handler.c: Removed.
19473 * normal/main.c (read_config_file): Remove parser changing.
19474 (grub_normal_execute): Don't call read_handler_list.
19475 (grub_normal_read_line_real): Statically allocate prompt.
19476 (grub_cmdline_run): Use grub_normal_parse_line.
19477 (GRUB_MOD_FINI): Don't call free_handler_list.
19478 * normal/menu_entry.c (run): Likewise.
19479 * script/function.c (grub_script_function_list): Make global.
19480 (grub_script_function_iterate): Removed.
19481 * script/main.c (grub_normal_parse_line): Make global.
19482 (grub_sh_parser): Removed.
19483 (GRUB_MOD_INIT): Likewise.
19484 (GRUB_MOD_FINI): Likewise.
19485 * tests/lib/functional_test.c (grub_functional_test): Use
19486 FOR_LIST_ELEMENTS.
19487 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
19488 (grub_test_run): Use FOR_LIST_ELEMENTS.
19489 * tests/lib/unit_test.c (main): Likewise.
19490 * util/deviceiter.c (grub_util_iterate_devices): Don't use
19491 grub_list_pop.
19492 * util/grub-fstest.c (grub_term_input_class): Removed.
19493 (grub_term_output_class): Likewise.
19494 * util/grub-probe.c: Likewise.
19495 * util/i386/pc/grub-setup.c: Likewise.
19496 * util/sparc64/ieee1275/grub-setup.c: Likewise.
19497 * util/grub-script-check.c (main): Don't call grub_init_all and
19498 grub_fini_all.
19499 * video/video.c (grub_video_adapter_list): Make global.
19500 (grub_video_register): Removed.
19501 (grub_video_unregister): Likewise.
19502 (grub_video_iterate): Likewise.
19503
6289c3a7
VS
195042010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
19505
19506 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
19507 reported by Henrique Ferreiro.
19508
91460247
RM
195092010-06-09 Robert Millan <rmh@gnu.org>
19510
19511 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
19512 ones, when both are available.
19513
0ea7c4f9
GS
195142010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
19515
19516 Make --version uniform and avoid hard-coded program name.
19517
19518 * util/grub-mkimage.c (main): Use `program_name' instead of
19519 hard-coded string.
19520 * util/i386/pc/grub-setup.c (main): Likewise.
19521 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
19522 * util/grub-install.in: Save the basename of $0 in $self, and use the
19523 latter in informational messages. Use the same format for --version
19524 as the binary programs.
19525 * util/grub-mkconfig.in: Likewise.
19526 * util/grub-mkrescue.in: Likewise.
19527 * util/grub-reboot.in: Likewise.
19528 * util/grub-set-default.in: Likewise.
19529 * util/i386/efi/grub-install.in: Likewise.
19530 * util/ieee1275/grub-install.in: Likewise.
19531 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
19532
e8a6f3b6
GS
195332010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
19534
19535 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
19536 embedding area. Use <= instead of == when checking for non-emptiness.
19537
f4d095d7
GS
195382010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
19539
19540 * configure.ac: Add `.' to the directories searched for unifont.
19541
50e532ca
CW
195422010-06-08 Colin Watson <cjwatson@ubuntu.com>
19543
19544 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
19545 grub_script.yy.h.
19546
d39f3dec
CW
195472010-06-08 Colin Watson <cjwatson@ubuntu.com>
19548
19549 * docs/grub.texi (History): Expand to cover GRUB 2.
19550 (Serial terminal): Refer to `terminal_input' and `terminal_output'
19551 commands, not `terminal'.
19552 (serial): Likewise.
19553 (terminal_input): New section.
19554 (terminal_output): New section.
19555 (uppermem): New section (stub).
19556 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
19557
6ef0ddb4
CW
195582010-06-08 Colin Watson <cjwatson@ubuntu.com>
19559
19560 * docs/grub.texi (Security): Menu entries are unrestricted by
19561 default, not restricted to superusers as I had previously thought.
19562 Reword to account for this.
19563
e0f4c438
CW
195642010-06-07 Colin Watson <cjwatson@ubuntu.com>
19565
19566 * kern/emu/misc.c (device_mapper_null_log): New function.
19567 (grub_device_mapper_supported): New function.
19568 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
19569 prototype.
19570 * kern/emu/hostdisk.c (find_partition_start): Check whether
19571 device-mapper is supported before trying to use it.
19572 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
19573
da908200
CW
195742010-06-07 Colin Watson <cjwatson@ubuntu.com>
19575
19576 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
19577 (File name syntax): Likewise.
19578 (help): --all is no longer supported in GRUB 2. Be more precise
19579 about pattern matching.
19580
fb55c3ac
CW
195812010-06-07 Colin Watson <cjwatson@ubuntu.com>
19582
19583 * normal/completion.c (grub_normal_do_completion): When completing
19584 arguments to "set" and the current word contains an equals sign,
19585 skip to after the equals sign before starting completion.
19586
258c2573
CW
195872010-06-07 Colin Watson <cjwatson@ubuntu.com>
19588
19589 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
19590
ee75515e
CW
195912010-06-07 Colin Watson <cjwatson@ubuntu.com>
19592
19593 * docs/grub.texi (Network): New section.
19594 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
19595 `(nd)' as in GRUB Legacy.
19596 (pxe_unload): New section.
19597
a6a700aa
CW
195982010-06-07 Colin Watson <cjwatson@ubuntu.com>
19599
19600 * docs/grub.texi (Troubleshooting): `echo' is not usually available
19601 in the rescue shell, so recommend using `set' instead. Thanks,
19602 Jordan Uggla.
19603
4003dd38
CW
196042010-06-07 Colin Watson <cjwatson@ubuntu.com>
19605
19606 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
19607 (password): New section.
19608 (password_pbkdf2): New section.
19609 (search): New section.
19610 (Security): New section.
19611 (Troubleshooting): New section, currently very incomplete.
19612 (Invoking grub-mkpasswd-pbkdf2): New section.
19613 (Internals): New section, currently very incomplete.
19614
e1cbcc40
CW
196152010-06-07 Colin Watson <cjwatson@ubuntu.com>
19616
19617 * util/grub.d/00_header.in: Add some more quoting (of
19618 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
19619 work again.
19620 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
19621
db8fa1ad
CW
196222010-06-07 Colin Watson <cjwatson@ubuntu.com>
19623
19624 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
19625 to `count', fixing variable shadowing that broke the -c option.
19626
196272010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
19628
19629 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
19630 in case they contain spaces.
19631
f28a9212
CW
196322010-06-04 Colin Watson <cjwatson@ubuntu.com>
19633
19634 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
19635 "part_" to partmap module names, in line with grub-install.
19636 Reported by: Jindřich Makovička (Debian bug #584426).
19637
9cdfe32f
CW
196382010-06-04 Colin Watson <cjwatson@ubuntu.com>
19639
19640 * util/grub-mkimage.c: Make target-related error messages slightly
19641 more helpful; -O talks about "format". Explicitly point to the use
19642 of -O if no target is specified.
19643 Reported by: Didier Raboud (Debian bug #584415).
19644
795b593a
CW
196452010-06-03 Colin Watson <cjwatson@ubuntu.com>
19646
19647 * INSTALL: Document several build requirements for optional features
19648 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
19649
9d9b5833
GS
196502010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
19651
19652 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
19653 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
19654 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
19655
0819fec8
CW
196562010-06-02 Colin Watson <cjwatson@ubuntu.com>
19657
19658 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
19659 Thanks to Jordan Uggla for spotting this.
19660
49396b4f
VS
196612010-06-02 Aleš Nesrsta <starous@volny.cz>
19662
19663 Finally make USB usable.
19664
19665 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
19666 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
19667 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
19668 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
19669 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
19670 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
19671 (GRUB_OHCI_FSMPS): Likewise.
19672 (GRUB_OHCI_PERIODIC_START): Likewise.
19673 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
19674 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
19675 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
19676 (GRUB_OHCI_SET_PORT_RESET): Likewise.
19677 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
19678 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
19679 (grub_ohci_transaction): Likewise.
19680 (grub_ohci_transfer): Improve condition detection algorithms.
19681 Handle toggle property. Program the transactions correctly.
19682 Improve error handling. Various important fixups.
19683 (grub_ohci_portstatus): Put register writes in right order.
19684 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
19685 (grub_uhci_transfer): Don't show "failed" message on success.
19686 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
19687 array.
19688 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
19689 determine its size.
19690 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
19691 before initialization is completed. Use IN direction for empty
19692 transfers. Use last_trans and compute toggle.
19693 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
19694 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
19695 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
19696 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
19697 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
19698 (grub_usb_device): Increase toggle to 256.
19699 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
19700 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
19701 GRUB_USBMS_SUBCLASS_SFF8070.
19702 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
19703 (grub_scsi_inquiry): New member page and alloc_length.
19704 (grub_scsi_request_sense): New structure.
19705 (grub_scsi_request_sense_data): Likewise.
19706 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
19707 control.
19708 * disk/scsi.c (grub_scsi_request_sense): New function.
19709 (grub_scsi_test_unit_ready): Likewise.
19710 (grub_scsi_inquiry): Fill new fields.
19711 (grub_scsi_read_capacity): Likewise.
19712 (grub_scsi_read10): Add request sense at the end.
19713 (grub_scsi_read12): Likewise.
19714 (grub_scsi_write10): Likewise.
19715 (grub_scsi_write12): Likewise.
19716 (grub_scsi_open): Add Test Unit Ready.
19717 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
19718 Support additional subclasses. Con't clear halt yet. Activate the
19719 proper config. Calculate LUNs correctly.
19720 (grub_usbms_transfer): Various important fixups.
19721
197222010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
19723
19724 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
19725 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
19726 (grub_ohci_fini_hw): New function.
19727 (grub_ohci_restore_hw): Likewise.
19728 (GRUB_MOD_INIT(ohci)): Register preboot hook.
19729 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
19730 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
19731
197322010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
19733
19734 Dedicated DMA allocations.
19735
19736 * bus/pci.c (grub_memalign_dma32): New function
19737 (grub_dma_free): Likewise.
19738 (grub_dma_get_virt): Likewise.
19739 (grub_dma_get_phys): Likewise.
19740 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
19741 (grub_ohci_pci_iter): Use dma32_alloc.
19742 (grub_ohci_transfer): Likewise.
19743 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
19744 (grub_usb_bulk_readwrite): Likewise.
19745 * include/grub/pci.h: Add declarations.
19746
197472010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
19748
19749 CS5536 support.
19750
19751 * bus/cs5536.c: New file.
19752 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
19753 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
19754 (cs5536_mod_SOURCES): New variable.
19755 (cs5536_mod_CFLAGS): Likewise.
19756 (cs5536_mod_LDFLAGS): Likewise.
19757 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
19758 machine/pci.h.
19759 (kernel_img_SOURCES): Add bus/cs5536.c.
19760 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
19761 usb_keyboard.mod.
19762 (usb_mod_SOURCES): New variable.
19763 (usb_mod_CFLAGS): New variable.
19764 (usb_mod_LDFLAGS): New variable.
19765 (usbtest_mod_SOURCES): New variable.
19766 (usbtest_mod_CFLAGS): New variable.
19767 (usbtest_mod_LDFLAGS): New variable.
19768 (ohci_mod_SOURCES): New variable.
19769 (ohci_mod_CFLAGS): New variable.
19770 (ohci_mod_LDFLAGS): New variable.
19771 (usbms_mod_SOURCES): New variable.
19772 (usbms_mod_CFLAGS): New variable.
19773 (usbms_mod_LDFLAGS): New variable.
19774 (usb_keyboard_mod_SOURCES): New variable.
19775 (usb_keyboard_mod_CFLAGS): New variable.
19776 (usb_keyboard_mod_LDFLAGS): New variable.
19777 * include/grub/smbus.h: New file.
19778 * include/grub/cs5536.h: New file.
19779
0b35b2a9
CW
197802010-06-02 Colin Watson <cjwatson@ubuntu.com>
19781
19782 * util/grub.d/00_header.in: Add safety check to make sure that
19783 ${locale_dir} exists before trying to probe it.
19784
ca0afd5b
CW
197852010-06-02 Colin Watson <cjwatson@ubuntu.com>
19786
19787 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
19788 per the GNU Coding Standards; this is now too obscure to be worth
19789 documenting.
19790 (QNX): Likewise.
19791 (chainloader): Remove cross-reference to `SCO UnixWare'.
19792
1c41aa78
CW
197932010-06-02 Colin Watson <cjwatson@ubuntu.com>
19794
19795 * docs/grub.texi (Chain-loading): New section.
19796 (DOS/Windows): New section, borrowed from GRUB Legacy with details
19797 adjusted for GRUB 2.
19798 (SCO UnixWare): Likewise.
19799 (QNX): Likewise.
19800 (chainloader): Add reference to `Block list syntax'.
19801 (drivemap): New section.
19802 (parttool): New section.
19803
bb8ea0f5
CW
198042010-06-02 Colin Watson <cjwatson@ubuntu.com>
19805
19806 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
19807 the grub shell'.
19808 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
19809 (Installing GRUB using grub-install): Remove reference to the grub
19810 shell; mention `grub-mkimage' and `grub-setup' instead.
19811 (Invoking grub-install): Likewise.
19812 (Interface): Add reference to `Menu entry editor'.
19813 (serial): Remove `--device' option.
19814
288dd6ed
CW
198152010-06-02 Colin Watson <cjwatson@ubuntu.com>
19816
19817 * docs/grub.texi (Configuration): New section, documenting
19818 configuration file generation using grub-mkconfig. I've left a slot
19819 for documenting the full shell scripting format but have not yet
19820 started on writing that up.
19821 (Invoking grub-mkconfig): New section.
19822
34c9f0e9
CW
198232010-06-02 Colin Watson <cjwatson@ubuntu.com>
19824
19825 * docs/grub.texi (direntry): Remove grub-terminfo reference.
19826 (GNU GRUB manual): Likewise.
19827 (General commands): Update description of `terminfo' for GRUB 2.
19828
9121567e
CW
198292010-06-02 Colin Watson <cjwatson@ubuntu.com>
19830
19831 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
19832 (GRUB_MOD_INIT): Fix capitalisation.
19833 * docs/grub.texi (Command-line and menu entry commands): Document
19834 gettext and gptsync commands.
19835
ab631611
CW
198362010-06-02 Colin Watson <cjwatson@ubuntu.com>
19837
19838 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
19839 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
19840
bde4a9ac
CW
198412010-06-01 Colin Watson <cjwatson@ubuntu.com>
19842
19843 Add btrfs probing support, currently only in the single-device case.
19844
19845 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
19846 function.
19847 (grub_guess_root_device): Call find_root_device_from_mountinfo
19848 before looking in /dev.
19849
b1d17e10
VS
198502010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19851
19852 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
19853 GRUB_DISK_SIZE_UNKNOWN.
19854 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
19855
dfbfe004
JS
198562010-05-31 Jiro SEKIBA <jir@unicus.jp>
19857
19858 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
19859 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
19860 corrupted or not synced properly.
19861
c2ffc8e9
VS
198622010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19863
19864 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
19865 Reported by: Seth Goldberg.
19866
56293166
VS
198672010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19868
19869 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
19870 addition of dest.
19871 Reported by: Seth Goldberg.
19872
7620e7de
VS
198732010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19874
19875 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
19876 Reported by: Seth Goldberg.
19877
c837af3f
VS
198782010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
19879
19880 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
19881 64-bit address as signed on MIPS.
19882
c7c75cf4
CW
198832010-05-28 Colin Watson <cjwatson@ubuntu.com>
19884
19885 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
19886 to the empty string.
19887
fa4b8490
BC
198882010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
19889
19890 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
19891
19892 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
19893 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
19894 * kern/misc.c (__enable_execute_stack): Disable on
19895 GRUB_MACHINE_EMU.
19896
a33075b9
CW
198972010-05-28 Colin Watson <cjwatson@ubuntu.com>
19898
19899 Make grub-probe work with symbolic links under /dev/mapper as well
19900 as with real block devices. The Linux world seems to be (at best)
19901 in transition here, and GRUB shouldn't get caught in the middle.
19902
19903 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
19904 /dev/mapper.
19905
d8708134
CW
199062010-05-27 Colin Watson <cjwatson@ubuntu.com>
19907
19908 * util/grub-script-check.c (main): Ensure defined behaviour on empty
19909 input files (in which case exit zero).
19910
db2102a0
CW
199112010-05-27 Colin Watson <cjwatson@ubuntu.com>
19912
19913 * kern/emu/misc.c (canonicalize_file_name): realpath can still
19914 return NULL for various reasons even if it has a maximum-length
19915 buffer: for example, there might be a symlink loop, or the path
19916 might exceed PATH_MAX. If this happens, return NULL.
19917
5fdba519
RM
199182010-05-27 Robert Millan <rmh@gnu.org>
19919
19920 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
19921 partmap module to handle cross-partmap setups.
19922 Reported by Orestes Mas. Gràcies!
19923
d1d368e4
CW
199242010-05-27 Colin Watson <cjwatson@ubuntu.com>
19925
19926 * util/grub-mkrescue.in: Initialise override_dir rather than
19927 assuming that it's unset or empty in the environment.
19928
95ac3c73
GS
199292010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
19930
19931 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
19932 variable index into p_index to suppress a warning with -Wshadow.
19933
7d8c0213
BC
199342010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
19935
19936 * INSTALL: Added flex >= 2.5.35 requirement.
19937
db4d5813
VS
199382010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19939
19940 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
19941
f24f4300
VS
199422010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19943
19944 cmostest support.
19945
19946 * commands/i386/cmostest.c: New file.
19947 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
19948 (cmostest_mod_SOURCES): New variable.
19949 (cmostest_mod_CFLAGS): Likewise.
19950 (cmostest_mod_LDFLAGS): Likewise.
19951 * conf/i386-pc.rmk: Likewise.
19952 * docs/grub.texi (Vendor power-on keys): New section.
19953 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
19954 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
19955 and GRUB_BUTTON_CMOS_ADDRESS.
19956 * util/grub.d/00_header.in: Handle powering-on by separate button.
19957
ad603f61
VS
199582010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19959
19960 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
19961 Removed drawing_scrollbar argument. All users updated
19962 Fixes #29792.
19963 Reported by Jo Shields
19964
3ecb080a
VS
199652010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19966
19967 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
19968 buffer since gfxterm handles double repaint.
19969
5f2316c1
VS
199702010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
19971
19972 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
19973 * term/gfxterm.c (real_scroll): Likewise.
19974
9a25f885
VS
199752010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
19976
19977 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
19978 before calling BIOS.
19979
39fbb79a
VS
199802010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
19981
19982 * include/grub/i18n.h: Always enable grub_gettext.
19983
228cfa97
VS
199842010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
19985
19986 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
19987 partition naming style.
19988
21717c8f
CW
199892010-05-21 Colin Watson <cjwatson@ubuntu.com>
19990
19991 * util/grub-mkconfig.in: Fix handling of -o so that it works when
19992 not the first option.
19993
c0f48e65
CW
199942010-05-20 Colin Watson <cjwatson@ubuntu.com>
19995
19996 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
19997
96779aec
CW
199982010-05-20 Colin Watson <cjwatson@ubuntu.com>
19999
20000 * util/misc.c: Move inclusion of <limits.h> to ...
20001 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
20002
fa9d256e
GS
200032010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
20004
20005 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
20006 Fix merge error in NetBSD code.
20007 (find_partition_start) [__NetBSD__]: Likewise.
20008
123b7a85
BC
200092010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
20010
20011 Fix grub-mkrescue usage unit testing.
20012
20013 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
20014
74276c0d
CF
200152010-05-18 Christian Franke <franke@computer.org>
20016
20017 * util/grub.d/10_windows.in: Use path names instead of
20018 drive letters to prevent warning from Cygwin 1.7.
20019 Add drivemap command to menuentry if needed.
20020
c4f7b523
ST
200212010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
20022
20023 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
20024 gnumach and gnumach.gz.
20025
95b97950
VS
200262010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20027
20028 * include/grub/i18n.h (gettext): Inline instead of using #define.
20029 (grub_gettext): Likewise.
20030 (_): Likewise.
20031
01b8d2d7
VS
200322010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20033
20034 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
20035 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
20036 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
20037 (main): Add a slash after pkglibdirroot.
20038
654e1d1e
VS
200392010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20040
20041 * util/grub-install.in: Add missing "in" keyword.
20042
26966aeb
VS
200432010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20044
20045 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
20046 Reported by: Seth Goldberg.
20047
75006747
VS
200482010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
20049
20050 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
20051
74cbf5bd
CW
200522010-05-18 Colin Watson <cjwatson@ubuntu.com>
20053
20054 * configure.ac: Check for Linux device-mapper support.
20055
20056 * util/hostdisk.c (device_is_mapped): New function.
20057 (find_partition_start): New function, partly broken out from
20058 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
20059 device-mapper support added.
20060 (linux_find_partition): Use find_partition_start.
20061 (convert_system_partition_to_system_disk): Add `st' argument.
20062 Support Linux /dev/mapper/* devices if device-mapper support is
20063 available; only DM-RAID devices are understood at present.
20064 (find_system_device): Add `st' argument. Pass it to
20065 convert_system_partition_to_system_disk.
20066 (grub_util_biosdisk_get_grub_dev): Pass stat result to
20067 find_system_device and convert_system_partition_to_system_disk. Use
20068 find_partition_start.
20069
20070 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
20071 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
20072 * util/deviceiter.c [__linux__]: Define MINOR.
20073 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
20074 * util/mkdevicemap.c (grub_putchar): New function.
20075 (grub_getkey): New function.
20076 (grub_refresh): New function.
20077 (main): Set debug=all if -v -v is used.
20078
355b51e9
CW
200792010-05-18 Colin Watson <cjwatson@ubuntu.com>
20080
20081 Fix build with non-GNU libcs.
20082
20083 * util/misc.c (canonicalize_file_name): Move to ...
20084 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
20085 grub_make_system_path_relative_to_its_root.
20086
7fb5c25f
CW
200872010-05-18 Colin Watson <cjwatson@ubuntu.com>
20088
20089 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
20090 we handle finding grub-mkimage. Default to finding grub-mkimage in
20091 ${bindir} with program_transform_name applied, and provide a
20092 --grub-mkimage option to override this.
20093
1d3293d6
VS
200942010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
20095
20096 Remove grub-mkisofs.
20097
20098 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
20099 (grub_mkisofs_SOURCES): Removed.
20100 (grub_mkisofs_CFLAGS): Removed.
20101 * util/mkisofs/defaults.h: Removed.
20102 * util/mkisofs/eltorito.c: Likewise.
20103 * util/mkisofs/exclude.h: Likewise.
20104 * util/mkisofs/hash.c: Likewise.
20105 * util/mkisofs/include/: Likewise.
20106 * util/mkisofs/include/fctldefs.h: Likewise.
20107 * util/mkisofs/include/mconfig.h: Likewise.
20108 * util/mkisofs/include/prototyp.h: Likewise.
20109 * util/mkisofs/include/statdefs.h: Likewise.
20110 * util/mkisofs/iso9660.h: Likewise.
20111 * util/mkisofs/joliet.c: Likewise.
20112 * util/mkisofs/match.c: Likewise.
20113 * util/mkisofs/match.h: Likewise.
20114 * util/mkisofs/mkisofs.c: Likewise.
20115 * util/mkisofs/mkisofs.h: Likewise.
20116 * util/mkisofs/msdos_partition.h: Likewise.
20117 * util/mkisofs/multi.c: Likewise.
20118 * util/mkisofs/name.c: Likewise.
20119 * util/mkisofs/rock.c: Likewise.
20120 * util/mkisofs/tree.c: Likewise.
20121 * util/mkisofs/write.c: Likewise.
20122
5dde9afe
VS
201232010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
20124
20125 Unify grub-mkimage accross platforms.
20126
20127 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
20128 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
20129 (grub_mkelfimage_SOURCES): Removed.
20130 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
20131 (util/grub-mkimage.c_DEPENDENCIES): .. this.
20132 (bin_UTILITIES): Add grub-mkimage.
20133 (grub_mkimage_SOURCES): New variable.
20134 (kernel_img_HEADERS): Remove machine/kernel.h.
20135 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
20136 (pkglib_PROGRAMS): Add kernel.img.
20137 (kernel_img_HEADERS): Add machine/kernel.h.
20138 (kernel_img_FORMAT): Removed.
20139 (bin_UTILITIES): Remove grub-mkimage.
20140 (grub_mkimage_SOURCES): Removed.
20141 (grub_mkimage_CFLAGS): Likewise.
20142 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20143 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
20144 (pkglib_PROGRAMS): Add kernel.img.
20145 (bin_UTILITIES): Remove grub-mkimage.
20146 (grub_mkimage_SOURCES): Removed.
20147 (grub_mkimage_CFLAGS): Likewise.
20148 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20149 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
20150 (pkglib_PROGRAMS): Add kernel.img.
20151 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
20152 (pkglib_PROGRAMS): Add kernel.img.
20153 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
20154 (grub_mkimage_SOURCES): Removed.
20155 (grub_mkimage_CFLAGS): Likewise.
20156 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20157 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
20158 (pkglib_PROGRAMS): Add kernel.img.
20159 (bin_UTILITIES): Remove grub-mkimage.
20160 (grub_mkimage_SOURCES): Removed.
20161 (grub_mkimage_CFLAGS): Likewise.
20162 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20163 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
20164 (grub_mkimage_SOURCES): Removed.
20165 (grub_mkimage_CFLAGS): Likewise.
20166 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
20167 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
20168 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
20169 (grub_pe32_optional_header): ... this.
20170 (grub_pe64_optional_header): ... and this. All users updated.
20171 (GRUB_PE32_PE32_MAGIC): Split into ..
20172 (GRUB_PE32_PE32_MAGIC): .. this.
20173 (GRUB_PE32_PE64_MAGIC): .. and this.
20174 (GRUB_PE32_SIGNATURE_SIZE): New definition.
20175 * include/grub/elf.h (PT_GNU_STACK): New definition.
20176 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
20177 * include/grub/i386/efi/kernel.h: Likewise.
20178 * include/grub/i386/kernel.h: Likewise.
20179 * include/grub/i386/pc/kernel.h: Likewise.
20180 * include/grub/i386/qemu/boot.h: Likewise.
20181 * include/grub/mips/kernel.h: Likewise.
20182 * include/grub/mips/qemu-mips/kernel.h: Likewise.
20183 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
20184 * include/grub/powerpc/kernel.h: Likewise.
20185 * include/grub/sparc64/ieee1275/boot.h: Likewise.
20186 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
20187 * include/grub/sparc64/kernel.h: Likewise.
20188 * include/grub/x86_64/efi/kernel.h: Likewise.
20189 * include/grub/x86_64/kernel.h: Likewise.
20190 * include/grub/offsets.h: New file.
20191 * include/grub/kernel.h (grub_module_info): Split into ...
20192 (grub_module_info32): ... this.
20193 (grub_module_info64): ... and this.
20194 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
20195 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
20196 (grub_boot_blocklist): Moved from here ...
20197 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
20198 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
20199 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
20200 * include/grub/types.h (grub_target_to_host16): Removed.
20201 (grub_target_to_host32): Likewise.
20202 (grub_target_to_host64): Likewise.
20203 (grub_host_to_target16): Likewise.
20204 (grub_host_to_target32): Likewise.
20205 (grub_host_to_target64): Likewise.
20206 (grub_host_to_target_addr): Likewise.
20207
20208 Support grub-mkrescue for efi, coreboot and qemu.
20209
20210 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
20211 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
20212 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
20213 * util/grub-mkrawimage.c: Moved from here ...
20214 * util/grub-mkimage.c: ... here. All users updated.
20215 (ALIGN_ADDR): Use image_target.
20216 (TARGET_NO_FIELD): New const.
20217 (image_target_desc): New type.
20218 (image_targets): New array.
20219 (grub_target_to_host64): Use image_target.
20220 (grub_target_to_host32): Likewise.
20221 (grub_target_to_host16): Likewise.
20222 (grub_host_to_target64): Likewise.
20223 (grub_host_to_target32): Likewise.
20224 (grub_host_to_target16): Likewise.
20225 (grub_host_to_target_addr): Likewise.
20226 (generate_image): Handle multiimage.
20227 (main): Require -O parameter. All users updated.
20228 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
20229 util/efi/grub-mkimage.c
20230 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
20231 New option --rom-directory.
20232 Use xorriso.
20233 * util/i386/efi/grub-mkimage.c: Removed.
20234 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
20235 (grub_target_to_host32): Likewise.
20236 (grub_target_to_host64): Likewise.
20237 (grub_host_to_target16): Likewise.
20238 (grub_host_to_target32): Likewise.
20239 (grub_host_to_target64): Likewise.
20240 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
20241 (grub_target_to_host32): Likewise.
20242 (grub_target_to_host64): Likewise.
20243 (grub_host_to_target16): Likewise.
20244 (grub_host_to_target32): Likewise.
20245 (grub_host_to_target64): Likewise.
20246
f4fc97d0
BC
202472010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
20248
20249 Source tree is reorganized for emu build.
20250
20251 * include/grub/util/console.h: Move from here...
20252 * include/grub/emu/console.h: ...to here.
20253 * include/grub/util/getroot.h: Move from here...
20254 * include/grub/emu/getroot.h: ...to here.
20255 * include/grub/util/hostdisk.h: Move from here...
20256 * include/grub/emu/hostdisk.h: ...to here.
20257 * util/console.c: Move from here...
20258 * kern/emu/console.c: ...to here.
20259 * util/getroot.c: Move from here...
20260 * kern/emu/getroot.c: ...to here.
20261 * util/grub-emu.c: Move from here...
20262 * kern/emu/main.c: ...to here.
20263 * util/hostdisk.c: Move from here...
20264 * kern/emu/hostdisk.c: ...to here.
20265 * util/hostfs.c: Move from here...
20266 * kern/emu/hostfs.c: ...to here.
20267 * util/mm.c: Move from here...
20268 * kern/emu/mm.c: ...to here.
20269 * util/pci.c: Move from here...
20270 * bus/emu/pci.c: ...to here.
20271 * util/sdl.c: Move from here...
20272 * video/emu/sdl.c: ...to here.
20273 * util/time.c: Move from here...
20274 * kern/emu/time.c: ...to here.
20275 * util/usb.c: Move from here...
20276 * bus/usb/emu/usb.c: ...to here.
20277
20278 * include/grub/emu/misc.h: New header for grub-emu functions.
20279 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
20280
20281 * conf/any-emu.rmk: Rule updates for above renames.
20282 * conf/common.rmk: Likewise.
20283 * conf/i386-pc.rmk: Likewise.
20284 * conf/i386-qemu.rmk: Likewise.
20285 * conf/mips.rmk: Likewise.
20286 * conf/sparc64-ieee1275.rmk: Likewise.
20287 * conf/x86-efi.rmk: Likewise.
20288
20289 * disk/lvm.h: #include updates for above renames.
20290 * util/grub-mkrelpath.c: Likewise.
20291 * util/grub-probe.c: Likewise.
20292 * util/i386/pc/grub-setup.c: Likewise.
20293 * util/sparc64/ieee1275/grub-setup.c: Likewise.
20294 * kern/emu/console.c: Likewise.
20295 * kern/emu/getroot.c: Likewise.
20296 * kern/emu/hostdisk.c: Likewise.
20297 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
20298
20299 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
20300 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
20301 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
20302 * util/misc.c: Remove grub-emu functions.
20303
cced9145
VS
203042010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
20305
20306 Fix gfxmenu crash.
20307 Reported by: Thorsten Grützmacher.
20308
20309 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
20310 timeout hook.
20311 (circprog_set_property): Register and unregister timeout hook.
20312 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
20313 (label_destroy): Free template. and unregister hook.
20314 (label_set_state): New function.
20315 (label_set_property): Handle templates and hooks.
20316 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
20317 timeout hook.
20318 (progress_bar_set_property): Register and unregister timeout hook.
20319 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
20320 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
20321 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
20322 (update_timeout_visit): Removed.
20323 (update_timeouts): New function.
20324 (redraw_timeouts): Likewise.
20325 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
20326 (grub_gfxmenu_clear_timeout): Likewise.
20327 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
20328 (grub_gfxmenu_timeout_notify): Likewise.
20329 (grub_gfxmenu_timeout_notifications): New external variable.
20330 (grub_gfxmenu_timeout_register): New function.
20331 (grub_gfxmenu_timeout_unregister): Likewise.
20332
c6e5caab
VS
203332010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
20334
20335 Transform (broken) vga terminal into (working) vga video driver.
20336
20337 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
20338 video/i386/pc/vga.c.
20339 * include/grub/video.h (grub_video_driver_id):
20340 Add GRUB_VIDEO_DRIVER_VGA.
20341 * term/i386/pc/vga.c: Renamed to ...
20342 * video/i386/pc/vga.c: ...this
20343 (DEBUG_VGA): Removed.
20344 (CHAR_WIDTH): Likewise.
20345 (CHAR_HEIGHT): Likewise.
20346 (TEXT_WIDTH): Likewise.
20347 (TEXT_HEIGHT): Likewise.
20348 (DEFAULT_FG_COLOR): Likewise.
20349 (DEFAULT_BG_COLOR): Likewise.
20350 (colored_char): Likewise.
20351 (xpos): Likewise.
20352 (ypos): Likewise.
20353 (cursor_state): Likewise.
20354 (fg_color): Likewise.
20355 (bg_color): Likewise.
20356 (text_buf): Likewise.
20357 (page): Likewise.
20358 (font): Likewise.
20359 (framebuffer): New variable.
20360 (set_read_map): Disabled.
20361 (setup): New variable.
20362 (is_target): Likewise.
20363 (grub_vga_mod_init): Likewise.
20364 (grub_vga_mod_fini): Likewise.
20365 (check_vga_mem): Likewise.
20366 (write_char): Likewise.
20367 (write_cursor): Likewise.
20368 (scroll_up): Likewise.
20369 (grub_vga_putchar): Likewise.
20370 (grub_vga_getcharwidth): Likewise.
20371 (grub_vga_getwh): Likewise.
20372 (grub_vga_getxy): Likewise.
20373 (grub_vga_gotoxy): Likewise.
20374 (grub_vga_cls): Likewise.
20375 (grub_vga_setcolorstate): Likewise.
20376 (grub_vga_setcursor): Likewise.
20377 (grub_video_vga_init): New function.
20378 (grub_video_vga_setup): Likewise.
20379 (grub_video_vga_fini): Likewise.
20380 (update_target): Likewise.
20381 (grub_video_vga_blit_bitmap): Likewise.
20382 (grub_video_vga_blit_render_target): Likewise.
20383 (grub_video_vga_set_active_render_target): Likewise.
20384 (grub_video_vga_get_active_render_target): Likewise.
20385 (grub_video_vga_swap_buffers): Likewise.
20386 (grub_video_vga_set_palette): Likewise.
20387 (grub_video_vga_get_info_and_fini): Likewise.
20388 (grub_vga_term): Removed.
20389 (grub_video_vga_adapter): New variable.
20390 (GRUB_MOD_INIT): Register a video driver instead of terminal.
20391 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
20392
2bf61a98
VS
203932010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20394
20395 * video/readers/jpeg.c: Indented.
20396
09ddcd11
VS
203972010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20398
20399 Various jpeg cleanups.
20400
20401 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
20402 (grub_jpeg_decode_quan_table): Use sizeof.
20403 (grub_jpeg_decode_du): Use ARRAY_SIZE.
20404
e5507505
PH
204052010-05-05 Peter Hurley <No e-mail available> (tiny change)
20406
20407 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
20408 tables. Ignore non-last ac bit.
20409 (grub_jpeg_decode_quan_table): Likewise.
20410
7e720a9b
VS
204112010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20412
20413 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
20414 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
20415 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
20416 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
20417 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
20418 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
20419
a7fc080b
VS
204202010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20421
20422 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
20423 error.
20424
2bf6012d
VS
204252010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
20426
20427 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
20428
265d68cd
VS
204292010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
20430
20431 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
20432 condition.
20433
204342010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
20435
20436 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
20437 part.
20438
265d68cd 204392010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
20440
20441 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
20442 pointers.
20443
265d68cd 204442010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
20445
20446 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
20447
d1b61374
CF
204482010-05-01 Christian Franke <franke@computer.org>
20449
20450 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
20451 Remove broken Cygwin path conversion.
20452 * util/misc.c: [__CYGWIN__] Add include and define.
20453 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
20454 for Cygwin 1.7.
20455 (make_system_path_relative_to_its_root): Simplify loop, replace early
20456 return by break.
20457 [__CYGWIN__] Add conversion to win32 path.
20458 Include "/" case in trailing slash removal.
20459
3558c6e9
VS
204602010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20461
20462 * kern/main.c (grub_load_config): Fix copy-pasted comment.
20463 Reported by: Seth Goldberg
20464
f5f3ff93
VS
204652010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20466
20467 * commands/help.c (grub_cmd_help): Fix a typo.
20468 Reported by: Seth Goldberg
20469
d8b5cd40
VS
204702010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20471
20472 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
20473 name and add N_.
20474 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
20475 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
20476 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
20477 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
20478 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
20479 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
20480 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
20481 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
20482 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
20483 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
20484 * normal/context.c (GRUB_MOD_INIT): Likewise.
20485 * normal/main.c (GRUB_MOD_INIT): Likewise.
20486 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
20487 * term/serial.c (GRUB_MOD_INIT): Likewise.
20488 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
20489
88c14915
VS
204902010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20491
20492 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
20493 extra == 0.
20494
165134bc
VS
204952010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20496
20497 * commands/iorw.c: New file.
20498 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
20499 (iorw_mod_SOURCES): New variable.
20500 (iorw_mod_CFLAGS): Likewise.
20501 (iorw_mod_LDFLAGS): Likewise.
20502
c5ac9b32
VS
205032010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20504
20505 Hotkey support
20506
20507 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
20508 * normal/main.c (hotkey_aliases): New variable.
20509 (grub_normal_add_menu_entry): Parse "--hotkey".
20510 * normal/menu_text.c (run_menu): Handle hotkeys.
20511
ce60689c
VS
205122010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20513
20514 * kern/i386/coreboot/init.c (grub_machine_init): Call
20515 grub_machine_mmap_init on qemu.
20516
0359d006
VS
205172010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20518
20519 * boot/i386/qemu/boot.S: Add a missing .code16.
20520
7819a456
VS
205212010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20522
20523 Use LBIO on coreboot.
20524
20525 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
20526 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
20527 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
20528 New declaration.
20529 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
20530 grub_machine_mmap_init on coreboot.
20531 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
20532 GRUB_LINUXBIOS_MEMBER_LINK.
20533 (grub_machine_mmap_iterate): Fix declaration.
20534 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
20535
7210dca9
VS
205362010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20537
20538 Split coreboot and multiboot ports.
20539
20540 * conf/i386-multiboot.rmk: New file.
20541 * configure.ac: Add multiboot port.
20542 * include/grub/i386/multiboot/boot.h: New file.
20543 * include/grub/i386/multiboot/console.h: Likewise.
20544 * include/grub/i386/multiboot/init.h: Likewise.
20545 * include/grub/i386/multiboot/kernel.h: Likewise.
20546 * include/grub/i386/multiboot/loader.h: Likewise.
20547 * include/grub/i386/multiboot/memory.h: Likewise.
20548 * include/grub/i386/multiboot/serial.h: Likewise.
20549 * include/grub/i386/multiboot/time.h: Likewise.
20550 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
20551 * loader/multiboot.c: Likewise.
20552 * loader/multiboot_mbi2.c: Likewise.
20553 * util/grub-mkrescue.in: Generate multiboot rescue.
20554
6f8aaf68
VS
205552010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20556
3080f7a7
VS
20557 * kern/parser.c (grub_parser_execute): Cope with read-only config.
20558
205592010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
20560
20561 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
20562
20563 * commands/terminal.c (abstract_terminal): New struct.
20564 (handle_command): New function. Based on grub_cmd_terminal_input.
20565 (grub_cmd_terminal_input): Use handle_command.
20566 (grub_cmd_terminal_output): Use handle_command.
20567
a8ebb841
BC
205682010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
20569
20570 Fix comment handling.
20571
20572 * tests/grub_script_comments.in: New testcase.
20573 * conf/tests.rmk: Rules for new testcase.
20574 * script/yylex.l: Updated flex rules.
20575
bb06ba08
ST
205762010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
20577
20578 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
20579 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
20580 if argc is 1.
bb06ba08 20581
cc9d2425
VS
205822010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
20583
20584 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
20585 autogen issues.
20586
460d8402
CF
205872010-04-26 Christian Franke <franke@computer.org>
20588
20589 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
20590 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
20591 (grub_get_prefix): Remove function.
20592 * util/grub-emu.c (main): Replace grub_get_prefix () call by
20593 make_system_path_relative_to_its_root ().
20594 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
20595
553c01f9
CF
205962010-04-24 Christian Franke <franke@computer.org>
20597
20598 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
20599 (kernel_img_LDFLAGS): Remove -static-libgcc.
20600
2aec1692
CF
206012010-04-24 Christian Franke <franke@computer.org>
20602
20603 * configure.ac: Do not CHECK_BSS_START_SYMBOL
20604 and CHECK_END_SYMBOL if grub-emu is built.
20605 Unset TARGET_OBJ2ELF if grub-emu is built
20606 without module support.
20607
f67dc308
JS
206082010-04-24 Jiro SEKIBA <jir@unicus.jp>
20609
20610 Nilfs2 support.
20611
20612 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
20613 (grub_fstest_SOURCES): Likewise.
20614 (pkglib_MODULES): Add nilfs2.mod.
20615 (nilfs2_mod_SOURCES): New variable.
20616 (nilfs2_mod_CFLAGS): Likewise.
20617 (nilfs2_mod_LDFLAGS): Likewise.
20618 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
20619 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
20620 * fs/nilfs2.c: New file.
20621
4ba8d354
VS
206222010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
20623
20624 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
20625 is not supported.
20626
0d2c20c6
GS
206272010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
20628
20629 Add grub-mkconfig support for NetBSD.
20630
20631 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
20632 * util/grub-mkconfig.in: export new NetBSD specific variables.
20633 * po/POTFILES-shell: added 10_netbsd.in.
20634 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
20635
bc4a2d83
BC
206362010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
20637
20638 Fix emu build with grub-emu-pci and grub-emu-modules.
20639
20640 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
20641 functions.
20642 * include/grub/libpciaccess.h: New file.
20643 * conf/any-emu.rmk: Update kernel headers for emu build.
20644
f48c87aa
VS
206452010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
20646
20647 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
20648
18959385
VS
206492010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
20650
20651 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
20652
0037de3f
VS
206532010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20654
20655 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
20656 Retrieve chosen/bootpath if bootpath isn't hardcoded.
20657 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
20658 util/ieee1275/ofpath.c.
20659 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
20660 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
20661 * include/grub/sparc64/ieee1275/boot.h
20662 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
20663 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
20664 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
20665 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
20666 const char *.
20667 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
20668 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
20669 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
20670 install.
20671
38e55e90
GS
206722010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
20673
20674 * util/grub-mkconfig.in: Corrected two == equality tests.
20675 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
20676 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
20677 expect a number appended to it.
20678 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
20679 expects a number appended to it.
20680
a9e6ff28
VS
206812010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20682
20683 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
20684
0b830b8f
VS
206852010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
20686
20687 * util/hostdisk.c (make_device_name): Change to new partition naming.
20688
0973daeb
VS
206892010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
20690
20691 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
20692
460d8402 206932010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
20694
20695 * Makefile.in: Add missing localedir setting.
20696
0b456309
CW
206972010-04-14 Colin Watson <cjwatson@ubuntu.com>
20698
20699 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
20700 mistake in r2156. Noticed by Anthony Fok.
20701
20702 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
20703 @localedir@.
20704 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
20705
08f46d62
BC
207062010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
20707
20708 Fix a spurious, uninitialized variable warning.
20709
20710 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
20711 Initialize variable, shdr.
20712 (grub_freebsd_load_elfmodule): Likewise.
20713 (grub_freebsd_load_elf_meta): Likewise.
20714
8c4a72d4
BC
207152010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
20716
20717 Fix for escaped dollar in double quoted strings.
20718
20719 * script/yylex.l: Updated flex rules.
20720 * conf/tests.rmk: Rule for new testcase.
20721 * tests/grub_script_dollar.in: New testcase.
20722
ce44826e
CPE
207232010-04-13 Carles Pina i Estany <carles@pina.cat>
207242010-04-13 Colin Watson <cjwatson@ubuntu.com>
20725
20726 Enclose all translated strings in grub.cfg in single quotes, and
20727 escape them appropriately (Ubuntu bug #552921).
20728
20729 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
20730 * util/grub.d/10_hurd.in: Use it.
20731 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
20732 * util/grub.d/10_linux.in (linux_entry): Likewise.
20733
4b0cd8f8
VS
207342010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20735
20736 Fix cygwin compilation.
20737
20738 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
20739 * include/grub/misc.h (__register_frame_info)
20740 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
20741 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
20742 * kern/misc.c (__register_frame_info)
20743 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
20744 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
20745
01fcf061
VS
207462010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20747
20748 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
20749
5d04b11e
VS
207502010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
20751
20752 Unify libgcc processing.
20753
20754 * Makefile.in (kernel_img_LDFLAGS): New variable.
20755 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
20756 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
20757 overwriting.
20758 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
20759 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
20760 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
20761 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
20762 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
20763 overwriting. Remove -lgcc and -static-libgcc
20764 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
20765 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
20766 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
20767 (kernel_img_LDFLAGS): Append instead of overwriting.
20768 Remove -lgcc and -static-libgcc
20769 * conf/sparc64-ieee1275.rmk: Likewise.
20770 * include/grub/powerpc/libgcc.h: Move to ...
20771 * include/grub/libgcc.h: .. this.
20772 * include/grub/libgcc.h: Don't export most of the function on x86.
20773 (__bswapsi2): New export.
20774 (__bswapdi2): Likewise.
20775 * include/grub/mips/libgcc.h: Removed.
20776 * include/grub/sparc64/libgcc.h: Likewise.
20777
b7f3ac29
VS
207782010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20779
20780 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
20781 disk_info_msg (conflicts with gettexting into languages with cases).
20782
2c7031b1
GS
207832010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
20784
20785 Add grub-probe support for NetBSD.
20786
20787 * util/getroot.c (find_root_device): Convert block device to
20788 character device on NetBSD.
20789 * util/probe.c (probe): Require character device on NetBSD.
20790 * util/hostdisk.c: NetBSD specific headers.
20791 (configure_device_driver): new function to tune device driver
20792 parameters (currently only for NetBSD floppy driver).
20793 (grub_util_biosdisk_open): NetBSD specific code (get disk size
20794 via disklabel ioctl).
20795 (open_device): call configure_device_driver on NetBSD.
20796 (convert_system_partition_to_system_disk): NetBSD specific code.
20797 (device_is_wholedisk): Likewise.
20798 (grub_util_biosdisk_get_grub_dev): Likewise.
20799 (make_device_name): Fixed a typo in bsd_part_str.
20800 * configure.ac: check for opendisk() and getrawpartition() on
20801 NetBSD and set LIBUTIL.
20802 * Makefile.in: add LIBUTIL to LIBS.
20803
f516290c
BC
208042010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
20805
20806 Documentation fix.
20807
20808 * util/grub-script-check.c: Better help message.
20809
d8dcc0df
BC
208102010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
20811
20812 Fix FreeBSD build.
20813
20814 * configure.ac: Flex version check.
20815 * conf/common.rmk: Add -Wno-error to sh.mod.
20816 * script/yylex.l: Remove all #pragma.
20817
6734334a
VS
208182010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20819
20820 * include/grub/util/misc.h (canonicalise_file_name): Add missing
20821 prototype.
20822 Reported by: Seth Goldberg.
20823
daea6abd
VS
208242010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20825
20826 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
20827 Rename "module" to "module2".
20828 Reported by: Seth Goldberg.
20829
f2fd9d2b
VS
208302010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20831
20832 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
20833 EXPORT_FUNC.
20834 Reported by: Seth Goldberg.
20835
be124579
VS
208362010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20837
20838 * lib/posix_wrap/locale.h: Add missing file.
20839 Reported by: Seth Goldberg.
20840
ef5da797
VS
208412010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
20842
20843 grub-emu module load support.
20844
20845 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
20846 NO_DYNAMIC_MODULES switched to this.
20847 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
20848 (CFLAGS): Likewise.
20849 * conf/any-emu.rmk: Generate symlist.
20850 (kernel_img_HEADERS): Add util/datetime.h.
20851 (kernel_img_HEADERS) [sdl]: Add sdl.h.
20852 (kernel_img_HEADERS) [libusb]: Add libusb.h.
20853 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
20854 kern/$(target_cpu)/cache.S.
20855 * configure.ac (grub-emu-modules): New option.
20856 * genmk.rb: Handle multiple source lists.
20857 * include/grub/sdl.h: New file.
20858 * include/grub/libusb.h: Likewise.
20859 * util/grub-emu.c (main): Hanle (host) root.
20860 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
20861 GRUB_ERR_UNKNOWN_DEVICE.
20862 * util/misc.c: Move mm functions to ...
20863 * util/mm.c: ... here. All users updated.
20864
47822096
VS
208652010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20866
20867 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
20868 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
20869 missing files.
20870 (maintainer-clean): Remove libgcrypt-grub.
20871
5d7e7445
VS
208722010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20873
20874 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
20875
25f4e252
EC
208762010-04-09 EFI Coder <eficoder@hotmail.com>
20877
20878 * normal/menu_text.c (print_message): Clean up the message and show
20879 the Fn information when on EFI
20880 * term/efi/console.c (grub_console_checkkey): Add F4 support.
20881
027de555
VS
208822010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20883
20884 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
20885 All users updated.
20886 * normal/crypto.c (read_crypto_list): Likewise.
20887 * normal/dyncmd.c (read_command_list): Likewise.
20888 * normal/term.c (read_terminal_list): Likewise.
20889 * normal/main.c (read_lists): Use explicit prefix.
20890 (read_lists_hook): Use read_lists.
20891 (grub_normal_execute): Likewise.
20892
47779711
VS
208932010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20894
20895 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
20896 Reported by: Thomas Schmitt.
20897 Add -no-emul-boot to grub-mkisofs parameters.
20898
1118c32e
VS
208992010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20900
20901 * font/font.c: Indented.
20902
7d652447
BC
209032010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
20904
20905 Elif support to GRUB script (by Deepak Vankadaru).
20906
20907 * tests/grub_script_if.in: New testcase.
20908 * conf/tests.rmk: Rule for new testcase.
20909 * script/parser.y: Grammar rules for elif.
20910
34bb22df
BC
209112010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
20912
20913 While and until loops support to GRUB script.
20914
20915 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
20916 (grub_script_create_cmdwhile): New function prototype.
20917 (grub_script_execute_cmdwhile): New function prototype.
20918 * script/execute.c (grub_script_execute_cmdwhile): New function.
20919 * script/parser.y (command): New commands.
20920 (whilecmd): New grammar rule.
20921 (untilcmd): New grammar rule.
20922 * script/script.c (grub_script_create_cmdwhile): New function.
20923 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
20924 function.
20925
20926 * tests/grub_script_while1.in: New testcase.
20927 * conf/tests.rmk: Rule for new testcase.
20928
e215d8e0
VS
209292010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20930
20931 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
20932 as *.jpg.
20933
d7c43ba1
MV
209342010-04-09 Mario Vazquez <mariovazq@gmail.com>
20935
20936 GRUB_BACKGROUND support.
20937
20938 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
20939 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
20940
d64795c0
VS
209412010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20942
20943 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 20944 Idea by: Mario Vazquez
d64795c0
VS
20945
20946 * util/grub.d/00_header.in: Load pf2 and image modules.
20947
f267f83a
VS
209482010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20949
20950 grub-mkconfig multiple terminal support.
20951
20952 * util/grub-mkconfig.in: Handle multiple terminals correctly.
20953 * util/grub.d/00_header.in: Likewise.
20954
b7841ceb
VS
209552010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
20956
20957 * Makefile.in: Specify files explicitly instead of using $< and $@ since
20958 we use cd $(srcdir).
20959
df60998c
CW
209602010-04-08 Colin Watson <cjwatson@ubuntu.com>
20961
20962 * util/grub.d/10_linux.in: Only use the first word of
20963 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
20964 spaces in GRUB_DISTRIBUTOR.
20965 * util/grub.d/10_kfreebsd.in: Likewise.
20966 * util/grub.d/10_hurd.in: Likewise.
20967
fa09c82e
BC
209682010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
20969
14e18ae3 20970 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
20971
20972 * tests/util/grub-shell.in: Remove -serial stdio option.
20973
daf892b3
BC
209742010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
20975
20976 POSIX header file wrappers.
20977
20978 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
20979 equivalents.
20980 * lib/posix_wrap/ctype.h: Likewise.
20981 * lib/posix_wrap/errno.h: Likewise.
20982 * lib/posix_wrap/langinfo.h: Likewise.
20983 * lib/posix_wrap/limits.h: Likewise.
20984 * lib/posix_wrap/localcharset.h: Likewise.
20985 * lib/posix_wrap/stdint.h: Likewise.
20986 * lib/posix_wrap/stdio.h: Likewise.
20987 * lib/posix_wrap/stdlib.h: Likewise.
20988 * lib/posix_wrap/string.h: Likewise.
20989 * lib/posix_wrap/sys/types.h: Likewise.
20990 * lib/posix_wrap/unistd.h: Likewise.
20991 * lib/posix_wrap/wchar.h: Likewise.
20992 * lib/posix_wrap/wctype.h: Likewise.
20993 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
20994 (grub_script.yy.h): Likewise.
20995 * script/yylex.l: Remove POSIX emulation #defines.
20996 * Makefile.in (POSIX_CFLAGS): New variable.
20997 (GNULIB_UTIL_CFLAGS): Likewise.
20998
20999 Regexp support.
21000
21001 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
21002 (regexp_mod_SOURCES): New variable.
21003 (regexp_mod_CFLAGS): Likewise.
21004 (regexp_mod_LDFLAGS): Likewise.
21005 * commands/regexp.c: New file.
21006 * gnulib/regcomp.c: New file. Imported from gnulib.
21007 * gnulib/regex.c: Likewise.
21008 * gnulib/regex_internal.c: Likewise.
21009 * gnulib/regex_internal.h: Likewise.
21010 * gnulib/regexec.c: Likewise.
21011 * gnulib/regex.h: Likewise.
21012
974ac4f7
VS
210132010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
21014
21015 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
21016 unsupported video mode types.
21017
2622c3ff
VS
210182010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
21019
21020 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
21021
064cb524
VS
210222010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
21023
21024 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
21025 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
21026
a8c3b552
VS
210272010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
21028
21029 Remove unused grub_vga_get_font.
21030
21031 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
21032 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
21033
187bbe3d
GS
210342010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21035
21036 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
21037 * include/grub/misc.h: Likewise.
21038
b9396631
GS
210392010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21040
21041 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
21042 for which failure is fatal.
21043
50479feb
GS
210442010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21045
21046 * util/grub-install.in: Use mkdir -p to create grub directory.
21047 * util/i386/efi/grub-install.in: Likewise.
21048 * util/ieee1275/grub-install.in: Likewise.
21049
b1654fdf
GS
210502010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21051
21052 * Makefile.in (LEX): new variable.
21053
bd5a6415
GS
210542010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
21055
21056 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
21057 `=' and added double quotes on operands of this equality test.
21058
3db3a82b
VS
210592010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
21060
21061 * Makefile.in (uninstall): Remove a leftover debug echo.
21062 Reported by: Grégoire Sutre
21063
38023412
VS
210642010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
21065
21066 MIPS multiboot2 support.
21067
21068 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
21069 (multiboot2_mod_SOURCES): New variable.
21070 (multiboot2_mod_CFLAGS): Likewise.
21071 (multiboot2_mod_LDFLAGS): Likewise.
21072 (multiboot2_mod_ASFLAGS): Likewise.
21073 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
21074 definition.
21075 (MULTIBOOT_ENTRY_REGISTER): Likewise.
21076 (MULTIBOOT_MBI_REGISTER): Likewise.
21077 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
21078 (MULTIBOOT_ELF32_MACHINE): Likewise.
21079 (MULTIBOOT_ELF64_MACHINE): Likewise.
21080 * include/grub/mips/multiboot.h: New file.
21081 * include/grub/video.h (grub_video_driver_id): New type
21082 GRUB_VIDEO_DRIVER_SM712.
21083 (grub_video_get_info_and_fini): Export.
21084 (grub_video_get_palette): Likewise.
21085 (grub_video_get_driver_id): Likewise.
21086 * include/multiboot2.h: Resynced with spec.
21087 * loader/i386/multiboot.c: Moved from here ...
21088 * loader/multiboot.c: ... here. All users updated.
21089 (grub_multiboot_boot): Use platform-specific macros.
21090 * loader/i386/multiboot_elfxx.c: Moved from here ...
21091 * loader/multiboot_elfxx.c: ... here. All users updated.
21092 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
21093 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
21094 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
21095
47674667
VS
210962010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
21097
21098 Import gnulib argp module.
21099
21100 * gnulib/argp-ba.c: New file.
21101 * gnulib/argp-eexst.c: Likewise.
21102 * gnulib/argp-fmtstream.c: Likewise.
21103 * gnulib/argp-fmtstream.h: Likewise.
21104 * gnulib/argp-fs-xinl.c: Likewise.
21105 * gnulib/argp-help.c: Likewise.
21106 * gnulib/argp-namefrob.h: Likewise.
21107 * gnulib/argp-parse.c: Likewise.
21108 * gnulib/argp-pin.c: Likewise.
21109 * gnulib/argp-pv.c: Likewise.
21110 * gnulib/argp-pvh.c: Likewise.
21111 * gnulib/argp-version-etc.c: Likewise.
21112 * gnulib/argp-version-etc.h: Likewise.
21113 * gnulib/argp-xinl.c: Likewise.
21114 * gnulib/argp.h: Likewise.
21115
495442ed
VS
211162010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
21117
21118 * kern/device.c (grub_device_iterate): Clear errors after failed
21119 opening device.
21120
f9fd65df
VS
211212010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
21122
21123 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
21124 returned by firmware.
21125
af09641e
VS
211262010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
21127
21128 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
21129 compilation on coreboot and qemu
21130
016883a5
VS
211312010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
21132
21133 * include/multiboot2.h: Resync with spec.
21134
f97e1f7d
VS
211352010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
21136
21137 Multiboot2 tag support
21138
21139 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
21140 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
21141 Remove loader/multiboot_loader.c.
21142 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
21143 (grub_multiboot2_real_boot): Likewise.
21144 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
21145 (grub_get_multiboot_mmap_count): New proto.
21146 (grub_fill_multiboot_mmap): Likewise.
21147 (grub_multiboot_set_video_mode): Likewise.
21148 (grub_multiboot_set_console): Likewise.
21149 (grub_multiboot_load): Likewise.
21150 (grub_multiboot_load_elf): Likewise.
21151 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
21152 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
21153 * include/multiboot.h: Resynced with specification.
21154 * include/multiboot2.h: Resynced with specification.
21155 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
21156 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
21157 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
21158 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
21159 users updated.
21160 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
21161 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
21162 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
21163 Removed.
21164 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
21165 Moved from here...
21166 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
21167 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
21168 Moved from here...
21169 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
21170 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
21171 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
21172 All users updated.
21173 * loader/i386/multiboot_mbi2.c: New file.
21174
3506b90b
VS
211752010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
21176
21177 Resync with gnulib.
21178
21179 * Makefile.in (GNULIB_CFLAGS): New variable.
21180 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
21181 (grub_script_check_CFLAGS): New variable.
21182 * gnulib/alloca.h: Resync with gnulib.
21183 * gnulib/error.c: Likewise.
21184 * gnulib/error.h: Likewise.
21185 * gnulib/fnmatch.c: Likewise.
21186 * gnulib/fnmatch_loop.c: Likewise.
21187 * gnulib/getdelim.c: Likewise.
21188 * gnulib/getline.c: Likewise.
21189 * gnulib/getopt.c: Likewise.
21190 * gnulib/getopt1.c: Likewise.
21191 * gnulib/getopt_int.h: Likewise.
21192 * gnulib/gettext.h: Likewise.
21193 * gnulib/progname.c: Likewise.
21194 * gnulib/progname.h: Likewise.
21195
394a3120
GS
211962010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
21197
21198 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
21199 which is the case with --disabled-nls.
21200
21201 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
21202 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
21203 * util/misc.c: Likewise.
21204 * util/mkisofs/mkisofs.c: Likewise.
21205 * util/mkisofs/mkisofs.h: Likewise.
21206
969d1c78
VS
212072010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
21208
21209 Simplify Apple CC support.
21210
21211 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
21212 Add 0 byte at the end not to have a symbol with empty target.
21213 * mmap/i386/pc/mmap_helper.S: Likewise.
21214 * genmk.rb: Ignore errors 2030 and 2050.
21215 * kern/i386/pc/startup.S: Use LOCAL when possible.
21216
8d2977bb
BC
212172010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
21218
21219 Testcase and the fix for final semicolon on cmdline.
21220
21221 * tests/grub_script_final_semicolon.in: New testcase.
21222 * conf/tests.rmk: Rules for the new testcase.
21223 * script/parser.y: Grammar fix.
21224
a7bd6915
BC
212252010-03-26 BVK Chaitanya <bvk@localhost>
21226
21227 Blank lines testcase for GRUB script.
21228
21229 * tests/grub_script_blanklines.in: New testcase.
21230 * conf/tests.rmk: Rules for the new testcase.
21231
e4ff6628
VS
212322010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
21233
21234 Don't use __FILE__.
21235
21236 * genmk.rb: Add -DGRUB_FILE to all C targets.
21237 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
21238 * include/grub/list.h: Likewise.
21239 * include/grub/misc.h: Likewise.
21240 * include/grub/mm.h: Likewise.
21241 * include/grub/test.h: Likewise.
21242 * kern/mm.c: Likewise.
21243 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
21244
6a5cf6b6
VS
212452010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
21246
21247 Sunpc partitions support.
21248
21249 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
21250 (grub_fstest_SOURCES): Likewise.
21251 (pkglib_MODULES): Add part_sunpc.mod.
21252 (part_sunpc_mod_SOURCES): New variable.
21253 (part_sunpc_mod_CFLAGS): Likewise.
21254 (part_sunpc_mod_LDFLAGS): Likewise.
21255 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
21256 * partmap/sunpc.c: New file.
21257
746d9045
BC
212582010-03-26 BVK Chaitanya <bvk@localhost>
21259
21260 For loop support to GRUB script.
21261
21262 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
21263 (grub_script_create_cmdfor): New function prototype.
21264 (grub_script_execute_cmdfor): New function prototype.
21265 * script/execute.c (grub_script_execute_cmdfor): New function.
21266 * script/parser.y (command): New for command.
21267 (forcmd): New grammar rule.
21268 * script/script.c (grub_script_create_cmdfor): New function.
21269 * util/grub-script-check.c (grub_script_execute_cmdfor): New
21270 function.
21271 * tests/grub_script_for1.in: New testcase.
21272 * conf/tests.rmk: Rules for new testcase.
21273
18486b18
VS
212742010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
21275
21276 Nested partitions
21277
21278 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
21279 'partition' is NULL, grub_partition_get_start already does that.
21280 * commands/loadenv.c (check_blocklists): Likewise.
21281 (write_blocklists): Likewise.
21282 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
21283 (grub_fstest_SOURCES): Likewise.
21284 (pkglib_MODULES): Add part_bsd.mod.
21285 (part_bsd_mod_SOURCES): New variable.
21286 (part_bsd_mod_CFLAGS): Likewise.
21287 (part_bsd_mod_LDFLAGS): Likewise.
21288 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
21289 (grub_emu_SOURCES): Likewise.
21290 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21291 * include/grub/bsdlabel.h: New file.
21292 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
21293 'get_name'.
21294 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
21295 (grub_partition_map_list): New variable.
21296 (grub_partition_map_register): Inline.
21297 (grub_partition_map_unregister): Likewise.
21298 (FOR_PARTITION_MAPS): New macro.
21299 (grub_partition_map_iterate): Removed.
21300 (grub_partition_get_start): Handle nested partitions.
21301 * include/grub/msdos_partition.h: Remove bsd-related entries.
21302 (grub_pc_partition): Remove.
21303 * kern/disk.c (grub_disk_close): Free partition data.
21304 (grub_disk_adjust_range): Handle nested partitions.
21305 * kern/partition.c (grub_partition_map_probe): New function.
21306 (grub_partition_probe): Parse name to number, handle subpartitions.
21307 (get_partmap): New function.
21308 (grub_partition_iterate): Handle subpartitions.
21309 (grub_partition_get_name): Likewise.
21310 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
21311 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
21312 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
21313 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
21314 Set 'number'.
21315 (acorn_partition_map_probe): Remove.
21316 (acorn_partition_map_get_name): Likewise.
21317 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
21318 Set 'number'.
21319 Set 'index' to 0 since there can be only one partition entry per sector.
21320 (amiga_partition_map_probe): Remove.
21321 (amiga_partition_map_get_name): Likewise.
21322 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
21323 Set 'number'.
21324 Set 'offset' and 'index' to real positions of partitions.
21325 (apple_partition_map_probe): Remove.
21326 (apple_partition_map_get_name): Likewise.
21327 * partmap/bsdlabel.c: New file.
21328 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
21329 Set 'number'.
21330 Allocate 'data' so it can be correctly freed.
21331 Set 'index' to offset inside sector.
21332 (gpt_partition_map_probe): Remove.
21333 (gpt_partition_map_get_name): Likewise.
21334 * partmap/msdos.c (grub_partition_parse): Remove.
21335 (pc_partition_map_iterate): Don't force raw access.
21336 Set 'number'.
21337 Make 'ext_offset' a local variable.
21338 (pc_partition_map_probe): Remove.
21339 (pc_partition_map_get_name): Remove.
21340 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
21341 Set 'number'.
21342 (sun_partition_map_probe): Remove.
21343 (sun_partition_map_get_name): Likewise.
21344 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
21345 (grub_pcpart_type): Likewise.
21346 * util/hostdisk.c (open_device): Handle new numbering scheme.
21347 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
21348 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
21349 * util/grub-probe.c (probe_partmap): Handle nested paritions.
21350 * util/grub-install.in: Insert all subpartition modules.
21351 * util/ieee1275/grub-install.in: Likewise.
21352
a3940f88
AG
213532010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
21354
21355 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
21356 grammar.
21357
21b99926 213582010-03-24 Colin Watson <cjwatson@ubuntu.com>
21359
21360 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
21361
bed1d352
CW
213622010-03-21 Colin Watson <cjwatson@ubuntu.com>
21363
21364 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
21365 match where 'make install' puts them.
21366 * util/i386/efi/grub-install.in: Likewise.
21367
c9f58427
CW
213682010-03-19 Colin Watson <cjwatson@ubuntu.com>
21369
21370 * .bzrignore: Add gentrigtables, grub-script-check,
21371 grub_script_check_init.c, grub_script_check_init.h, and
21372 trigtables.c.
21373
f84afb27
VS
213742010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
21375
21376 * kern/parser.c: Indented.
21377
ed0e3d30
VS
213782010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
21379
21380 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
21381
0ea81d98
VS
213822010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
21383
21384 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
21385 alpha_mask_size == 0 case.
21386
0cdc2a09
BC
213872010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
21388
21389 GRUB shell lexer and parser improvements.
21390
21391 * conf/any-emu.rmk: Build rule updates.
21392 * conf/common.rmk: Likewise.
21393 * conf/i386-coreboot.rmk: Likewise.
21394 * conf/i386-efi.rmk: Likewise.
21395 * conf/i386-ieee1275.rmk: Likewise.
21396 * conf/i386-pc.rmk: Likewise.
21397 * conf/powerpc-ieee1275.rmk: Likewise.
21398 * conf/x86_64-efi.rmk: Likewise.
21399
21400 * configure.ac: Configure check for flex.
21401
21402 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
21403 types.
21404 (grub_lexer_param): Struct member updates.
21405 (grub_parser_param): Likewise.
21406 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
21407 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
21408 (grub_script_lexer_init): Prototype update.
21409 (grub_script_lexer_record_start): Likewise.
21410 (grub_script_lexer_record_stop): Likewise.
21411 (grub_script_lexer_yywrap): New function prototype.
21412 (grub_script_lexer_fini): Likewise.
21413 (grub_script_execute_argument_to_string): Removed by...
21414 (grub_script_execute_argument_to_argv): ...better version.
21415
21416 * script/execute.c (ROUND_UPTO): New macro.
21417 (grub_script_execute_cmdline): Out of memory fixes.
21418 (grub_script_execute_menuentry): Likewise.
21419 (grub_script_execute_argument_to_string): Removed. Update all
21420 users by...
21421 (grub_script_execute_argument_to_argv): ...better version.
21422 * script/function.c (grub_script_function_create): Use
21423 grub_script_execute_argument_to_argv instead of
21424 grub_script_execute_argument_to_string.
21425
21426 * script/lexer.c (check_varstate): Removed.
21427 (check_textstate): Removed.
21428 (grub_script_lexer_record_start): Likewise.
21429 (grub_script_lexer_record_stop): Likewise.
21430 (recordchar): Replaced with...
21431 (grub_script_lexer_record): ...new function.
21432 (nextchar): Removed.
21433 (grub_script_lexer_init): Rewritten.
21434 (grub_script_yylex): Rewritten.
21435 (append_newline): New function.
21436 (grub_script_lexer_yywrap): New function.
21437 (grub_script_lexer_fini): New function.
21438 (grub_script_yyerror): Sets error flag.
21439
21440 * script/yylex.l: New file.
21441 (grub_lexer_yyfree): Wrapper for flex yyffre.
21442 (grub_lexer_yyalloc): Likewise.
21443 (grub_lexer_yyrealloc): Likewise.
21444 * script/parser.y: Refactored.
21445
21446 * script/script.c (grub_script_arg_add): Out of memory fixes.
21447 (grub_script_add_arglist): Likewise.
21448 (grub_script_create_cmdline): Likewise.
21449 (grub_script_create_cmdmenu): Likewise.
21450 (grub_script_add_cmd): Likewise.
21451 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
21452 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
21453 unnecessary code.
21454
21455 * tests/grub_script_echo1.in: New testcase.
21456 * tests/grub_script_vars1.in: New testcase.
21457 * tests/grub_script_echo_keywords.in: New testcase.
21458
1d63a066
VS
214592010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21460
21461 Remove some redundancy in build system.
21462
21463 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
21464 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
21465 (TARGET_LDFLAGS): Add -nostdlib.
21466 (TARGET_IMG_LDFLAGS): Likewise.
21467 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
21468 anything since mmap isn't available.
21469 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
21470 Add util/time.c.
21471 (pkglib_MODULES): Remove reboot.mod.
21472 (reboot_mod_SOURCES): Removed.
21473 (reboot_mod_CFLAGS): Likewise.
21474 (reboot_mod_LDFLAGS): Likewise.
21475 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
21476 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
21477 (DEFSYMFILES): Add kernel_syms.lst.
21478 (kernel_img_HEADERS): Add common headers.
21479 (symlist.c): New target.
21480 (kernel_syms.lst): Likewise.
21481 (pkglib_MODULES): Add memdisk.mod.
21482 (memdisk_mod_SOURCES): New variable.
21483 (memdisk_mod_CFLAGS): Likewise.
21484 (memdisk_mod_LDFLAGS): Likewise.
21485 (pkglib_MODULES): Add reboot.mod.
21486 (reboot_mod_SOURCES): New variable.
21487 (reboot_mod_CFLAGS): Likewise.
21488 (reboot_mod_LDFLAGS): Likewise.
21489 (pkglib_MODULES): Add date.mod.
21490 (date_mod_SOURCES): New variable.
21491 (date_mod_CFLAGS): Likewise.
21492 (date_mod_LDFLAGS): Likewise.
21493 (pkglib_MODULES): Add datehook.mod.
21494 (datehook_mod_SOURCES): New variable.
21495 (datehook_mod_CFLAGS): Likewise.
21496 (datehook_mod_LDFLAGS): Likewise.
21497 (pkglib_MODULES): Add lsmmap.mod.
21498 (lsmmap_mod_SOURCES): New variable.
21499 (lsmmap_mod_CFLAGS): Likewise.
21500 (lsmmap_mod_LDFLAGS): Likewise.
21501 (pkglib_MODULES): Add boot.mod.
21502 (boot_mod_SOURCES): New variable.
21503 (boot_mod_CFLAGS): Likewise.
21504 (boot_mod_LDFLAGS): Likewise.
21505 * conf/i386-coreboot.rmk: Removed redundant parts.
21506 * conf/i386-ieee1275.rmk: Likewise.
21507 * conf/i386-pc.rmk: Likewise.
21508 * conf/mips-yeeloong.rmk: Likewise.
21509 * conf/mips.rmk: Likewise.
21510 * conf/powerpc-ieee1275.rmk: Likewise.
21511 * conf/sparc64-ieee1275.rmk: Likewise.
21512 * conf/x86_64-efi.rmk: Likewise.
21513 * conf/i386-coreboot.rmk: Moved qemu parts ..
21514 * conf/i386-qemu.rmk: ... here
21515 * conf/i386-efi.rmk: Moved common parts to...
21516 * conf/x86-efi.rmk: ... here.
21517 * conf/i386.rmk: Added modules common to all x86 variants.
21518 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
21519 * disk/memdisk.c: Remove grub/machine/kernel.h.
21520 * gensymlist.sh.in: Include symbol.h.
21521 * hook/datehook.c: Correct module name.
21522 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
21523 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
21524 * include/grub/i386/efi/serial.h: New file.
21525 * include/grub/x86_64/efi/serial.h: Likewise.
21526 * util/time.c: Likewise.
21527 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
21528
463ac55f
CK
215292010-03-14 Colin King <colin.king@ubuntu.com>
215302010-03-14 Colin Watson <cjwatson@ubuntu.com>
21531
21532 Shrink the pre-partition-table part of boot.img by eight bytes.
21533
21534 * boot/i386/pc/boot.S (ERR): New macro.
21535 (chs_mode): Use ERR.
21536 (geometry_error): Likewise.
21537 (hd_probe_error): Remove. This is only used once, so we wrwite
21538 it inline instead.
21539 (read_error): Instead of printing read_error_string, just set up
21540 %si and fall through to ...
21541 (error_message): ... this new function, also used by ERR.
21542
08e46ede
CW
215432010-03-14 Colin Watson <cjwatson@ubuntu.com>
21544
21545 Speed up consecutive hostdisk operations on the same device.
21546
21547 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
21548 (grub_util_biosdisk_open): Initialise disk->data.
21549 (struct linux_partition_cache): New structure.
21550 (linux_find_partition): Cache partition start positions; these are
21551 expensive to compute on every read and write.
21552 (open_device): Cache open file descriptor in disk->data, so that we
21553 don't have to reopen it and flush the buffer cache for consecutive
21554 operations on the same device.
21555 (grub_util_biosdisk_close): New function.
21556 (grub_util_biosdisk_dev): Set `close' member.
21557
21558 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
21559 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
21560 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
21561 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
21562 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
21563
4a6d2d06
VS
215642010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21565
21566 Compile parts of grub-emu as modules.
21567
21568 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
21569 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
21570 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
21571 (all-local): Add $(GRUB_EMU).
21572 (install-local): Install $(GRUB_EMU).
21573 (uninstall): Uninstall $(GRUB_EMU).
21574 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
21575 * kern/dl.c: Likewise.
21576 * commands/sleep.c: Not include machine/time.h.
21577 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
21578 (COMMON_CFLAGS): Likewise.
21579 (sbin_UTILITIES): Remove grub-emu.
21580 (grub_emu_SOURCES): Removed.
21581 (kernel_img_RELOCATABLE): New variable.
21582 (pkglib_PROGRAMS): Add kernel.img.
21583 (kernel_img_SOURCES): New variable
21584 (kernel_img_CFLAGS): Likewise.
21585 (kernel_img_LDFLAGS): Likewise.
21586 (TARGET_NO_STRIP): Likewise.
21587 (TARGET_NO_DYNAMIC_MODULES): Likewise.
21588 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
21589 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
21590 (grub-emu): New target.
21591 (GRUB_EMU): New variable.
21592 * configure.ac: Whitelist -emu as possible x86_64 architecture.
21593 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
21594 * loader/xnu.c: Likewise.
21595 * include/grub/pci.h: Likewise.
21596 * genemuinit.sh: New file.
21597 * genemuinitheader.sh: Likewise.
21598 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
21599 Support TARGET_NO_DYNAMIC_MODULES.
21600 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
21601 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
21602 * disk/loopback.c: Likewise.
21603 * font/font_cmd.c: Likewise.
21604 * partmap/acorn.c: Likewise.
21605 * partmap/amiga.c: Likewise.
21606 * partmap/apple.c: Likewise.
21607 * partmap/gpt.c: Likewise.
21608 * partmap/msdos.c: Likewise.
21609 * partmap/sun.c: Likewise.
21610 * parttool/msdospart.c: Likewise.
21611 * term/gfxterm.c: Likewise.
21612 * video/bitmap.c: Likewise.
21613 * video/readers/jpeg.c: Likewise.
21614 * video/readers/png.c: Likewise.
21615 * video/readers/tga.c: Likewise.
21616 * video/video.c: Likewise.
21617 * util/grub-emu.c (read_command_list): Removed.
21618 (main): Don't call util_init_nls.
21619 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
21620 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
21621
91fdd2ed
VS
216222010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21623
21624 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
21625 date.mod, datehook.mod.
21626 (datetime_mod_SOURCES): New variable.
21627 (datetime_mod_CFLAGS): Likewise.
21628 (datetime_mod_LDFLAGS): Likewise.
21629 (date_mod_SOURCES): Likewise.
21630 (date_mod_CFLAGS): Likewise.
21631 (date_mod_LDFLAGS): Likewise.
21632 (datehook_mod_SOURCES): Likewise.
21633 (datehook_mod_CFLAGS): Likewise.
21634 (datehook_mod_LDFLAGS): Likewise.
21635 * conf/sparc64-ieee1275.rmk: Likewise.
21636 * lib/ieee1275/datetime.c: New file.
21637
873ccae6
VS
216382010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21639
21640 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
21641 (ieee1275_fb_mod_SOURCES): New variable.
21642 (ieee1275_fb_mod_CFLAGS): Likewise.
21643 (ieee1275_fb_mod_LDFLAGS): Likewise.
21644 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
21645 New proto.
21646 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
21647 (HEAP_MAX_ADDR): Likewise.
21648 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
21649 type.
21650 Correct stop condition.
21651 (grub_ieee1275_devices_iterate): New function.
21652 * video/ieee1275.c: New file.
21653
601c97c0
VS
216542010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
21655
21656 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
21657
21658 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
21659 as scratch.
21660 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
21661 SCRATCH_PAD_DISKBOOT as scratch.
21662 (bootit): Pass Openfirmware pointer in %o4.
21663 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
21664 of 0x200000.
21665 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
21666 with util/grub-mkrawimage.c.
21667 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
21668 * include/grub/aout.h (AOUT_MID_SUN): New definition.
21669 (grub_aout_get_type) [GRUB_UTIL]: Removed.
21670 (grub_aout_load) [GRUB_UTIL]: Likewise.
21671 * include/grub/kernel.h (grub_modules_get_end): New proto.
21672 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
21673 (SCRATCH_PAD_BOOT): New definition.
21674 (SCRATCH_PAD_DISKBOOT): Likewise.
21675 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
21676 * include/grub/sparc64/ieee1275/ieee1275.h
21677 (grub_ieee1275_original_stack): New variable
21678 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
21679 New definition
21680 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
21681 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
21682 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
21683 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
21684 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
21685 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
21686 (grub_platform_image_format_t): New type.
21687 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
21688 * kern/main.c (grub_modules_get_end)
21689 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
21690 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
21691 (codestart): Switch stacks.
21692 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
21693 variable.
21694 (grub_heap_init): Use grub_modules_get_end.
21695 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
21696 stack.
21697 * util/grub-mkrawimage.c (generate_image): Support sparc64.
21698 (main): Likewise.
21699 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
21700
d68b491e
TG
217012010-03-14 Thorsten Glaser <tg@mirbsd.org>
21702
21703 * util/grub-mkrescue.in: Base ISO UUID on UTC.
21704
4e02ed50
MK
217052010-03-08 Matt Kraai <kraai@ftbfs.org>
21706
21707 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
21708 bug #559005).
21709
1f15fc1e
VS
217102010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
21711
21712 * genmoddep.awk: Output all missing symbols and not only first.
21713
fce5d8ff
VS
217142010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21715
21716 * NEWS: Put the date of 1.98 release.
21717
d1e8a02f
VS
217182010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21719
21720 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
21721 ft2build.h.
21722
696fd607
VS
217232010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21724
21725 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
21726 completition in the middle of string.
21727
33e2e6f3
VS
217282010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21729
21730 * util/grub-mkrescue.in: Use mktemp with explicit template.
21731
b1f6d291
VS
217322010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21733
21734 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
21735
2ac227c7
VS
217362010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
21737
21738 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
21739 right pointer.
21740
8f9a632b
VS
217412010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
21742
21743 Fix FreeBSD compilation.
21744
21745 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
21746 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
21747
60b03859
VS
217482010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
21749
21750 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
21751
48a5a769
VS
217522010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21753
21754 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
21755
3ab4bd77
VS
217562010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21757
21758 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
21759
d116e0d8
RM
217602010-03-04 Robert Millan <rmh.grub@aybabtu.com>
21761
21762 Support relative image path in theme file.
21763
21764 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
21765 (image_set_property): Handle theme_dir and relative path.
21766
c7ef54aa
VS
217672010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21768
21769 * configure.ac: Alias amd64 to x86_64.
21770
fcee14ed
VS
217712010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21772
21773 * NEWS: mention multiboot on EFI.
21774
d0780363
VS
217752010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21776
21777 * kern/main.c (grub_load_modules): Handle errors from init functions of
21778 embeded modules.
21779
41168ea4
VS
217802010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21781
21782 * normal/autofs.c (autoload_fs_module): Handle errors.
21783
b54d93ac
VS
217842010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21785
21786 Disable linux.mod on qemu-mips since it's not functional and leads
21787 to compilation failure.
21788
21789 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
21790 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
21791 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
21792 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
21793 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
21794 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
21795 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
21796 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
21797 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
21798 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
21799 Reported by: BVK Chaitanya
21800
fc8345da
JU
218012010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
21802
21803 * INSTALL: Add gettext as a dependency and add qemu to a new section
21804 "Prerequisites for make-check".
21805
4760f979
CF
218062010-03-04 Christian Franke <franke@computer.org>
21807
21808 * util/grub-pe2elf.c: Add missing include "progname.h".
21809
f209b5b2
VS
218102010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21811
21812 * normal/crypto.c (read_crypto_list): Fix a typo.
21813 Reported by: Seth Goldberg.
21814
b4b7be98
VS
218152010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21816
21817 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 21818 Reported by: Seth Goldberg.
b4b7be98 21819
c0ee0385
VS
218202010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21821
21822 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
21823 ascii.bitmaps.
21824
a8efbf64
VS
218252010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21826
21827 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 21828 Reported by: Seth Goldberg.
a8efbf64 21829
08dcd913
VS
218302010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
21831
21832 * util/i386/efi/grub-install.in: Copy gettext files.
21833
c4d0b332
VS
218342010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
21835
21836 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
21837
c6f2fe52
VS
218382010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
21839
21840 Wait for user entry basing on presence of output rather than on errors.
21841
21842 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
21843 (grub_install_newline_hook): Likewise.
21844 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
21845 * normal/menu.c (show_menu): Check line_counter to determine presence
21846 of output.
21847 * normal/term.c (grub_normal_line_counter): New variable.
21848 (grub_normal_get_line_counter): New function.
21849 (grub_install_newline_hook): Likewise.
21850
5382b1e4
VS
218512010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
21852
21853 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
21854
5519963b
VS
218552010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
21856
21857 * configure.ac: Update version to 1.98.
21858
72b28631
VS
218592010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
21860
21861 * util/grub.d/10_linux.in (linux_entry): Don't default to
21862 gfxpayload=keep if Linux doesn't support video handover.
21863
c140a180
VS
218642010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
21865
21866 Don't compile video modules on yeeloong since video subsystem is part
21867 of kernel.
21868
21869 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
21870 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
21871 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
21872 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
21873 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
21874 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
21875 * include/grub/bitmap_scale.h: Likewise.
21876 * include/grub/bufio.h: Likewise.
21877 * include/grub/font.h: Likewise.
21878 * include/grub/gfxterm.h: Likewise.
21879 * include/grub/video.h: Likewise.
21880 * include/grub/vbe.h: Don't include video_fb.h.
21881 * video/i386/pc/vbe.c: Include video_fb.h.
21882 * commands/i386/pc/vbetest.c: Include video.h.
21883
a0ca21c2
CW
218842010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
21885
21886 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
21887 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
21888 default entry if GRUB_SAVEDEFAULT=true. This allows using
21889 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
21890 saving a new default on every boot.
21891
4a8a763c
VS
218922010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
21893
21894 * normal/crypto.c (read_crypto_list): Fix a memory leak.
21895 * normal/term.c (read_terminal_list): Likewise.
21896 * normal/main.c (grub_normal_init_page): Likewise.
21897 (grub_normal_read_line_real): Likewise.
21898
607ffde2
VS
218992010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
21900
21901 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
21902 memory leak.
21903 Reported by: Seth Goldberg.
21904
2b8fa975
CW
219052010-02-24 Joey Korkames <joey+lists@kidfixit.com>
21906
21907 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
21908 duplicate declaration of `start'.
21909
618307dd
VS
219102010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
21911
21912 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
21913 filename.
21914 Reported by: Georgy Buranov
21915
7dd05b96 219162010-02-20 Carles Pina i Estany <carles@pina.cat>
21917
21918 * util/grub-mkrawimage.c (usage): Change string formatting to
21919 improve gettext.
21920
d1484a42
MRA
219212010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
21922
21923 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
21924 backspace keys.
21925
42b1d186
VS
219262010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
21927
21928 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
21929 Reported by: Michael Suchanek.
21930
219312010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
21932
21933 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
21934 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
21935
d9f31a41
VS
219362010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
21937
21938 Remove any reference to non-free fonts.
21939
21940 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
21941 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
21942 uses non-free components.
21943 * font/font.c (grub_font_get_name): Remove example name.
21944 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
21945 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
21946 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
21947 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
21948
2793c71e
GB
219492010-02-16 Georgy Buranov <gburanov@gmail.com>
21950
21951 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
21952
402e3779
VS
219532010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
21954
21955 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
21956 Double divisor.
21957 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
21958 features.
21959 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
21960
0dd1e0dd
VS
219612010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
21962
21963 * gensymlist.sh.in: Use TARGET_CC instead of CC.
21964
6fa7cfce
ST
219652010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
21966
21967 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
21968 * docs/grub.texi (Command-line and menu entry commands): Document play
21969 command.
21970
37c8483b
ST
219712010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
21972
21973 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
21974 parse arguments as inline tempo and notes. Move code for playing notes
21975 to...
21976 (play): ... new function.
21977
14da0fb7
ST
219782010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
21979
21980 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
21981 grub_uint16_t instead of short.
21982 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
21983 disk from little endian to cpu endianness.
21984
04459e70
ST
219852010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
21986
21987 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
21988 GRUB_TICKS_PER_SECOND instead of 120.
21989
a0876943
VS
219902010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21991
21992 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
21993 escape sequence after \e.
21994
e29f95dc
VS
219952010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
21996
21997 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
21998 non-ASCII characters.
21999
d27859b2
VS
220002010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
22001
22002 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
22003 set root in single quotes to prevent \, from being unescaped.
22004
bc028f2f
VS
220052010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
22006
22007 Prevent unknown commands from stopping menuentry execution.
22008
22009 * script/execute.c (grub_script_execute_cmdline): Print error after
22010 unknown command.
22011
095f5f82
VS
220122010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
22013
22014 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
22015 Reported by: Pavel Pisa.
22016
8c717950
VS
220172010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22018
22019 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
22020
904935c3
VS
220212010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22022
22023 Merge grub_ieee1275_map_physical into grub_map and rename to
22024 grub_ieee1275_map
22025
22026 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
22027 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
22028 Remove.
22029 * kern/ieee1275/openfw.c (grub_map): Rename to ...
22030 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
22031 necessary.
22032 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
22033
5b59a4e3
VS
220342010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22035
22036 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
22037 opening and not after.
22038
69e137e8
VS
220392010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22040
22041 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
22042 constants.
22043
2c0fcc36
VS
220442010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22045
22046 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
22047 (alloc_phys): Use ALIGN_UP instead of align_addr.
22048
8c6052ce
VS
220492010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22050
22051 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
22052
17cec782
VS
220532010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22054
22055 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
22056
e0128bbd
VS
220572010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22058
22059 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
22060 verbose dprintf.
22061
ca62070b
VS
220622010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22063
22064 Fix over-4GiB seek on sparc64.
22065
22066 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
22067 Replace pos_i and pos_lo with pos. All users updated.
22068 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
22069 New constant.
22070 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
22071 Likewise.
22072 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
22073 and pos_lo.
22074
bdca2607
VS
220752010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22076
22077 * util/grub-mkrawimage.c (main): Call set_program_name.
22078
da278c4d
VS
220792010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22080
22081 Properly align 64-bit targets.
22082
22083 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
22084 (generate_image): Use ALIGN_ADDR.
22085
b274d734
VS
220862010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22087
22088 Properly create cross-endian images.
22089
22090 * include/grub/types.h (grub_host_to_target_addr): New macro
22091 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
22092
82da2062
VS
220932010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
22094
22095 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
22096
7cae4377
VS
220972010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
22098
22099 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
22100
22101 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
22102 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
22103 (grub_linux_boot): Divide by 64K when on VESA.
22104
65a533e7
VS
221052010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
22106
22107 Support GRUB_GFXPAYLOAD_LINUX.
22108
22109 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
22110 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
22111
dd01d397
VS
221122010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
22113
22114 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
22115 to show messages instead of discarding them.
22116 Process errors after executing command and not before. Keep old method
22117 too as precaution.
22118
660960d6
VS
221192010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
22120
22121 * configure.ac: Check for ft2build.h.
22122
62509f04
VS
221232010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22124
22125 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
22126
473df63d
VS
221272010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22128
22129 * genkernsyms.sh.in: Use TARGET_CC.
22130
c98d2a13
CW
221312010-02-07 Colin Watson <cjwatson@ubuntu.com>
22132
22133 * NEWS: Update.
22134
6e14234c
VS
221352010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22136
22137 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
22138 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
22139 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 22140
b255e9cf
YB
221412010-02-07 Yves Blusseau <blusseau@zetam.org>
22142
6e14234c 22143 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 22144
98e6959d
VS
221452010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22146
22147 Fix warnings in grub-emu when compiling with maximum warning options.
22148
22149 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
22150 (grub_arch_modules_addr): Return 0 and not NULL.
22151 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 22152 (xstrdup): Use newstr instead of dup.
f88d801b
VS
22153 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
22154 of disk to dsk to avoid shadowing.
74e4934e
VS
22155 (find_free_slot): Fix prototype.
22156 * util/getroot.c (grub_util_is_dmraid): Make static.
22157 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
22158 Add missing prototype.
22159 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 22160
74e31b5c
VS
221612010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22162
22163 * loader/i386/linux.c (grub_linux_setup_video): Handle error
22164 appropriately.
22165
6b2ad14b
VS
221662010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22167
22168 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
22169 code out.
22170
8f891adc
VS
221712010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22172
22173 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
22174 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
22175 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
22176 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
22177 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
22178 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
22179
74b45184
VS
221802010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22181
22182 * include/grub/err.h (grub_err_printf): Don't export.
22183
a4bced77
VS
221842010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22185
22186 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
22187
007d0695
VS
221882010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
22189
22190 * include/grub/i18n.h (grub_gettext_dummy): Removed.
22191 * kern/misc.c (grub_gettext_dummy): Make static.
22192
b6c0d9c2
VS
221932010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22194
22195 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
22196 by non-valid ones.
22197 * kern/term.c (grub_putchar): Likewise.
22198
f51a90d0
VS
221992010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22200
22201 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
22202 buggy hook call and memory leak.
22203
6846cec5
VS
222042010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22205
22206 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
22207
468d69fe
VS
222082010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22209
22210 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
22211
51906b8c
VS
222122010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22213
22214 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
22215 modevar.
22216 Return grub_errno on allocation error.
22217
09706ce5
VS
222182010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22219
22220 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
22221
911df80c
YB
222222010-02-06 Yves Blusseau <blusseau@zetam.org>
22223
22224 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
22225 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
22226
3746a6bc
VS
222272010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22228
22229 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
22230 non-pxe disk.
22231 (grub_pxefs_open): Likewise.
22232
09706ce5
VS
222332010-02-06 Robert Millan <rmh.grub@aybabtu.com>
22234
22235 * util/grub.d/10_hurd.in: Add --class information to menuentries.
22236 * util/grub.d/10_kfreebsd.in: Likewise.
22237 * util/grub.d/10_linux.in: Likewise.
22238
7cc192d9
VS
222392010-02-06 Colin D Bennett <colin@gibibit.com>
22240
22241 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
22242 (gfxmenu_mod_SOURCES): New variable.
22243 (gfxmenu_mod_CFLAGS): Likewise.
22244 (gfxmenu_mod_LDFLAGS): Likewise.
22245 * include/grub/term.h (grub_term_set_current_output): Declare
22246 argument as const.
22247 * docs/gfxmenu-theme-example.txt: New file.
22248 * gfxmenu/gfxmenu.c: Likewise.
22249 * gfxmenu/gui_box.c: Likewise.
22250 * gfxmenu/gui_canvas.c: Likewise.
22251 * gfxmenu/gui_circular_progress.c: Likewise.
22252 * gfxmenu/gui_image.c: Likewise.
22253 * gfxmenu/gui_label.c: Likewise.
22254 * gfxmenu/gui_list.c: Likewise.
22255 * gfxmenu/gui_progress_bar.c: Likewise.
22256 * gfxmenu/gui_string_util.c: Likewise.
22257 * gfxmenu/gui_util.c: Likewise.
22258 * gfxmenu/icon_manager.c: Likewise.
22259 * gfxmenu/model.c: Likewise.
22260 * gfxmenu/named_colors.c: Likewise.
22261 * gfxmenu/theme_loader.c: Likewise.
22262 * gfxmenu/view.c: Likewise.
22263 * gfxmenu/widget-box.c: Likewise.
22264 * include/grub/gfxmenu_model.h: Likewise.
22265 * include/grub/gfxmenu_view.h: Likewise.
22266 * include/grub/gfxwidgets.h: Likewise.
22267 * include/grub/gui.h: Likewise.
22268 * include/grub/gui_string_util.h: Likewise.
22269 * include/grub/icon_manager.h: Likewise.
22270
222712010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22272
22273 Agglomerate scrolling in gfxterm.
22274
22275 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
22276 (grub_virtual_screen_setup): Initialise 'total_screen'.
22277 (write_char): Split to ...
22278 (paint_char): ... this ...
22279 (write_char): ... and this.
22280 (paint_char): Handle delayed scrolling.
22281 (draw_cursor): Likewise.
22282 (scroll_up): Split to ...
22283 (real_scroll): ... this ...
22284 (scroll_up): ... and this.
22285 (real_scroll): Handle multi-line scroll and draw below-the-bottom
22286 characters.
22287 (grub_gfxterm_refresh): Call real_scroll.
22288
222892010-02-06 Colin D Bennett <colin@gibibit.com>
22290
22291 * include/grub/misc.h (grub_iscntrl): New inline function.
22292 (grub_isalnum): Likewise.
22293 (grub_strtol): Likewise.
22294
222952010-02-06 Colin D Bennett <colin@gibibit.com>
22296
22297 * normal/menu_text.c (get_entry_number): Move from here ...
22298 * normal/menu.c (get_entry_number): ... moved here.
22299 * include/grub/menu.h (grub_menu_get_default_entry_index):
22300 New prototype.
22301 * normal/menu.c (grub_menu_get_default_entry_index): New function.
22302 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
22303 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
22304 (grub_menu_viewer_should_return): Likewise.
22305 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
22306 * normal/menu_text.c (run_menu): Enable menu switching.
22307 * normal/menu_viewer.c (should_return): New variable.
22308 (menu_viewer_changed): Likewise.
22309 (grub_menu_viewer_show_menu): Handle menu viewer changes.
22310 (grub_menu_viewer_should_return): New function.
22311 (menuviewer_write_hook): Likewise.
22312 (grub_menu_viewer_init): Likewise.
22313
223142010-02-06 Colin D Bennet <colin@gibibit.com>
223152010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22316
22317 Support for gfxterm in a window.
22318
22319 * include/grub/gfxterm.h: New file.
22320 * include/grub/video.h (struct grub_video_rect): New declaration.
22321 (grub_video_rect_t): Likewise.
22322 * term/gfxterm.c (struct grub_gfxterm_window): New type.
22323 (refcount): New variable.
22324 (render_target): Likewise.
22325 (window): Likewise.
22326 (repaint_callback): Likewise.
22327 (grub_virtual_screen_setup): Use 'render_target'.
22328 (init_window): New function.
22329 (grub_gfxterm_init_window): Likewise.
22330 (grub_gfxterm_init): Check reference counter.
22331 Use init_window.
22332 (destroy_window): New function.
22333 (grub_gfxterm_destroy_window): Likewise.
22334 (grub_gfxterm_fini): Check reference counter.
22335 Use destroy_window.
22336 (redraw_screen_rect): Restore viewport.
22337 Use 'render_target' and 'window'.
22338 Call 'repaint_callback'.
22339 (write_char): Use 'render_target'.
22340 (draw_cursor): Likewise.
22341 (scroll_up): Restore viewport.
22342 Use 'render_target' and 'window'.
22343 Call 'repaint_callback'.
22344 (grub_gfxterm_cls): Likewise.
22345 (grub_gfxterm_refresh): Use 'window'.
22346 (grub_gfxterm_set_repaint_callback): New function.
22347 (grub_gfxterm_background_image_cmd): Use 'window'.
22348 (grub_gfxterm_get_term): New function.
22349 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
22350
223512010-02-06 Colin D Bennett <colin@gibibit.com>
22352
22353 Bitmap scaling support.
22354
22355 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
22356 (bitmap_scale_mod_SOURCES): New variable.
22357 (bitmap_scale_mod_CFLAGS): Likewise.
22358 (bitmap_scale_mod_LDFLAGS): Likewise.
22359 * include/grub/bitmap_scale.h: New file.
22360 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
22361 (background_image_cmd_options): New variable.
22362 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
22363 (cmd): Rename and change type to ...
22364 (background_image_cmd_handle): ... this. All users updated.
22365 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
22366 * video/bitmap_scale.c: New file.
22367
223682010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22369
22370 SDL support.
22371
22372 * Makefile.in (LIBSDL): New variable.
22373 (enable_grub_emu_sdl): Likewise.
22374 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
22375 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
22376 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
22377 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
22378 * util/sdl.c: New file.
22379
223802010-02-06 Colin D Bennett <colin@gibibit.com>
223812010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22382
22383 Double buffering support.
22384
22385 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
22386 * include/grub/video.h: Update comment.
22387 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
22388 New type.
22389 (grub_video_fb_doublebuf_blit_init): New prototype.
22390 * term/gfxterm.c (scroll_up): Support double buffering.
22391 (grub_gfxterm_refresh): Likewise.
22392 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
22393 (grub_video_fb_doublebuf_blit_init): Likewise.
22394 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
22395 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
22396 'displayed_page', 'render_page' and 'update_screen'.
22397 (grub_video_vbe_fini): Free offscreen buffer.
22398 (doublebuf_pageflipping_commit): New function.
22399 (doublebuf_pageflipping_update_screen): Likewise.
22400 (doublebuf_pageflipping_init): Likewise.
22401 (double_buffering_init): Likewise.
22402 (grub_video_vbe_setup): Enable doublebuffering.
22403 (grub_video_vbe_swap_buffers): Implement.
22404 (grub_video_vbe_set_active_render_target): Handle double buffering.
22405 (grub_video_vbe_get_active_render_target): Likewise.
22406 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
22407 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
22408 (grub_video_vbe_enable_double_buffering): Likewise.
22409 (grub_video_vbe_swap_buffers): Use update_screen.
22410 (grub_video_set_mode): Use double buffering.
22411
224122010-02-06 Robert Millan <rmh.grub@aybabtu.com>
22413
22414 * maintainance/gentrigtables.py: Remove.
22415 * lib/trig.c: Likewise.
22416
22417 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
22418
22419 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
22420 `trigtables.c'.
22421 (trigtables.c): New rule.
22422 (gentrigtables): Likewise.
22423 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
22424
224252010-02-06 Robert Millan <rmh.grub@aybabtu.com>
22426
22427 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
22428 integer constants.
22429
224302010-02-06 Colin D Bennet <colin@gibibit.com>
22431
22432 Trigonometry support.
22433
22434 * include/grub/trig.h: New file.
22435 * lib/trig.c: Likewise.
22436 * maintainance/gentrigtables.py: Likewise.
22437 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
22438 (trig_mod_SOURCES): New variable.
22439 (trig_mod_CFLAGS): Likewise.
22440 (trig_mod_LDFLAGS): Likewise.
22441
5562834e
VS
224422010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22443
22444 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
22445 disk devices.
22446
4f8528fc
VS
224472010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
22448
22449 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
22450 error.
22451
2b4068e9
VS
224522010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
22453
22454 * util/hostdisk.c (open_device): Don't use partition device when reading
22455 before the partition.
22456 (grub_util_biosdisk_read): Don't read from partition and before the
22457 partition in single operation.
22458 (grub_util_biosdisk_write): Don't write to partition and before the
22459 partition in single operation.
22460
399f6e4d
TL
224612010-02-03 Torsten Landschoff <torsten@debian.org>
22462
22463 * kern/disk.c (grub_disk_read): Fix offset computation when reading
22464 last sectors.
22465
996649b0
VS
224662010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
22467
22468 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
22469 CDROM reads.
22470 (grub_biosdisk_write): Refuse to write to CDROM.
22471
3b205d4d
VS
224722010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
22473
22474 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
22475
61e89d9d
VS
224762010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
22477
22478 * font/font.c (find_glyph): Check that bmp_idx is available before
22479 using it.
22480 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
22481 with (font == NULL).
22482
bf7fcba2
CS
224832010-01-28 Christian Schmitt <chris@ilovelinux.de>
22484
22485 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
22486
f45d2663
BC
224872010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
22488
22489 * include/grub/script_sh.h (sourcecode): Add const qualifier.
22490 * util/grub-script-check.c (getline): Fix empty lines case.
22491
ec1444e6
RM
224922010-01-28 Robert Millan <rmh.grub@aybabtu.com>
22493
22494 * Makefile.in (check): Exit with fail status when one of the tests
22495 fails.
22496 * tests/example_functional_test.c (example_test): Fix reversed assert.
22497 * tests/example_unit_test.c (example_test): Likewise.
22498
2e1cb9bb
CW
224992010-01-28 Colin Watson <cjwatson@ubuntu.com>
22500
22501 * util/grub.d/10_linux.in: This script does not use any of the
22502 contents of gettext.sh, only the external command `gettext', so stop
22503 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
22504 the same prefix as GRUB.)
22505 * util/grub.d/10_kfreebsd.in: Likewise.
22506
63533ab0
VS
225072010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
22508
22509 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
22510 of the line.
22511
989e1f93
VS
225122010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
22513
22514 * kern/disk.c (grub_disk_read): Fix offset computation when reading
22515 last sectors.
22516
e709ebe2
VS
225172010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
22518
22519 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
22520 having a 4KiB and not 32KiB buffer size.
22521
27dea7ed
RM
225222010-01-27 Robert Millan <rmh.grub@aybabtu.com>
22523
22524 * util/hostfs.c: Include `<errno.h>'.
22525 (grub_hostfs_read): Handle errors from fseeko() and fread().
22526
67667b9c
RM
225272010-01-27 Robert Millan <rmh.grub@aybabtu.com>
22528
22529 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
22530 loop when using read hooks on files whose size isn't sector-aligned.
22531
c294d9d8
RM
225322010-01-27 Robert Millan <rmh.grub@aybabtu.com>
22533
22534 Remove unused parameter.
22535
22536 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
22537 (grub_iso9660_open): Remove initialization of `data->length'.
22538
af75a9f1
RM
225392010-01-27 Robert Millan <rmh.grub@aybabtu.com>
22540
22541 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
22542 memleak conditions.
22543
254e2ce5 225442010-01-27 Carles Pina i Estany <carles@pina.cat>
22545
22546 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
22547 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
22548
b510928c 225492010-01-26 Carles Pina i Estany <carles@pina.cat>
22550
22551 * util/bin2h.c (usage): Fix warning (space after backslash).
22552
aa2f9dd2 225532010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 22554
22555 * font/font.c: Include `grub/fontformat.h.
22556 Remove font file format constants.
22557 (grub_font_load): Use the new macros.
22558 * include/grub/fontformat.h: New file.
22559 * util/grub-mkfont.c: Include `grub/fontformat.c'.
22560 (write_font_pf2): Use the new macros.
22561
94e7e712
RM
225622010-01-26 Robert Millan <rmh.grub@aybabtu.com>
22563
22564 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
22565 does.
22566
3973a59a
RM
225672010-01-26 Robert Millan <rmh.grub@aybabtu.com>
22568
22569 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
22570
22571 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
22572 (_start): Macroify `0x7F'.
22573
22574 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
22575 (make_install_device): Use "(pxe)" as fallback prefix when booting
22576 via PXE.
22577
42e0cba3
GS
225782010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
22579
22580 * configure.ac: Reset LIBS after check for libgcc symbols.
22581
847effd8
CW
225822010-01-25 Colin Watson <cjwatson@ubuntu.com>
22583
22584 * util/hostdisk.c (open_device): Add trailing newline to debug
22585 message.
22586
ea4a7e35
GS
225872010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
22588
22589 * configure.ac: Check for `limits.h'.
22590 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
22591
67951a53
RM
225922010-01-24 Robert Millan <rmh.grub@aybabtu.com>
22593
22594 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
22595 capitalize error strings.
22596
c273d4ce
ST
225972010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
22598
22599 * util/grub.d/10_hurd.in: Add a recovery mode.
22600
69be5b74
VS
226012010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
22602
22603 * configure.ac: Check for libgcc symbols with -nostdlib.
22604
fc9e5810
BC
226052010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
22606
22607 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
22608
4b358c0a
VS
226092010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
22610
22611 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
22612 stack since heap may be unavailable at that point.
22613 (grub_ofconsole_gotoxy): Likewise.
22614
454fcd1c
VS
226152010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
22616
22617 * configure.ac: Check for _restgpr_14_x.
22618 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
22619 and _savegpr_* prototypes.
22620
566863ca
RM
226212010-01-22 Robert Millan <rmh.grub@aybabtu.com>
22622
22623 Use generic grub_reboot() for i386-efi.
22624
22625 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
22626 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
22627 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
22628
bf86e59a
VS
226292010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
22630
22631 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
22632 presence of "prefix" variable as it breaks when normal.mod is
22633 embedded.
22634
d645e0f8
VS
226352010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
22636
22637 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
22638 stack since heap is unavailable at that point.
22639
f9ab2e25
VS
226402010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
22641
22642 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
22643 (grub_freebsd_bootinfo): Rewritten.
22644 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
22645
01fc7054
VS
226462010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
22647
22648 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
22649
caab4fd6
RM
226502010-01-21 Robert Millan <rmh.grub@aybabtu.com>
22651
22652 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
22653 domain now.
22654
67eb1427
FZ
226552010-01-20 Felix Zielcke <fzielcke@z-51.de>
22656
22657 * util/misc.c (make_system_path_relative_to_its_root): Change the work
22658 around for handling "/" to the correct fix. Fix a memory leak. Use
22659 xstrdup instead of strdup.
22660
a9ed4ff3
VS
226612010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22662
22663 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
22664
226652010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
22666
22667 Optimise glyph lookup by Basic Multilingual Plane lookup array.
22668
22669 * font/font.c (struct grub_font): New member 'bmp_idx'.
22670 (font_init): Initialise 'bmp_idx'.
22671 (load_font_index): Fill 'bmp_idx'.
22672 (find_glyph): Make inline. Use bmp_idx for BMP characters.
22673
48209f4f
VS
226742010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22675
22676 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
22677 unnecessary calls.
22678
9f0a4bb7
VS
226792010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22680
22681 Move context handling out of the kernel.
22682
22683 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
22684 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
22685 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
22686 * conf/i386-efi.rmk: Likewise.
22687 * conf/i386-ieee1275.rmk: Likewise.
22688 * conf/i386-pc.rmk: Likewise.
22689 * conf/powerpc-ieee1275.rmk: Likewise.
22690 * conf/sparc64-ieee1275.rmk: Likewise.
22691 * conf/x86_64-efi.rmk: Likewise.
22692 * include/grub/env.h: Include grub/menu.h.
22693 (grub_env_var_type): Removed.
22694 (grub_env_var): Replaced field 'type' with 'global'.
22695 (grub_env_find): New prototype.
22696 (grub_env_context_open): Remove EXPORT_FUNC.
22697 (grub_env_context_close): Likewise.
22698 (grub_env_export): Likewise.
22699 (grub_env_set_data_slot): Removed.
22700 (grub_env_get_data_slot): Likewise.
22701 (grub_env_unset_data_slot): Likewise.
22702 (grub_env_unset_menu): New prototype.
22703 (grub_env_set_menu): Likewise.
22704 (grub_env_get_menu): Likewise.
22705 * include/grub/env_private.h: New file.
22706 * include/grub/normal.h (grub_context_init): New prototype.
22707 (grub_context_fini): Likewise.
22708 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
22709 * normal/context.c (grub_cmd_export): ... to here.
22710 * kern/env.c: Include env_private.h.
22711 (HASHSZ): Moved to include/grub/env_private.h.
22712 (grub_env_context): Likewise.
22713 (grub_env_sorted_var): Likewise.
22714 (current_context): Renamed from this ...
22715 (grub_current_context): ...to this. 'static' removed. All users updated.
22716 (grub_env_find): Removed 'static'.
22717 (grub_env_context_open): Moved to normal/context.c.
22718 (grub_env_context_close): Likewise.
22719 (grub_env_export): Likewise.
22720 (mangle_data_slot_name): Removed.
22721 (grub_env_set_data_slot): Likewise.
22722 (grub_env_get_data_slot): Likewise.
22723 (grub_env_unset_data_slot): Likewise.
22724 * kern/main.c (grub_set_root_dev): Don't export root.
22725 It will be done later.
22726 (grub_main): Don't export prefix.
22727 It will be done later.
22728 * normal/context.c: New file.
22729 * normal/main.c (free_menu): Use grub_env_unset_menu.
22730 (grub_normal_add_menu_entry): Use grub_env_get_menu.
22731 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
22732 (GRUB_MOD_INIT(normal)): Call grub_context_init.
22733 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
22734
8dd35b8c
VS
227352010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22736
22737 setpci support.
22738
22739 * commands/setpci.c: New file.
22740 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
22741 (setpci_mod_SOURCES): New variable.
22742 (setpci_mod_CFLAGS): Likewise.
22743 (setpci_mod_LDFLAGS): Likewise.
22744
449193d5
VS
227452010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22746
22747 Byte-addressable PCI configuration space.
22748
22749 * bus/pci.c (grub_pci_make_address): Use byte address instead of
22750 dword address.
22751 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
22752 GRUB_PCI_REG_CACHELINE.
22753 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
22754 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
22755 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
22756 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
22757 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
22758 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
22759 grub_pci_make_address.
22760 (lock_rom_area): Likewise.
22761 * commands/lspci.c (grub_lspci_iter): Use macroses
22762 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
22763 of grub_pci_make_address.
22764 * disk/ata.c (grub_ata_pciinit): Likewise.
22765 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
22766 (GRUB_PCI_REG_VENDOR): Likewise.
22767 (GRUB_PCI_REG_DEVICE): Likewise.
22768 (GRUB_PCI_REG_COMMAND): Likewise.
22769 (GRUB_PCI_REG_STATUS): Likewise.
22770 (GRUB_PCI_REG_REVISION): Likewise.
22771 (GRUB_PCI_REG_CLASS): Likewise.
22772 (GRUB_PCI_REG_CACHELINE): Likewise.
22773 (GRUB_PCI_REG_LAT_TIMER): Likewise.
22774 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
22775 (GRUB_PCI_REG_BIST): Likewise.
22776 (GRUB_PCI_REG_ADDRESSES): Likewise.
22777 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22778 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22779 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22780 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22781 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22782 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
22783 (GRUB_PCI_REG_CIS_POINTER): Likewise.
22784 (GRUB_PCI_REG_SUBVENDOR): Likewise.
22785 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
22786 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
22787 (GRUB_PCI_REG_CAP_POINTER): Likewise.
22788 (GRUB_PCI_REG_IRQ_LINE): Likewise.
22789 (GRUB_PCI_REG_IRQ_PIN): Likewise.
22790 (GRUB_PCI_REG_MIN_GNT): Likewise.
22791 (GRUB_PCI_REG_MAX_LAT): Likewise.
22792 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
22793 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
22794 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 22795 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
22796 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
22797 space.
22798
96d73208
RM
227992010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22800
22801 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
22802 can be reliably determined to be supported.
22803
d4484482
RM
228042010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22805
22806 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
22807 that VESA is supported.
22808 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
22809 supported.
22810
00308ecf
VS
228112010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22812
22813 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
22814
f66924a4
RM
228152010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22816
22817 * util/misc.c (make_system_path_relative_to_its_root): Work around
22818 special-casing of "/", as previous incarnation of this routine did.
22819
cbca0ada
VS
228202010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22821
22822 Fix any-emu compilation.
22823
22824 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
22825 * grub_bin2h_SOURCES: New variable.
22826
34a66d99
RM
228272010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22828
22829 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
22830
94fabf58
RM
228312010-01-20 Robert Millan <rmh.grub@aybabtu.com>
22832
22833 * util/grub.d/00_header.in: Fix handling of locale_dir.
22834
02cf98ca
VS
228352010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22836
22837 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
22838 as possible unifont location (Gentoo).
22839 Reported by: Alexander Brüning
22840
327dbcd7
VS
228412010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22842
22843 Don't try to generate lists for kernel.img.
22844
22845 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
22846 (pkglib_MODULES): Remove kernel.img.
22847 (kernel_img_EXPORTS): Removed.
22848 (kernel_img_RELOCATABLE): New variable.
22849 * conf/x86_64-efi.rmk: Likewise.
22850 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
22851
ca467290
VS
228522010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22853
22854 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
22855 grub_xasprintf or grub_snprintf.
22856 (grub_vsprintf): Likewise.
22857 (grub_snprintf): New proto.
22858 (grub_vsnprintf): Likewise.
22859 (grub_xasprintf): Likewise.
22860 (grub_xvasprintf): Likewise.
22861 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
22862 (grub_sprintf): Removed.
22863 (grub_vsnprintf): New function.
22864 (grub_snprintf): Likewise.
22865 (grub_xvasprintf): Likewise.
22866 (grub_xasprintf): Likewise.
22867 (grub_vsprintf): Renamed to ...
22868 (grub_vsnprintf_real): ...this. New argument max_len.
22869
aca655fd
BC
228702010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
22871
22872 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
22873 fix grub-script-check warning.
22874
7ee92c32
VS
228752010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22876
22877 * include/grub/font.h (grub_font_load): Fix prototype.
22878
f80927ca
VS
228792010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22880
22881 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
22882
119c50ea
VS
228832010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22884
22885 * include/grub/x86_64/at_keyboard.h: New file.
22886
47d5f3c1
VS
228872010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
22888
22889 * loader/mips/linux.c: Include missing grub/i18n.h.
22890
55ff5266
RM
228912009-12-20 Robert Millan <rmh.grub@aybabtu.com>
22892
22893 * normal/menu.c (notify_execution_failure): Clarify error message.
22894
c893cc87
RM
228952009-12-20 Robert Millan <rmh.grub@aybabtu.com>
22896
22897 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
22898 return value (and revert all return statements). Update users.
22899
917dd370
CW
229002010-01-20 Dan Merillat <debian@dan.merillat.org>
22901
22902 * kern/device.c (grub_device_iterate): Allocate new part_ent
22903 structure based on sizeof (*p) rather than sizeof (p->next), to
22904 account for structure padding.
22905
22906 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
22907 disk is NULL, which might happen for LVM physical volumes with no
22908 LVM signature.
22909
d4a4ee57
RM
229102009-12-20 Robert Millan <rmh.grub@aybabtu.com>
22911
22912 * loader/mips/linux.c (grub_cmd_initrd)
22913 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
22914
229152009-12-20 Robert Millan <rmh.grub@aybabtu.com>
22916
22917 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
22918 (grub_video_video_init, grub_video_bitmap_init)
22919 (grub_font_manager_init, grub_term_gfxterm_init)
22920 (grub_at_keyboard_init): New extern declarations.
22921 (grub_machine_init): Initialize gfxterm and at_keyboard.
22922
22923 * kern/main.c (grub_main): Revert grub_printf delay kludge.
22924
22925 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
22926 `gfxterm.mod' into core image.
22927
22928 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
22929 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
22930 (kernel_img_FORMAT): Copy to ...
22931
22932 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
22933 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
22934 (kernel_img_FORMAT): ... here, and ...
22935
22936 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
22937 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
22938 (kernel_img_FORMAT): ... here.
22939
22940 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
22941 and input (at_keyboard) terminals in kernel.
22942 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
22943
22944 (pkglib_MODULES): Remove `pci.mod'.
22945 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
22946 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
22947 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
22948 (at_keyboard_mod_LDFLAGS): Remove variables.
22949
229502010-01-11 Felix Zielcke <fzielcke@z-51.de>
22951
22952 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
22953
229542009-12-10 Robert Millan <rmh.grub@aybabtu.com>
22955
22956 * include/grub/mips/libgcc.h: Only export symbols for functions
22957 that libgcc provides.
22958
229592009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
22960
22961 MIPS support.
22962
22963 * bus/bonito.c: New file.
22964 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
22965 GRUB_PCI_NUM_DEVICES.
22966 * term/i386/pc/serial.c: Move to ...
22967 * term/serial.c: ... here. All users updated.
22968 * util/i386/pc/grub-mkimage.c: Move to ...
22969 * util/grub-mkrawimage.c: ... here. All users updated.
22970 * term/i386/pc/at_keyboard.c: Move to ...
22971 * term/at_keyboard.c: ... here. All users updated.
22972 * conf/mips-qemu-mips.rmk: New file.
22973 * conf/mips-yeeloong.rmk: Likewise.
22974 * conf/mips.rmk: Likewise.
22975 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
22976 mipsel-qemu-mips.
22977 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
22978 to port addresses.
22979 (grub_ata_pciinit): Support CS5536.
22980 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
22981 * font/font_cmd.c (loadfont_command): Open file before passing it to
22982 grub_font_load.
22983 (pseudo_file_read): New function.
22984 (pseudo_file_close): Likewise.
22985 (pseudo_fs): New structure.
22986 (load_font_module): New function.
22987 (GRUB_MOD_INIT(font_manager)): Load embedded font.
22988 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
22989 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
22990 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
22991 * include/grub/i386/at_keyboard.h: Split into ...
22992 * include/grub/at_keyboard.h: ... this ...
22993 * include/grub/i386/at_keyboard.h: ... and this.
22994 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
22995 New prototype.
22996 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
22997 updated.
22998 (grub_elf64_size): Likewise.
22999 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
23000 filename.
23001 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
23002 * include/grub/i386/coreboot/serial.h: Rewritten.
23003 * include/grub/i386/ieee1275/serial.h: Include
23004 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
23005 * include/grub/i386/pc/serial.h: Moved from here ...
23006 * include/grub/serial.h: ... to here. All users updated.
23007 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
23008 (GRUB_PCI_NUM_BUS): Likewise.
23009 (GRUB_PCI_NUM_DEVICES): Likewise.
23010 (grub_pci_device_map_range): Add missing volatile keyword.
23011 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
23012 * include/grub/mips/at_keyboard.h: New file.
23013 * include/grub/mips/cache.h: Likewise.
23014 * include/grub/mips/io.h: Likewise.
23015 * include/grub/mips/kernel.h: Likewise.
23016 * include/grub/mips/libgcc.h: Likewise.
23017 * include/grub/mips/pci.h: Likewise.
23018 * include/grub/mips/qemu-mips/boot.h: Likewise.
23019 * include/grub/mips/qemu-mips/kernel.h: Likewise.
23020 * include/grub/mips/qemu-mips/loader.h: Likewise.
23021 * include/grub/mips/qemu-mips/memory.h: Likewise.
23022 * include/grub/mips/qemu-mips/serial.h: Likewise.
23023 * include/grub/mips/qemu-mips/time.h: Likewise.
23024 * include/grub/mips/relocator.h: Likewise.
23025 * include/grub/mips/time.h: Likewise.
23026 * include/grub/mips/types.h: Likewise.
23027 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
23028 * include/grub/mips/yeeloong/boot.h: Likewise.
23029 * include/grub/mips/yeeloong/kernel.h: Likewise.
23030 * include/grub/mips/yeeloong/loader.h: Likewise.
23031 * include/grub/mips/yeeloong/memory.h: Likewise.
23032 * include/grub/mips/yeeloong/pci.h: Likewise.
23033 * include/grub/mips/yeeloong/serial.h: Likewise.
23034 * include/grub/mips/yeeloong/time.h: Likewise.
23035 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
23036 * kern/elf.c (grub_elf32_size): New parameter. All users
23037 updated.
23038 (grub_elf64_size): Likewise.
23039 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
23040 Load modules before saying "Welcome to GRUB!".
23041 Call grub_refresh after saying "Welcome to GRUB!".
23042 * kern/mips/cache.S: New file.
23043 * kern/mips/cache_flush.S: Likewise.
23044 * kern/mips/dl.c: Likewise.
23045 * kern/mips/init.c: Likewise.
23046 * kern/mips/qemu-mips/init.c: Likewise.
23047 * kern/mips/startup.S: Likewise.
23048 * kern/mips/yeeloong/init.c: Likewise.
23049 * kern/term.c (grub_putcode): Handle NULL terminal.
23050 (grub_getcharwidth): Likewise.
23051 (grub_getkey): Likewise.
23052 (grub_checkkey): Likewise.
23053 (grub_getkeystatus): Likewise.
23054 (grub_getxy): Likewise.
23055 (grub_getwh): Likewise.
23056 (grub_gotoxy): Likewise.
23057 (grub_cls): Likewise.
23058 (grub_setcolorstate): Likewise.
23059 (grub_setcolor): Likewise.
23060 (grub_getcolor): Likewise.
23061 (grub_refresh): Likewise.
23062 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
23063 (write_jump): Add hatch nop.
23064 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
23065 * lib/mips/setjmp.S: New file.
23066 * loader/mips/linux.c: Likewise.
23067 * term/i386/pc/at_keyboard.c: Move from here ...
23068 * term/at_keyboard.c: ... to here.
23069 * term/i386/pc/serial.c: Moved from here ...
23070 * term/serial.c: ... to here. All users updated.
23071 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
23072 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
23073 (serial_translate_key_sequence): Avoid deadlock.
23074 (grub_serial_getkey): Handle backspace.
23075 (grub_serial_putchar): Fix newline handling.
23076 * util/i386/pc/grub-mkimage.c: Move from here ...
23077 * util/grub-mkrawimage.c: ... to here. All users updated.
23078 (generate_image): New parameters 'font_path' and 'format'.
23079 Support embedding font.
23080 Use grub_host_to_target* instead of grub_cpu_to_le*.
23081 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
23082 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
23083 (options): New option "--font".
23084 (usage): Likewise.
23085 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
23086 (main): Handle "--font".
23087 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
23088 (grub_virtual_screen_setup): Set bg_color_display.
23089 (redraw_screen_rect): Use bg_color_display instead of incorrect
23090 bg_color.
23091 (grub_gfxterm_cls): Likewise.
23092 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
23093 Support embedding config file.
23094 (add_segments): Likewise.
23095 (options): New option "--config".
23096 (main): Handle "--config".
23097 * video/sm712.c: New file.
23098
25c2b5b3
RM
230992010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23100
23101 Fix parallel builds.
23102
23103 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
23104 font.c depend on ascii.h).
23105
231062010-01-12 Carles Pina i Estany <carles@pina.cat>
23107
23108 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
23109
231102010-01-11 Carles Pina i Estany <carles@pina.cat>
23111
23112 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
23113 By default: disabled.
23114 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
23115 parameter.
23116
231172010-01-10 Carles Pina i Estany <carles@pina.cat>
23118
23119 * font/font.c: Update copyright years.
23120 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
23121
231222010-01-10 Carles Pina i Estany <carles@pina.cat>
23123
23124 * font/font.c: Include `ascii.h'.
23125 (ASCII_BITMAP_SIZE): New macro.
23126 (ascii_font_glyph): Define.
23127 (ascii_glyph_lookup): New function.
23128 (grub_font_get_string_width): Change comment. If glyph not found, use
23129 ascii_glyph_lookup.
23130 (grub_font_get_glyph_with_fallback): If glyph not available returns
23131 ascii_glyph_lookup.
23132 * util/grub-mkfont.c (file_formats): New enum.
23133 (options): Add `ascii-bitmaps' new option.
23134 (usage): Add `asii-bitmaps' new option.
23135 (write_font_ascii_bitmap): New function.
23136 (write_font): Rename to ...
23137 (write_font_p2): ... this. Remove print_glyphs call.
23138 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
23139 used. Call print_glyphs.
23140 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
23141
231422010-01-14 Robert Millan <rmh.grub@aybabtu.com>
23143
23144 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
23145 (grub_bin2h_SOURCES): New variable.
23146 * util/bin2h.c: New file.
23147
915fc1b8
VS
231482010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
23149
23150 * include/multiboot.h: Resynced with spec.
23151 * include/multiboot2.h: Likewise.
23152 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
23153 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
23154
9444b678
RM
231552010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23156
23157 * include/grub/term.h (grub_term_register_input,
23158 grub_term_register_output): Check return of terminal init()
23159 routines, and abort if errors are raised.
23160
23161 * commands/terminal.c: Update copyright year.
23162
cba98e8d
RM
231632010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23164
23165 * commands/terminal.c (grub_cmd_terminal_input)
23166 (grub_cmd_terminal_output): Check return of terminal init()
23167 routines, and abort if errors are raised.
23168
6f7db5d6
VS
231692010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
23170
23171 * include/grub/i386/bsd.h: Fix include pathes.
23172
262bff8d
VS
231732010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
23174
23175 Add missing *BSD copyright headers.
23176
23177 * include/grub/aout.h: Add BSD licence.
23178 * include/grub/i386/bsd.h: Parts under different licences moved to ...
23179 * include/grub/i386/freebsd_linker.h: ... here,
23180 * include/grub/i386/freebsd_reboot.h: ... here,
23181 * include/grub/i386/netbsd_bootinfo.h: ... here,
23182 * include/grub/i386/netbsd_reboot.h: ... here,
23183 * include/grub/i386/openbsd_bootarg.h: ... here,
23184 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
23185 licence to each file.
23186
b2cab848
RM
231872010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23188
23189 * acinclude.m4: Remove `nop' assembly instruction; it's not
23190 implemented by all architectures.
23191
2cb6be4b
RM
231922010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23193
23194 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
23195 ELILO. This is no longer necessary.
23196
a2eaee15
BC
231972010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
23198
23199 Added new tool, grub-scrit-check to verify grub.cfg syntax.
23200
23201 * util/grub-script-check.c: grub-script-check tool.
23202 * conf/common.rmk: Make rules for grub-script-check.
23203
88d17012
RM
232042010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23205
23206 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
23207 spotting it back in 2008. Shame on me for forgetting he did.
23208
23209 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
23210
8040619d
RM
232112010-01-18 Robert Millan <rmh.grub@aybabtu.com>
23212
23213 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
23214 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
23215 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
23216 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
23217 (GRUB_VIDEO_TYPE_EFI): Rename to ...
23218 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
23219
a0c2a0f6
RM
232202010-01-17 Robert Millan <rmh.grub@aybabtu.com>
23221
23222 * include/grub/test.h: Add license header.
23223 * tests/example_functional_test.c: Likewise.
23224 * tests/example_unit_test.c: Likewise.
23225 * tests/lib/functional_test.c: Likewise.
23226 * tests/lib/test.c: Likewise.
23227 * tests/lib/unit_test.c: Likewise.
23228
b0b13907
VS
232292010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
23230
23231 Use flag-based instead of hook-based video mode selection and "auto"
23232 keyword.
23233
23234 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
23235 (grub_video_set_mode): Changed prototype. All users updated.
23236 (grub_video_check_mode_flag): New inline function.
23237 * video/video.c (parse_modespec): New function.
23238 (grub_video_set_mode): Parse flags and keywords.
23239
ea379330 232402010-01-17 Carles Pina i Estany <carles@pina.cat>
23241
23242 * util/misc.c (grub_util_info): Fix the order of the parameters in a
23243 fprintf call.
23244
e15c215e
FZ
232452010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
23246
23247 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
23248
409ae1c9 232492010-01-16 Carles Pina i Estany <carles@pina.cat>
23250
23251 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
23252 string.
23253 * util/grub-emu.c (usage): Likewise.
23254 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
23255 * util/i386/efi/grub-mkimage.c (usage): Likewise.
23256 * util/i386/pc/grub-mkimage.c (usage): Likewise.
23257 * util/i386/pc/grub-setup.c (usage): Likewise.
23258
70a14d3d 232592010-01-16 Carles Pina i Estany <carles@pina.cat>
23260
23261 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
23262 the message.
23263 (grub_util_info): Likewise.
23264 (grub_util_error): Likewise.
23265 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
23266 and/or new lines in `grub_util_warna', `grub_util_info',
23267 `grub_util_error' calls.
23268 * util/getroot.c: Likewise.
23269 * util/grub-editenv.c: Likewise.
23270 * util/grub-emu.c: Likewise.
23271 * util/grub-fstest.c: Likewise.
23272 * util/grub-mkdevicemap.c: Likewise.
23273 * util/grub-mkfont.c: Likewise.
23274 * util/grub-mkpasswd-pbkdf2.c: Likewise.
23275 * util/grub-mkrelpath.c: Likewise.
23276 * util/grub-pe2elf.c: Likewise.
23277 * util/grub-probe.c: Likewise.
23278 * util/hostdisk.c: Likewise.
23279 * util/i386/efi/grub-mkimage.c: Likewise.
23280 * util/i386/pc/grub-mkimage.c: Likewise.
23281 * util/i386/pc/grub-setup.c: Likewise.
23282 * util/ieee1275/ofpath.c: Likewise.
23283 * util/mkisofs/eltorito.c: Likewise.
23284 * util/mkisofs/rock.c: Likewise.
23285 * util/mkisofs/write.c: Likewise.
23286 * util/raid.c: Likewise.
23287 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
23288 * util/sparc64/ieee1275/grub-setup.c: Likewise.
23289
a0b766fc
VS
232902010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
23291
23292 Enable multiboot on non-pc.
23293
23294 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
23295 multiboot.mod and multiboot2.mod to ...
23296 * conf/i386.rmk (pkglib_MODULES): ... here.
23297 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
23298 Moved to ...
23299 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
23300 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
23301 Moved to ...
23302 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
23303 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
23304 Moved to ...
23305 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
23306 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
23307 Moved to ...
23308 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
23309 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
23310 relocator.mod.
23311 (ata_mod_SOURCES): Removed.
23312 (ata_mod_CFLAGS): Likewise.
23313 (ata_mod_LDFLAGS): Likewise.
23314 (relocator_mod_SOURCES): Removed.
23315 (relocator_mod_CFLAGS): Likewise.
23316 (relocator_mod_ASFLAGS): Likewise.
23317 (relocator_mod_LDFLAGS): Likewise.
23318 Include i386.mk.
23319 * include/grub/x86_64/multiboot.h: New file.
23320 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
23321 Terminate EFI.
23322
884ade56
VS
233232010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
23324
23325 Video multiboot support.
23326
23327 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
23328 New prototype.
23329 * include/multiboot.h: Resynced with multiboot specification.
23330 * include/multiboot2.h: Likewise.
23331 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
23332 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
23333 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
23334 (HAS_VGA_TEXT): Likewise.
23335 (accepts_video): New variable.
23336 (grub_multiboot_set_accepts_video): New function.
23337 (grub_multiboot_get_mbi_size): Account for video structures.
23338 (set_video_mode): New function.
23339 (retrieve_video_parameters): Likewise.
23340 (grub_multiboot_make_mbi): Fill video fields.
23341
0d90e8a6
VS
233422010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
23343
23344 Video driver ids.
23345
23346 * include/grub/video.h (grub_video_driver_id): New type.
23347 (grub_video_adapter): New member 'id'. All users updated.
23348 (grub_video_get_driver_id): New proto.
23349 * video/video.c (grub_video_get_driver_id): New function.
23350
5c71db1b 233512010-01-14 Carles Pina i Estany <carles@pina.cat>
23352
23353 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
23354 `var=val'.
23355
cca15b52 233562010-01-14 Carles Pina i Estany <carles@pina.cat>
23357
23358 * normal/cmdline.c (print_completion): Gettextizze.
23359
c586fbb2 233602001-01-14 Carles Pina i Estany <carles@pina.cat>
23361
23362 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
23363
ba2f6848 233642010-01-14 Carles Pina i Estany <carles@pina.cat>
23365
23366 * gettext/gettext.c (grub_gettext_translate): Push and pop
23367 grub_errno.
23368 (grub_gettext_delete_list): Change comment style.
23369 * kern/err.c (grub_error): Gettextizze.
23370 (grub_fatal): Gettextizze.
23371
0a46429a
RM
233722010-01-14 Robert Millan <rmh.grub@aybabtu.com>
23373
23374 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
23375 (grub_linux16_real_boot): ... this.
23376 * kern/i386/loader.S: Likewise.
23377 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
23378 (grub_linux16_boot): New function. Switches to text mode and calls
23379 grub_linux16_real_boot().
23380
23381 * loader/i386/bsd.c: Include `<grub/video.h>'.
23382 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
23383 text mode before calling grub_unix_real_boot().
23384
23385 * loader/i386/multiboot.c: Include `<grub/video.h>'.
23386 (grub_multiboot_boot): Switch to text mode before calling
23387 grub_relocator32_boot().
23388
23389 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
23390 (grub_chainloader_boot): Switch to text mode before calling
23391 grub_chainloader_real_boot().
23392
d6f93a66
RM
233932010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
233942010-01-05 Colin Watson <cjwatson@ubuntu.com>
23395
23396 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
23397 non-empty value.
23398
233992010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
234002010-01-05 Colin Watson <cjwatson@ubuntu.com>
23401
23402 * util/grub.d/00_header.in: Define a "savedefault" function for use
23403 in menu entries.
23404 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
23405
234062010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
234072010-01-05 Colin Watson <cjwatson@ubuntu.com>
23408
23409 * util/grub-mkconfig_lib.in (save_default_entry): Only set
23410 saved_entry if boot_once is unset.
23411 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
23412 previous saved entry (i.e. grub-reboot).
23413
234142009-12-08 Colin Watson <cjwatson@ubuntu.com>
23415
23416 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
23417
234182009-12-08 Colin Watson <cjwatson@ubuntu.com>
23419
23420 * util/grub.d/00_header.in: Use `set var=val' rather than plain
23421 `var=val'.
23422 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
23423
234242009-12-08 Colin Watson <cjwatson@ubuntu.com>
23425
23426 * util/grub-reboot.in: Fix --version output.
23427 * util/grub-set-default.in: Likewise.
23428
234292009-12-08 Colin Watson <cjwatson@ubuntu.com>
23430
23431 * util/grub.d/00_header.in: Silently ignore zero-sized environment
23432 blocks.
23433
234342009-12-08 Colin Watson <cjwatson@ubuntu.com>
23435
23436 * util/grub.d/00_header.in: Quote the value assigned to `default',
23437 in case it contains spaces.
23438
234392009-12-08 Colin Watson <cjwatson@ubuntu.com>
23440
23441 * util/grub.d/30_os-prober.in: Fix merge error that moved a
23442 `save_default_entry' call from the macosx case to the linux case.
23443
234442009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
234452009-10-25 Colin Watson <cjwatson@ubuntu.com>
23446
23447 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
23448 in `chosen' environment variable.
23449 * normal/menu_text.c (get_entry_number): Check if the variable
23450 matches the title of a menu entry.
23451 (run_menu): Pass menu to get_entry_number.
23452
23453 * util/grub-reboot.in: New file.
23454 * util/grub-set-default.in: New file.
23455 * conf/common.rmk (grub-reboot): New utility.
23456 (grub-set-default): New utility.
23457
23458 * util/grub-mkconfig_lib.in (save_default_entry): New function.
23459 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
23460 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
23461 move it to `saved_entry' for the next boot. Load environment on
23462 initialisation.
23463 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
23464 * util/grub.d/10_hurd.in: Likewise.
23465 * util/grub.d/10_linux.in (linux_entry): Likewise.
23466 * util/grub.d/10_windows.in: Likewise.
23467 * util/grub.d/30_os-prober.in: Likewise.
23468
23469 * util/grub-install.in: Create environment block.
23470 * util/i386/efi/grub-install.in: Likewise.
23471 * util/ieee1275/grub-install.in: Likewise.
23472 * util/sparc64/ieee1275/grub-install.in: Likewise.
23473
0934d184
BC
234742010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
23475
23476 Unit testing framework for GRUB.
23477
23478 * Makefile.in: Test framework build rules for 'make check'.
23479 * conf/tests.rmk: Build rules for individual tests and framework.
23480
23481 * include/grub/test.h: Header file for whitebox tests.
23482 * tests/lib/functional_test.c: Framework support for whitebox
23483 functional tests.
23484 * tests/lib/test.c: Common whitebox testing code for unit and
23485 functional tests.
23486 * tests/lib/unit_test.c: Framework support for whitebox unit
23487 tests.
23488
23489 * tests/util/grub-shell-tester.in: Support utility for grub-script
23490 tests.
23491 * tests/util/grub-shell.in: Utility to execute grub-script
23492 commands in a Qemu instance.
23493
23494 * tests/example_functional_test.c: Example whitebox functional
23495 test.
23496 * tests/example_grub_script_test.in: Example grub-script test.
23497 * tests/example_scripted_test.in: Example scripted test.
23498 * tests/example_unit_test.c: Example whitebox unit test.
23499
9c4ffeeb
VS
235002010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
23501
23502 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
23503 Add loader/i386/multiboot_mbi.c.
23504 (multiboot2_mod_SOURCES): Likewise.
23505 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
23506 (multiboot2_mod_SOURCES): Likewise.
23507 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
23508 (grub_multiboot_make_mbi): Likewise.
23509 (grub_multiboot_free_mbi): Likewise.
23510 (grub_multiboot_init_mbi): Likewise.
23511 (grub_multiboot_add_module): Likewise.
23512 (grub_multiboot_set_bootdev): Likewise.
23513 * loader/i386/multiboot.c (mbi): Removed.
23514 (mbi_dest): Likewise.
23515 (alloc_mbi): New variable.
23516 (grub_multiboot_payload_size): Removed. All users updated.
23517 (grub_multiboot_pure_size): New variable.
23518 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
23519 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
23520 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
23521 (grub_fill_multiboot_mmap): Likewise.
23522 (grub_multiboot_get_bootdev): Likewise.
23523 (grub_multiboot): Use multiboot_mbi functions.
23524 * loader/i386/multiboot_mbi.c: New file.
23525
17383dfe
VS
235262010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
23527
23528 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
23529 it would result in module crash.
23530
c1f28820
VS
235312010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
23532
23533 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
23534 (grub_ofconsole_getwh): Split to ...
23535 (grub_ofconsole_getwh): ... this.
23536 (grub_ofconsole_dimensions): ...and this.
23537 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
23538
58655a16
RM
235392010-01-13 Robert Millan <rmh.grub@aybabtu.com>
23540
23541 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
23542
10891398
VS
235432010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
23544
23545 * loader/i386/pc/multiboot2.c: Removed stalled file.
23546
0b8a223c
VS
235472010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
23548
23549 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
23550 Reported by: Grégoire Sutre
23551
92ab12b0
RM
235522010-01-11 Robert Millan <rmh.grub@aybabtu.com>
23553
23554 * util/misc.c (canonicalize_file_name): New function.
23555 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
23556 instead of realpath().
23557
a788afb6
CW
235582010-01-11 Colin Watson <cjwatson@ubuntu.com>
23559
23560 * util/grub-install.in (usage): Clarify meaning of --root-directory,
23561 and make it clearer that it's optional. Based on confusion
23562 witnessed on IRC.
23563
ffa8e3d2
VS
235642010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
23565
23566 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
23567 in premature implicit newline.
23568
e9060a9d
VS
235692010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
23570
23571 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
23572 which resulted in garbled command line at the end of screen.
23573
f0d0c0b7
RM
235742010-01-10 Robert Millan <rmh.grub@aybabtu.com>
23575
23576 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
23577 initialization with similar approach as with other Linux loaders.
23578
0e60bae7
RM
235792010-01-10 Robert Millan <rmh.grub@aybabtu.com>
23580
23581 Fix i386-ieee1275 build.
23582
23583 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
23584 and grub_term_height() for video_{width,height} initialization.
23585
235862010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
23587
23588 Fix grub-emu build.
23589
23590 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
23591
cdb3f378
RM
235922010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
235932010-01-09 Robert Millan <rmh.grub@aybabtu.com>
23594
23595 Support for multiple terminals.
23596
23597 * Makefile.in (pkglib_DATA): terminal.lst.
23598 (terminal.lst): New target.
23599 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
23600 (GRUB_MOD_INIT(handler)): Likewise.
23601 (GRUB_MOD_FINI(handler)): Likewise.
23602 * commands/help.c (grub_cmd_help): Handle multiple terminals.
23603 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
23604 * commands/sleep.c (do_print): Use grub_term_restore_pos.
23605 (grub_cmd_sleep): Use grub_term_save_pos.
23606 * commands/terminal.c: New file.
23607 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
23608 commands/terminal.c and lib/charset.c.
23609 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
23610 (pkglib_MODULES): Add terminal.mod.
23611 (terminal_mod_SOURCES): New variable.
23612 (terminal_mod_CFLAGS): Likewise.
23613 (terminal_mod_LDFLAGS): Likewise.
23614 * genhandlerlist.sh: Don't handle terminals.
23615 * genmk.rb: Generate terminal-*.lst.
23616 * genterminallist.sh: New file.
23617 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
23618 (grub_is_valid_utf8): Likewise.
23619 (grub_utf8_to_ucs4_alloc): Likewise.
23620 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
23621 (grub_menu_register_viewer): Changed argument.
23622 (grub_menu_try_text): New proto.
23623 (grub_gfxmenu_try_hook): New declaration.
23624 * include/grub/normal.h (grub_normal_exit_level): New declaration.
23625 (grub_menu_init_page): Additional argument term.
23626 (grub_normal_init_page): Likewise.
23627 (grub_cmdline_get): Arguments simplified.
23628 (grub_utf8_to_ucs4_alloc): Removed.
23629 (grub_print_ucs4): Additional argument term.
23630 (grub_getstringwidth): Likewise.
23631 (grub_print_message_indented): Likewise.
23632 (grub_menu_text_register_instances): New proto.
23633 (grub_show_menu): Likewise.
23634 (read_terminal_list): Likewise.
23635 (grub_set_more): Likewise.
23636 * include/grub/parser.h: Include handler.h.
23637 * include/grub/reader.h: Rewritten.
23638 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
23639 (GRUB_TERM_WIDTH): Changed to function.
23640 (GRUB_TERM_HEIGHT): Likewise.
23641 (GRUB_TERM_BORDER_WIDTH): Likewise.
23642 (GRUB_TERM_BORDER_HEIGHT): Likewise.
23643 (GRUB_TERM_NUM_ENTRIES): Likewise.
23644 (GRUB_TERM_ENTRY_WIDTH): Likewise.
23645 (GRUB_TERM_CURSOR_X): Likewise.
23646 (grub_term_input_class): Likewise.
23647 (grub_term_output_class): Likewise.
23648 (grub_term_outputs_disabled): New declaration.
23649 (grub_term_inputs_disabled): Likewise.
23650 (grub_term_outputs): Likewise.
23651 (grub_term_inputs): Likewise.
23652 (grub_term_register_input): Rewritten.
23653 (grub_term_register_output): Likewise.
23654 (grub_term_unregister_input): Likewise.
23655 (grub_term_unregister_output): Likewise.
23656 (FOR_ACTIVE_TERM_INPUTS): New macro.
23657 (FOR_DISABLED_TERM_INPUTS): Likewise.
23658 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
23659 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
23660 * include/grub/terminfo.h: Add oterm argument to all protypes.
23661 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
23662 Use grub_rescue_run.
23663 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
23664 All users updated.
23665 * kern/reader.c: Removed. All users updated.
23666 * kern/rescue_reader.c (grub_rescue_init): Removed.
23667 (grub_rescue_reader): Likewise.
23668 (grub_register_rescue_reader): Likewise.
23669 (grub_rescue_run): New function based on kern/reader.c.
23670 * kern/term.c: Adapted for multiterm.
23671 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
23672 (grub_is_valid_utf8): Likewise.
23673 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
23674 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
23675 right terminal.
23676 * loader/i386/linux.c (grub_linux_boot): Likewise.
23677 * normal/auth.c (grub_username_get): New function.
23678 (grub_auth_check_authentication): Use grub_username_get.
23679 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
23680 * normal/color.c: Adapt for multiterm.
23681 * normal/main.c (read_config_file): Don't use grub_reader_loop.
23682 (grub_normal_init_page): Additional argument term.
23683 (read_lists): Call read_terminal_lists.
23684 (grub_enter_normal_mode): Call grub_cmdline_run.
23685 Handle grub_normal_exit_level.
23686 (grub_cmd_normal): Make reentrant.
23687 (grub_cmd_normal_exit): New function.
23688 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
23689 * normal/menu.c: Adapt for multiterm.
23690 * normal/menu_entry.c: Likewise.
23691 * normal/menu_text.c: Likewise.
23692 * normal/menu_viewer.c: Removed. All users updated.
23693 * normal/term.c: New file.
23694 * util/console.c: Change order of includes to workaround a bug in
23695 ncurses headers.
23696 * term/terminfo.c: New argument oterm on all exported functions.
23697 All users updated.
23698 * util/grub-editenv.c (grub_term_input_class): Removed.
23699 (grub_term_output_class): Likewise.
23700
1a064917
RM
237012010-01-09 Robert Millan <rmh.grub@aybabtu.com>
23702
23703 Make loader output a bit more user-friendly.
23704
23705 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
23706 is being loaded. Likewise for the Hurd.
23707
23708 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
23709 that kernel of FreeBSD ${version} is being loaded.
23710
23711 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
23712 grub_dprintf().
23713 (grub_cmd_initrd): Likewise.
23714 * util/grub.d/10_linux.in (linux_entry): Print message indicating
23715 that Linux ${version} is being loaded. Likewise for initrd.
23716
5ce0a83a 237172010-01-09 Carles Pina i Estany <carles@pina.cat>
23718
23719 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
23720
809bbfeb 237212010-01-08 Carles Pina i Estany <carles@pina.cat>
23722
23723 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
23724 (GRUB_MOD_INIT): Gettextizze.
23725 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
23726 (GRUB_MOD_INIT): Gettextizze.
23727 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
23728 (grub_cmd_linux): Capitalise Linux.
23729 (GRUB_MOD_INIT): Gettextizze.
23730 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
23731 (grub_cmd_linux): Capitalise Linux.
23732 (GRUB_MOD_INIT): Gettextizze.
23733 * loader/i386/linux.c: Include `<grub/i18n.h>'.
23734 (grub_cmd_linux): Capitalise Linux.
23735 (GRUB_MOD_INIT): Gettextizze.
23736 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
23737 (GRUB_MOD_INIT): Gettextizze.
23738 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
23739 (grub_cmd_linux): Capitalise Linux.
23740 (GRUB_MOD_INIT): Gettextizze.
23741 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
23742 (grub_cpu_xnu_init): Gettextizze.
23743 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
23744 (GRUB_MOD_INIT): Gettextizze.
23745 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
23746 (GRUB_MOD_INIT): Gettextizze.
23747 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
23748 (grub_linux_load64): Capitalise Linux.
23749 (GRUB_MOD_INIT): Gettextizze.
23750 * loader/xnu.c: Include `<grub/i18n.h>'.
23751 (GRUB_MOD_INIT): Gettextizze.
23752 * po/POTFILES: Add `loader/efi/appleloader.c',
23753 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
23754 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
23755 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
23756 `loader/i386/xnu.c', `loader/multiboot_loader.c',
23757 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
23758 and `loader/xnu.c'.
23759
b394b2ca
RM
237602010-01-08 Robert Millan <rmh.grub@aybabtu.com>
23761
23762 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
23763
237642010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
23765
23766 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
23767 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
23768 * util/mkisofs/mkisofs.c (main): Readjust --version output.
23769
bc8b32b3
RM
237702010-01-07 Robert Millan <rmh.grub@aybabtu.com>
23771
23772 Reset Multiboot 2 support. New loader implements the draft in
23773 /branches/multiboot2 and shares as much code as possible with the
23774 production Multiboot 1 implementation.
23775
23776 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
23777 * loader/multiboot2.c: Likewise.
23778 * loader/i386/multiboot_helper.S: Likewise.
23779 * include/multiboot2.h: Replace with latest version from the draft
23780 in /branches/multiboot2.
23781
23782 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
23783 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
23784 and `loader/multiboot2.c'.
23785 (pkglib_MODULES): Add `multiboot2.mod'.
23786 (multiboot2_mod_SOURCES): New variable.
23787 (multiboot2_mod_LDFLAGS): Likewise.
23788 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
23789
23790 * conf/i386-pc.rmk: Likewise.
23791
23792 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
23793 (multiboot_mod_SOURCES): Remove variable.
23794 (multiboot_mod_LDFLAGS): Likewise.
23795 (multiboot_mod_CFLAGS): Likewise.
23796
23797 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
23798 `<multiboot2.h>' instead of `<multiboot.h>'.
23799 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
23800 (MULTIBOOT_HEADER_MAGIC): New macros.
23801
23802 * loader/multiboot_loader.c (module_version_status): Remove variable.
23803 (find_multi_boot2_header): Remove function.
23804 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
23805 logic. Always check for the Multiboot version we're compiling for.
23806 (grub_cmd_module_loader): Likewise.
23807 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
23808 command instead of `multiboot'.
23809
5d2c52b8
RM
238102010-01-07 Robert Millan <rmh.grub@aybabtu.com>
23811
23812 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
23813 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
23814 all users.
23815
53108d92
RM
238162010-01-07 Robert Millan <rmh.grub@aybabtu.com>
238172010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
23818
23819 Fix breakage introduced with previous commit.
23820
23821 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
23822 commands.
23823 * normal/handler.c (read_handler_list): Revert part of previous commit
23824 affecting this file.
23825 * normal/main.c (read_lists): Move read_handler_list() call back to ...
23826 (grub_normal_execute): ... here.
23827
e2e936b2
RM
238282010-01-07 Robert Millan <rmh.grub@aybabtu.com>
23829
23830 Merge prefix-redefinition-fix branch.
23831
23832 * normal/autofs.c (read_fs_list): Make function capable of being
23833 run multiple times, gracefuly replacing the previous data
23834 structures.
23835 * normal/dyncmd.c (read_command_list): Likewise.
23836 * normal/handler.c (read_handler_list): Likewise.
23837 * normal/main.c (read_lists): New function. Calls all the
23838 list reading functions.
23839 (grub_normal_execute): Use read_lists() instead of calling all
23840 list reading functions explicitly. Register read_lists() as a
23841 variable hook attached to ${prefix}.
23842
607a3701
VS
238432010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
23844
23845 Merge crypto branch.
23846
23847 * Makefile.in (pkglib_DATA): Add crypto.lst.
23848 (crypto.lst): New target.
23849 * commands/hashsum.c: New file.
23850 * commands/password.c (check_password): Use grub_crypto_memcmp.
23851 * commands/password_pbkdf2.c: New file.
23852 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
23853 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
23854 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
23855 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
23856 -I$(srcdir)/lib/libgcrypt_wrap.
23857 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
23858 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
23859 password_pbkdf2.mod.
23860 (crypto_mod_SOURCES): New variable.
23861 (crypto_mod_CFLAGS): Likewise.
23862 (crypto_mod_LDFLAGS): Likewise.
23863 (hashsum_mod_SOURCES): New variable.
23864 (hashsum_mod_CFLAGS): Likewise.
23865 (hashsum_mod_LDFLAGS): Likewise.
23866 (pbkdf2_mod_SOURCES): New variable.
23867 (pbkdf2_mod_CFLAGS): Likewise.
23868 (pbkdf2_mod_LDFLAGS): Likewise.
23869 (password_pbkdf2_mod_SOURCES): New variable.
23870 (password_pbkdf2_mod_CFLAGS): Likewise.
23871 (password_pbkdf2_mod_LDFLAGS): Likewise.
23872 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
23873 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
23874 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
23875 Include conf/gcry.rmk.
23876 * include/grub/auth.h: Rewritten.
23877 * include/grub/crypto.h: New file.
23878 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
23879 * include/grub/normal.h (read_crypto_list): New prototype.
23880 * lib/crypto.c: New file.
23881 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
23882 * lib/pbkdf2.c: Likewise.
23883 * normal/auth.c (grub_auth_strcmp): Removed.
23884 (grub_iswordseparator): Likewise.
23885 (grub_auth_strword): Likewise.
23886 (is_authenticated): Use grub_strword.
23887 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
23888 and grub_strword. Pass entered password to authentication callback.
23889 * normal/crypto.c: New file.
23890 * normal/main.c: Call read_crypto_list.
23891 * util/grub-mkpasswd-pbkdf2.c: New file.
23892 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
23893
42841caa
VS
238942010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
23895
23896 Fix descent and ascent calculation.
23897
23898 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
23899 (options): New option "asce".
23900 (usage): Likewise.
23901 (add_char): Ignore invalid glyphs for descent calculation.
23902 Calculate ascent from actual content.
23903 (print_glyphs): Use 'asce'.
23904 (write_font): Likewise. Allow ascent override.
23905 (main): Handle "asce" option.
23906
e7730de7 239072010-01-06 Carles Pina i Estany <carles@pina.cat>
23908
23909 * kern/err.c: Include `<grub/i18n.h>'.
23910 (grub_print_error): Add full stop. Gettextizze.
23911 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
23912 (grub_bsd_load_elf): Capitalise ELF.
23913 (grub_cmd_freebsd_loadenv): Add `s' in error string.
23914 (grub_cmd_freebsd_module): Likewise.
23915 (grub_cmd_freebsd_module_elf): Likewise.
23916 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
23917
40e3a41f 239182010-01-06 Carles Pina i Estany <carles@pina.cat>
23919
23920 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
23921 * commands/search_file.c (HELP_MESSAGE): New macro.
23922 * commands/search_label.c (HELP_MESSAGE): Likewise.
23923 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
23924 * po/POTFILES: Add `commands/search_file.c',
23925 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
23926 `commands/search.c'.
23927
83507e68
RM
239282010-01-05 Robert Millan <rmh.grub@aybabtu.com>
23929
23930 * config.rpath: Update from Gnulib.
23931
465c787b
YB
239322010-01-05 Yves Blusseau <blusseau@zetam.org>
23933
23934 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
23935
6581dd3a
YB
239362010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
23937
23938 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
23939
3bff18c5
CW
239402010-01-05 Colin Watson <cjwatson@ubuntu.com>
23941
23942 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
23943 arguments to fread so that we get a return value in bytes, rather
23944 than something that will normally be rounded down to 0.
23945 Adjust error handling to avoid producing garbage when size_t is not
23946 the same size as long long.
23947
a1368118
CW
239482010-01-05 Colin Watson <cjwatson@ubuntu.com>
23949
23950 * util/mkisofs/write.c (padblock_write): Check return value of
23951 fread.
23952
7c302978
RM
239532010-01-05 Robert Millan <rmh.grub@aybabtu.com>
23954
23955 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
23956 floppy images now.
23957
23958 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
23959
e33ace06
RM
239602010-01-04 Robert Millan <rmh.grub@aybabtu.com>
23961
23962 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
23963 instead of manual alignment.
23964 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
23965 verbose). Avoid attempts to read past end of the device
23966 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
23967 but GRUB_DISK_CACHE_SIZE may exceed that).
23968
4b856776
RM
239692010-01-04 Robert Millan <rmh.grub@aybabtu.com>
23970
23971 * commands/crc.c (grub_cmd_crc): Abort on read errors.
23972 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
23973 it to upper layer.
23974
52c2d97f
VS
239752010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
23976
23977 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
23978 New constant.
23979 (grub_efi_piwg_device_path): New structure
23980 (grub_efi_piwg_device_path_t): New type.
23981 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
23982 (devpath_1): Transform to a structure. All users updated.
23983 (devpath_2): Likewise.
23984 (devpath_3): Likewise.
23985 (devpath_4): Likewise.
23986 (devpath_5): Likewise.
23987
98ff6a54
VS
239882010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
23989
23990 * loader/efi/appleloader.c: Restored. Update all users.
23991
3a73dcb6
RM
239922010-01-03 Robert Millan <rmh.grub@aybabtu.com>
23993
23994 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
23995
23996 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
23997 (struct boot_blocklist): Move from here ...
23998 * include/grub/i386/pc/boot.h [ASM_FILE]
23999 (struct grub_boot_blocklist): ... to here. Update all users.
24000 (setup): Only initialize `start' member of `first_block'
24001 structure. Add assert() calls to verify the other members.
24002
24003 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
24004 (generate_image): Fix broken blocklist length initialization.
24005 Add assert() call to verify blocklist `segment' field.
24006
ab0eeb0c
RM
240072010-01-03 Robert Millan <rmh.grub@aybabtu.com>
24008
24009 * loader/efi/appleloader.c: Remove. Update all users.
24010
58bc8bd5
RM
240112010-01-03 Robert Millan <rmh.grub@aybabtu.com>
24012
24013 * boot/i386/pc/boot.S: Update copyright year.
24014 * boot/i386/pc/cdboot.S: Likewise.
24015 * boot/i386/pc/diskboot.S: Likewise.
24016 * boot/i386/pc/lnxboot.S: Likewise.
24017 * boot/i386/pc/pxeboot.S: Likewise.
24018 * bus/pci.c: Likewise.
24019 * commands/cmp.c: Likewise.
24020 * commands/help.c: Likewise.
24021 * commands/hexdump.c: Likewise.
24022 * commands/i386/pc/halt.c: Likewise.
24023 * commands/i386/pc/play.c: Likewise.
24024 * commands/i386/pc/vbeinfo.c: Likewise.
24025 * commands/ls.c: Likewise.
24026 * commands/test.c: Likewise.
24027 * disk/dmraid_nvidia.c: Likewise.
24028 * disk/i386/pc/biosdisk.c: Likewise.
24029 * disk/ieee1275/nand.c: Likewise.
24030 * disk/ieee1275/ofdisk.c: Likewise.
24031 * disk/lvm.c: Likewise.
24032 * disk/raid.c: Likewise.
24033 * disk/raid6_recover.c: Likewise.
24034 * disk/scsi.c: Likewise.
24035 * fs/affs.c: Likewise.
24036 * fs/cpio.c: Likewise.
24037 * fs/ext2.c: Likewise.
24038 * fs/hfs.c: Likewise.
24039 * fs/iso9660.c: Likewise.
24040 * fs/ntfs.c: Likewise.
24041 * fs/sfs.c: Likewise.
24042 * fs/udf.c: Likewise.
24043 * fs/ufs.c: Likewise.
24044 * fs/xfs.c: Likewise.
24045 * gencmdlist.sh: Likewise.
24046 * genmk.rb: Likewise.
24047 * include/grub/disk.h: Likewise.
24048 * include/grub/efi/api.h: Likewise.
24049 * include/grub/efi/efi.h: Likewise.
24050 * include/grub/efi/pe32.h: Likewise.
24051 * include/grub/elf.h: Likewise.
24052 * include/grub/fs.h: Likewise.
24053 * include/grub/i386/at_keyboard.h: Likewise.
24054 * include/grub/i386/pc/memory.h: Likewise.
24055 * include/grub/i386/pc/vbe.h: Likewise.
24056 * include/grub/i386/pci.h: Likewise.
24057 * include/grub/i386/tsc.h: Likewise.
24058 * include/grub/ieee1275/ieee1275.h: Likewise.
24059 * include/grub/ntfs.h: Likewise.
24060 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
24061 * include/grub/sparc64/libgcc.h: Likewise.
24062 * include/grub/symbol.h: Likewise.
24063 * include/grub/types.h: Likewise.
24064 * include/multiboot2.h: Likewise.
24065 * io/gzio.c: Likewise.
24066 * kern/device.c: Likewise.
24067 * kern/disk.c: Likewise.
24068 * kern/efi/efi.c: Likewise.
24069 * kern/efi/mm.c: Likewise.
24070 * kern/elf.c: Likewise.
24071 * kern/file.c: Likewise.
24072 * kern/i386/dl.c: Likewise.
24073 * kern/i386/pc/init.c: Likewise.
24074 * kern/i386/pc/startup.S: Likewise.
24075 * kern/ieee1275/ieee1275.c: Likewise.
24076 * kern/ieee1275/init.c: Likewise.
24077 * kern/main.c: Likewise.
24078 * kern/mm.c: Likewise.
24079 * kern/powerpc/dl.c: Likewise.
24080 * kern/sparc64/dl.c: Likewise.
24081 * kern/x86_64/dl.c: Likewise.
24082 * lib/hexdump.c: Likewise.
24083 * loader/efi/appleloader.c: Likewise.
24084 * loader/i386/ieee1275/linux.c: Likewise.
24085 * loader/i386/pc/chainloader.c: Likewise.
24086 * loader/i386/pc/linux.c: Likewise.
24087 * loader/i386/pc/multiboot2.c: Likewise.
24088 * loader/ieee1275/multiboot2.c: Likewise.
24089 * loader/multiboot2.c: Likewise.
24090 * loader/multiboot_loader.c: Likewise.
24091 * loader/powerpc/ieee1275/linux.c: Likewise.
24092 * normal/completion.c: Likewise.
24093 * normal/menu_entry.c: Likewise.
24094 * partmap/apple.c: Likewise.
24095 * util/grub.d/10_hurd.in: Likewise.
24096 * util/hostfs.c: Likewise.
24097 * video/readers/png.c: Likewise.
24098
e2d70b5c
CW
240992010-01-03 Colin Watson <cjwatson@ubuntu.com>
24100
24101 * include/grub/misc.h (GNUC_PREREQ): New macro.
24102 (ATTRIBUTE_ERROR): New macro.
24103 * include/grub/list.h (grub_bad_type_cast_real): Use
24104 ATTRIBUTE_ERROR.
24105
a173283f 241062010-01-03 Carles Pina i Estany <carles@pina.cat>
24107
24108 * normal/menu_text.c (print_message): Change messages.
24109
7fa7ff74 241102010-01-03 Carles Pina i Estany <carles@pina.cat>
24111
24112 * normal/menu_entry.c (store_completion): Gettextizze.
24113
136d24f6 241142010-01-03 Carles Pina i Estany <carles@pina.cat>
24115
24116 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
24117
f936862e 241182010-01-03 Carles Pina i Estany <carles@pina.cat>
24119
24120 * po/POTFILES: Sort correctly.
24121
29c44ad1 241222010-01-03 Carles Pina i Estany <carles@pina.cat>
24123
24124 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
24125 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
24126 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
24127 full stop.
24128 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
24129 summary. Gettextizze the strings.
24130 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
24131 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
24132 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
24133 full stop.
24134 (GRUB_MOD_INIT): Remove command name from summary.
24135 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
24136 summary.
24137 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
24138 * term/i386/pc/serial.c (options): Add full stops.
24139 (GRUB_MOD_INIT): Remove command name from the summary.
24140
77a79592 241412010-01-03 Carles Pina i Estany <carles@pina.cat>
24142
24143 * commands/acpi.c: Gettextizze help strings and/or options. Include
24144 `grub/i18n.h' if needed.
24145 * commands/blocklist.c: Likewise.
24146 * commands/boot.c: Likewise.
24147 * commands/cat.c: Likewise.
24148 * commands/cmp.c: Likewise.
24149 * commands/configfile.c: Likewise.
24150 * commands/crc.c: Likewise.
24151 * commands/date.c: Likewise.
24152 * commands/echo.c: Likewise.
24153 * commands/efi/fixvideo.c: Likewise.
24154 * commands/efi/loadbios.c: Likewise.
24155 * commands/gptsync.c: Likewise.
24156 * commands/halt.c: Likewise.
24157 * commands/handler.c: Likewise.
24158 * commands/hdparm.c: Likewise.
24159 * commands/hexdump.c: Likewise.
24160 * commands/i386/cpuid.c: Likewise.
24161 * commands/i386/pc/drivemap.c: Likewise.
24162 * commands/i386/pc/halt.c: Likewise.
24163 * commands/i386/pc/pxecmd.c: Likewise.
24164 * commands/i386/pc/vbeinfo.c: Likewise.
24165 * commands/i386/pc/vbetest.c: Likewise.
24166 * commands/ieee1275/suspend.c: Likewise.
24167 * commands/keystatus.c: Likewise.
24168 * commands/loadenv.c: Likewise.
24169 * commands/ls.c: Likewise.
24170 * commands/lsmmap.c: Likewise.
24171 * commands/lspci.c: Likewise.
24172 * commands/memrw.c: Likewise.
24173 * commands/minicmd.c: Likewise.
24174 * commands/parttool.c: Likewise.
24175 * commands/password.c: Likewise.
24176 * commands/probe.c: Likewise.
24177 * commands/read.c: Likewise.
24178 * commands/reboot.c: Likewise.
24179 * commands/search.c: Likewise.
24180 * commands/sleep.c: Likewise.
24181 * commands/test.c: Likewise.
24182 * commands/true.c: Likewise.
24183 * commands/usbtest.c: Likewise.
24184 * commands/videotest.c: Likewise.
24185 * commands/xnu_uuid.c: Likewise.
24186 * disk/loopback.c: Likewise.
24187 * hello/hello.c: Likewise.
24188 * loader/i386/bsd.c: Likewise.
24189 * term/i386/pc/serial.c: Likewise.
24190 * po/POTFILES: Add new files.
24191
da8d5c53
CW
241922010-01-02 Colin Watson <cjwatson@ubuntu.com>
24193
24194 * term/i386/pc/at_keyboard.c
24195 (keyboard_controller_wait_untill_ready): Rename to ...
24196 (keyboard_controller_wait_until_ready): ... this. Update all users.
24197
33937904 241982010-01-01 Carles Pina i Estany <carles@pina.cat>
24199
24200 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
24201 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
24202 string using string width.
24203 * normal/menu_text.c (grub_print_message_indented): Use
24204 grub_print_spaces and not print_spaces.
24205 (print_timeout): Likewise.
24206 (print_spaces): Move to...
24207 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
24208
3fd3b8d8
RM
242092010-01-01 Robert Millan <rmh.grub@aybabtu.com>
24210
24211 Import from Gnulib.
24212
24213 * gnulib/getdelim.c: New file.
24214 * gnulib/getline.c: Likewise.
24215
33433555
VS
242162009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
24217
24218 * include/grub/list.h (grub_assert_fail): Removed.
24219 (grub_bad_type_cast_real): New function.
24220 (grub_bad_type_cast): New macro.
24221 (GRUB_AS_LIST): Use grub_bad_type_cast.
24222 (GRUB_AS_LIST_P): Likewise.
e44721e8 24223 (GRUB_AS_NAMED_LIST): Likewise.
33433555 24224 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 24225 (GRUB_AS_PRIO_LIST): Likewise.
33433555 24226 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 24227 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 24228
f5a51306
VS
242292009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
24230
24231 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
24232 Fix syntax error.
24233
90d1e879
RM
242342009-12-29 Robert Millan <rmh.grub@aybabtu.com>
24235
24236 * configure.ac: Check for TARGET_CFLAGS initialization before we
24237 initialize it ourselves (sigh).
24238 Move a few modifications to TARGET_CFLAGS to be unconditional
24239 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
24240 eh_frame)
24241
24242 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
24243 * term/i386/pc/at_keyboard.c
24244 (keyboard_controller_wait_untill_ready): Likewise.
24245 (keyboard_controller_led): Rename `led_status' paramter to avoid
24246 name conflict.
24247
465b5a81 242482009-12-28 Carles Pina i Estany <carles@pina.cat>
24249
24250 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
24251 quotes.
24252
c181849b
VS
242532009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
24254
24255 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
24256
9c8739a4
VS
242572009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
24258
24259 * normal/menu_text.c (grub_print_message_indented): Prevent
24260 past-the-end-of-array dereference.
24261
3e74249c
VS
242622009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
24263
24264 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
24265 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
24266
64fd18ed 242672009-12-27 Carles Pina i Estany <carles@pina.cat>
24268
24269 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
24270 * normal/main.c (grub_normal_read_line): Remove a space from the
24271 default prompt.
24272
714af9b9 242732009-12-27 Carles Pina i Estany <carles@pina.cat>
24274
24275 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
24276 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24277 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
24278 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
24279 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24280 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24281 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
24282
82f3e412 242832009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 24284
24285 * video/readers/jpeg.c (cmd): Declare.
24286 (grub_cmd_jpegtest): Use `grub_command_t' type.
24287 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
24288 Assign to `cmd'.
24289 (GRUB_MOD_FINI): Use `cmd' to unregister.
24290 * video/readers/png.c (cmd): Declare.
24291 (grub_cmd_pngtest): Use `grub_command_t' type.
24292 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
24293 Assign to `cmd'.
24294 (GRUB_MOD_FINI): Use `cmd' to unregister.
24295 * video/readers/tga.c (cmd): Declare.
24296 (grub_cmd_tgatest): Use `grub_command_t' type.
24297 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
24298 Assign to `cmd'.
24299 (GRUB_MOD_FINI): Use `cmd' to unregister.
24300
82f3e412 243012009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 24302
24303 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
24304 stops.
24305 * kern/corecmd.c (grub_register_core_commands): Likewise.
24306 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
24307 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
24308 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
24309 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24310 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
24311 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
24312 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
24313 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
24314 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24315 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
24316 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
24317 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
24318 * normal/handler.c (insert_handler): Likewise.
24319 * normal/main.c (GRUB_MOD_INIT): Likewise.
24320 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
24321
fdcdbb66 243222009-12-26 Carles Pina i Estany <carles@pina.cat>
24323
24324 * commands/help.c (grub_cmd_help): Print the command name before the
24325 summary.
24326 (GRUB_MOD_INIT): Remove command name from the summary.
24327 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 24328 string as summary.
fdcdbb66 24329 * lib/arg.c (find_long): Print the command name before the summary.
24330 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
24331 summary.
24332 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
24333 * commands/cat.c (GRUB_MOD_INIT): Likewise.
24334 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
24335 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
24336 * commands/crc.c (GRUB_MOD_INIT): Likewise.
24337 * commands/date.c (GRUB_MOD_INIT): Likewise.
24338 * commands/echo.c (GRUB_MOD_INIT): Likewise.
24339 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
24340 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
24341 * commands/handler.c (GRUB_MOD_INIT): Likewise.
24342 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
24343 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
24344 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
24345 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
24346 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
24347 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
24348 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
24349 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
24350 * commands/ls.c (GRUB_MOD_INIT): Likewise.
24351 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
24352 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
24353 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
24354 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
24355 * commands/password.c (GRUB_MOD_INIT): Likewise.
24356 * commands/probe.c (GRUB_MOD_INIT): Likewise.
24357 * commands/read.c (GRUB_MOD_INIT): Likewise.
24358 * commands/search.c (GRUB_MOD_INIT): Likewise.
24359 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
24360 * commands/test.c (GRUB_MOD_INIT): Likewise.
24361 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
24362 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
24363 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
24364 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
24365 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
24366 * lib/arg.c (GRUB_MOD_INIT): Likewise.
24367 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
24368 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
24369 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
24370 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
24371 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
24372 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
24373 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
24374 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
24375
9c288be2
VS
243762009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
24377
24378 Use search command for preliminar UUID search.
24379
24380 * commands/search.c: Split into ...
24381 * commands/search_wrap.c: ...this
24382 * commands/search.c: ...and this.
24383 * commands/search_file.c: New file.
24384 * commands/search_label.c: New file.
24385 * commands/search_uuid.c: New file.
24386 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
24387 Add commands/search_wrap.c, commands/search_file.c,
24388 commands/search_label.c and commands/search_uuid.c.
24389 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
24390 (search_mod_SOURCES): Set to commands/search_wrap.c.
24391 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
24392 search_label.mod.
24393 (search_fs_file_mod_SOURCES): New variable.
24394 (search_fs_file_mod_CFLAGS): Likewise.
24395 (search_fs_file_mod_LDFLAGS): Likewise.
24396 (search_label_mod_SOURCES): Likewise.
24397 (search_label_mod_CFLAGS): Likewise.
24398 (search_label_mod_LDFLAGS): Likewise.
24399 (search_fs_uuid_mod_SOURCES): New variable.
24400 (search_fs_uuid_mod_CFLAGS): Likewise.
24401 (search_fs_uuid_mod_LDFLAGS): Likewise.
24402 (fs_file_mod_SOURCES): Removed.
24403 (fs_file_mod_CFLAGS): Likewise.
24404 (fs_file_mod_LDFLAGS): Likewise.
24405 (fs_uuid_mod_SOURCES): Removed.
24406 (fs_uuid_mod_CFLAGS): Likewise.
24407 (fs_uuid_mod_LDFLAGS): Likewise.
24408 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
24409 Set to util/grub-install.in.
24410 * disk/fs_file.c: Removed.
24411 * disk/fs_uuid.c: Likewise.
24412 * include/grub/search.h: New file.
24413 * util/grub-install.in: Handle sparc64.
24414 Create and use load.cfg.
24415 * util/sparc64/ieee1275/grub-install.in: Removed.
24416
db943399
VS
244172009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
24418
24419 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
24420 Ignore return status if CF is cleared.
24421 (grub_biosdisk_get_diskinfo_standard): Likewise.
24422
3fdae612
RM
244232009-12-25 Robert Millan <rmh.grub@aybabtu.com>
24424
24425 * term/i386/pc/at_keyboard.c
24426 (keyboard_controller_wait_untill_ready): New function.
24427 (grub_keyboard_controller_write, grub_keyboard_controller_read)
24428 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
24429 for keyboard polling, rather than duplicate the same loop. This
24430 saves a few bytes in code size.
24431
7ebaa2b4
VS
244322009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
24433
24434 Support for (pxe[:server[:gateway]]) syntax and
24435 use environment variable for PXE.
24436
24437 * commands/i386/pc/pxecmd.c (options): Removed.
24438 (print_ip): Removed.
24439 (grub_cmd_pxe): Removed
24440 (grub_cmd_pxe_unload): New function.
24441 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
24442 (grub_pxe_your_ip): Made static.
24443 (grub_pxe_default_server_ip): Likewise.
24444 (grub_pxe_default_gateway_ip): Likewise.
24445 (grub_pxe_blksize): Likewise.
24446 (parse_ip): New function.
24447 (grub_pxe_open): Support server and gateway specification.
24448 (grub_pxe_close): Free disk->data.
24449 (grub_pxefs_open): Use disk->data.
24450 (grub_pxefs_read): Likewise.
24451 (grub_env_write_readonly): New function.
24452 (set_mac_env): Likewise.
24453 (set_env_limn_ro): Likewise.
24454 (parse_dhcp_vendor): Likewise.
24455 (grub_pxe_detect): Set the environment variables.
24456 (set_ip_env): New function.
24457 (write_ip_env): Likewise.
24458 (grub_env_write_pxe_default_server): Likewise.
24459 (grub_env_write_pxe_default_gateway): Likewise.
24460 (grub_env_write_pxe_blocksize): Likewise.
24461 (GRUB_MOD_INIT(pxe)): Set environment variables.
24462 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
24463 (grub_pxe_mac_addr_t): ... this. All users updated.
24464 (grub_pxe_your_ip): Removed.
24465 (grub_pxe_server_ip): Likewise.
24466 (grub_pxe_gateway_ip): Likewise.
24467 (grub_pxe_blksize): Likewise.
24468
ec5f98ab 244692009-12-25 Carles Pina i Estany <carles@pina.cat>
24470
24471 * commands/help.c: Include `<grub/i18n.h>'.
24472 (grub_cmd_help): Gettextizze.
24473 (GRUB_MOD_INIT): Likewise.
24474 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
24475 (GRUB_MOD_INIT): Gettextizze.
24476 * commands/search.c: Include `<grub/i18n.h>'.
24477 (options): Gettextizze.
24478 (GRUB_MOD_INIT): Gettextizze.
24479 * lib/arg.c: Include `<grub/i18n.h>'.
24480 (help_options): Gettextizze.
24481 (find_long): Likewise.
24482 (grub_arg_show_help): Likewise.
24483 * normal/dyncmd.c: Include `<grub/i18n.h>'.
24484 (read_command_list): Gettextizze.
24485 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 24486 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 24487
22815526
RM
244882009-12-25 Robert Millan <rmh.grub@aybabtu.com>
24489
24490 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
24491 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
24492 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
24493 (led_status): New variable.
24494 (keyboard_controller_led): New function.
24495 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
24496 update led status for caps lock, num lock and scroll lock.
24497
0ad46fd7
FZ
244982009-12-25 Felix Zielcke <fzielcke@z-51.de>
24499
24500 * util/hostdisk.c (open_device): Fix a comment.
24501
d0e158c2
RM
245022009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24503
24504 * util/grub-install.in (host_os): New variable.
24505 * util/i386/efi/grub-install.in (host_os): Likewise.
24506
401c0ad6
RM
245072009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24508
24509 * util/mkisofs/write.c (padblock_write): Abort when given an
24510 excedingly large embed image, instead of silently truncating it.
24511
d14d3370
RM
245122009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24513
24514 * include/multiboot.h: Indentation fixes.
24515
eeed10b4
RM
245162009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24517
24518 * include/multiboot.h (struct multiboot_aout_symbol_table)
24519 (struct multiboot_elf_section_header_table): New structure
24520 declarations (stolen from GRUB Legacy).
24521 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
24522 table information.
24523
24524 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
24525 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
24526 type aliases.
24527
681c70ab
RM
245282009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24529
24530 * include/multiboot.h: Make comments src2texi-friendly.
24531
e4d47d8d
RM
245322009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24533
24534 For consistency with [multiboot]/docs/boot.S.
24535
24536 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
24537 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
24538 (MULTIBOOT_MAGIC2): Rename from this ...
24539 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
24540
a0b70bda
RM
245412009-12-24 Robert Millan <rmh.grub@aybabtu.com>
24542
24543 * include/multiboot.h: Remove `<grub/types.h>'.
24544 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
24545 types. Update all users.
24546
61ba42be 245472009-12-25 Carles Pina i Estany <carles@pina.cat>
24548
24549 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
24550 `couldn't' and `can not' by `cannot'.
24551 * commands/i386/pc/drivemap.c: Likewise.
24552 * disk/ata.c: Likewise.
24553 * disk/ieee1275/nand.c: Likewise.
24554 * fs/affs.c: Likewise.
24555 * fs/fat.c: Likewise.
24556 * fs/hfs.c: Likewise.
24557 * fs/hfsplus.c: Likewise.
24558 * fs/iso9660.c: Likewise.
24559 * fs/jfs.c: Likewise.
24560 * fs/minix.c: Likewise.
24561 * fs/reiserfs.c: Likewise.
24562 * fs/sfs.c: Likewise.
24563 * fs/udf.c: Likewise.
24564 * fs/ufs.c: Likewise.
24565 * fs/xfs.c: Likewise.
24566 * loader/powerpc/ieee1275/linux.c: Likewise.
24567 * loader/sparc64/ieee1275/linux.c: Likewise.
24568 * util/grub-probe.c: Likewise.
24569 * util/misc.c: Likewise.
24570
7fd0baee 245712009-12-24 Carles Pina i Estany <carles@pina.cat>
24572
24573 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
24574 grub_errno calls.
24575 * commands/acpi.c: Likewise.
24576 * commands/blocklist.c: Likewise.
24577 * commands/efi/loadbios.c: Likewise.
24578 * commands/i386/pc/drivemap.c: Likewise.
24579 * commands/loadenv.c: Likewise.
24580 * commands/memrw.c: Likewise.
24581 * commands/password.c: Likewise.
24582 * commands/videotest.c: Likewise.
24583 * disk/ata.c: Likewise.
24584 * disk/ata_pthru.c: Likewise.
24585 * disk/dmraid_nvidia.c: Likewise.
24586 * disk/ieee1275/nand.c: Likewise.
24587 * disk/ieee1275/ofdisk.c: Likewise.
24588 * disk/loopback.c: Likewise.
24589 * disk/lvm.c: Likewise.
24590 * disk/mdraid_linux.c: Likewise.
24591 * disk/raid.c: Likewise.
24592 * disk/raid6_recover.c: Likewise.
24593 * disk/scsi.c: Likewise.
24594 * efiemu/main.c: Likewise.
24595 * efiemu/mm.c: Likewise.
24596 * efiemu/pnvram.c: Likewise.
24597 * efiemu/symbols.c: Likewise.
24598 * font/font.c: Likewise.
24599 * fs/cpio.c: Likewise.
24600 * fs/hfsplus.c: Likewise.
24601 * fs/iso9660.c: Likewise.
24602 * fs/jfs.c: Likewise.
24603 * fs/minix.c: Likewise.
24604 * fs/ntfs.c: Likewise.
24605 * fs/ntfscomp.c: Likewise.
24606 * fs/reiserfs.c: Likewise.
24607 * fs/ufs.c: Likewise.
24608 * fs/xfs.c: Likewise.
24609 * gettext/gettext.c: Likewise.
24610 * include/grub/auth.h: Likewise.
24611 * kern/elf.c: Likewise.
24612 * kern/file.c: Likewise.
24613 * kern/ieee1275/init.c: Likewise.
24614 * kern/ieee1275/mmap.c: Likewise.
24615 * kern/ieee1275/openfw.c: Likewise.
24616 * kern/powerpc/dl.c: Likewise.
24617 * kern/sparc64/dl.c: Likewise.
24618 * lib/arg.c: Likewise.
24619 * loader/i386/bsd.c: Likewise.
24620 * loader/i386/bsdXX.c: Likewise.
24621 * loader/i386/efi/linux.c: Likewise.
24622 * loader/i386/efi/xnu.c: Likewise.
24623 * loader/i386/ieee1275/linux.c: Likewise.
24624 * loader/i386/linux.c: Likewise.
24625 * loader/i386/multiboot.c: Likewise.
24626 * loader/i386/pc/linux.c: Likewise.
24627 * loader/i386/pc/multiboot2.c: Likewise.
24628 * loader/i386/xnu.c: Likewise.
24629 * loader/ieee1275/multiboot2.c: Likewise.
24630 * loader/macho.c: Likewise.
24631 * loader/machoXX.c: Likewise.
24632 * loader/multiboot2.c: Likewise.
24633 * loader/multiboot_loader.c: Likewise.
24634 * loader/powerpc/ieee1275/linux.c: Likewise.
24635 * loader/sparc64/ieee1275/linux.c: Likewise.
24636 * loader/xnu.c: Likewise.
24637 * loader/xnu_resume.c: Likewise.
24638 * mmap/i386/pc/mmap.c: Likewise.
24639 * normal/menu_viewer.c: Likewise.
24640 * partmap/acorn.c: Likewise.
24641 * partmap/amiga.c: Likewise.
24642 * partmap/apple.c: Likewise.
24643 * script/lexer.c: Likewise.
24644 * term/gfxterm.c: Likewise.
24645 * term/i386/pc/serial.c: Likewise.
24646 * term/i386/pc/vga.c: Likewise.
24647 * term/ieee1275/ofconsole.c: Likewise.
24648 * term/terminfo.c: Likewise.
24649 * video/bitmap.c: Likewise.
24650 * video/efi_gop.c: Likewise.
24651 * video/efi_uga.c: Likewise.
24652 * video/fb/video_fb.c: Likewise.
24653 * video/i386/pc/vbe.c: Likewise.
24654 * video/readers/tga.c: Likewise.
24655 * video/video.c: Likewise.
24656
0ad46fd7 246572009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
24658
24659 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
24660 * commands/lspci.c: Likewise.
24661 * commands/probe.c: Likewise.
24662 * commands/xnu_uuid.c: Likewise.
24663 * conf/i386-coreboot.rmk: Likewise.
24664 * conf/i386-efi.rmk: Likewise.
24665 * conf/i386-ieee1275.rmk: Likewise.
24666 * conf/i386-pc.rmk: Likewise.
24667 * conf/powerpc-ieee1275.rmk: Likewise.
24668 * conf/sparc64-ieee1275.rmk: Likewise.
24669 * conf/x86_64-efi.rmk: Likewise.
24670 * fs/i386/pc/pxe.c: Likewise.
24671 * gettext/gettext.c: Likewise.
24672 * include/grub/efi/graphics_output.h: Likewise.
24673 * include/grub/i386/pc/memory.h: Likewise.
24674 * kern/env.c: Likewise.
24675 * kern/i386/qemu/startup.S: Likewise.
24676 * lib/i386/pc/biosnum.c: Likewise.
24677 * lib/i386/relocator.c: Likewise.
24678 * lib/i386/relocator_asm.S: Likewise.
24679 * lib/relocator.c: Likewise.
24680 * loader/i386/bsd.c: Likewise.
24681 * loader/i386/multiboot.c: Likewise.
24682 * loader/i386/pc/chainloader.c: Likewise.
24683 * loader/i386/xnu.c: Likewise.
24684 * loader/xnu.c: Likewise.
24685 * normal/main.c: Likewise.
24686 * normal/menu_text.c: Likewise.
24687 * util/getroot.c: Likewise.
24688 * util/grub-mkconfig_lib.in: Likewise.
24689 * util/grub.d/00_header.in: Likewise.
24690 * util/i386/pc/grub-mkimage.c: Likewise.
24691 * util/mkisofs/eltorito.c: Likewise.
24692 * util/mkisofs/exclude.h: Likewise.
24693 * util/mkisofs/hash.c: Likewise.
24694 * util/mkisofs/iso9660.h: Likewise.
24695 * util/mkisofs/joliet.c: Likewise.
24696 * util/mkisofs/mkisofs.c: Likewise.
24697 * util/mkisofs/mkisofs.h: Likewise.
24698 * util/mkisofs/multi.c: Likewise.
24699 * util/mkisofs/name.c: Likewise.
24700 * util/mkisofs/rock.c: Likewise.
24701 * util/mkisofs/tree.c: Likewise.
24702 * util/mkisofs/write.c: Likewise.
24703 * video/efi_gop.c: Likewise.
24704
009ec743
VS
247052009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
24706
24707 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
24708 size counting.
24709
0ad46fd7 247102009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
24711
24712 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
24713 * genmk.rb (class SCRIPT): Modify the target file instead of source.
24714
d3d30ea0
VS
247152009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24716
24717 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
24718 (GRUB_MOD_INIT(memrw)): Update help line.
24719
a34f5c70
VS
247202009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24721
24722 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
24723 Use grub_extcmd_t. All users updated.
24724 (options): New variable.
24725 (grub_cmd_read): Restructure for readability. Support "-v" option.
24726 (grub_cmd_write): Restructure for readability.
24727
0ad46fd7 247282009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
24729
24730 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
24731
0ad46fd7 247322009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
24733
24734 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
24735 with the actual contents of the correspondending make variable.
24736 * util/grub-mkrescue.in (pkglib_DATA): New variable.
24737 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
24738 specifying `*.lst' and `efiemu??.o'
24739
0ad46fd7 247402009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
24741
24742 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
24743 after function name.
24744 Noticed by Rene Engelhard <rene@debian.org>.
24745
dc77a799
VS
247462009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24747
24748 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
24749 (options): New variable.
24750 (iospace): Likewise.
24751 (grub_lspci_iter): List IO spaces if "-i" was given.
24752 (grub_cmd_lspci): Parse options.
24753 (GRUB_MOD_INIT(lspci)): Use extcmd.
24754 (GRUB_MOD_FINI(lspci)): Likewise.
24755
0ad46fd7 247562009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
24757
24758 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
24759 `function' keyword.
24760 Patch by Tony Mancill <tmancill@debian.org>.
24761
b5d5993b
VS
247622009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
24763
24764 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
24765 (grub_uhci_portstatus): Likewise.
24766 (grub_uhci_portstatus): Add necessary delay.
11d18281 24767 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 24768
941903f2 247692009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 24770
941903f2 24771 * commands/acpi.c (options): Fix capitalizations and/or full stops.
24772 (GRUB_MOD_INIT): Likewise.
24773 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 24774 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
24775 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 24776 * commands/efi/loadbios.c (enable_rom_area): Likewise.
24777 (enable_rom_area): Likewise.
24778 (GRUB_MOD_INIT): Likewise.
24779 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
24780 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
24781 * commands/handler.c (GRUB_MOD_INIT): Likewise.
24782 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
24783 * commands/hexdump.c (options): Likewise.
24784 * commands/i386/cpuid.c (options): Likewise.
24785 (GRUB_MOD_INIT): Likewise.
24786 * commands/i386/pc/drivemap.c (options): Likewise.
24787 (GRUB_MOD_INIT): Likewise.
24788 * commands/i386/pc/halt (options): Likewise.
24789 (GRUB_MOD_INIT): Likewise.
24790 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
24791 * commands/i386/pc/pxecmd.c (options): Likewise.
24792 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
24793 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
24794 * commands/keystatus.c (options): Likewise.
24795 (GRUB_MOD_INIT): Likewise.
24796 * commands/loadenv.c (options): Likewise.
24797 * commands/ls.c (options): Likewise.
24798 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
24799 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
24800 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
24801 * commands/parttool.c (helpmsg): Likewise.
24802 * commands/probe.c (options): Likewise.
24803 * commands/read.c (GRUB_MOD_INIT): Likewise.
24804 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
24805 * commands/search.c (options): Likewise.
24806 * commands/sleep.c (options): Likewise.
24807 * commands/test.c (GRUB_MOD_INIT): Likewise.
24808 * commands/true.c (GRUB_MOD_INIT): Likewise.
24809 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
24810 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
24811 * lib/arg.c (help_options): Likewise.
e9bbb4e7 24812 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
24813 `$(XGETTEXT)'.
98a50553 24814 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 24815
0ad46fd7 248162009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 24817
ef3c2c3a 24818 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
24819 instead of specifying them explicit.
24820
7922f68b
RM
248212009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24822
24823 * NEWS: Add grub-probe support for GNU/Hurd.
24824
537ce47f
RM
248252009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24826
24827 * NEWS: gettext was added after 1.97.
24828
9b214e3a
RM
248292009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24830
24831 * util/mkisofs/msdos_partition.h: New file (based on
24832 include/grub/msdos_partition.h).
24833 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
24834 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
24835 (ld_options, main): Recognize --protective-msdos-label.
24836 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
24837 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
24838 (padblock_write): If `use_protective_msdos_label' is set, patch a
24839 protective DOS-style label in the output image.
24840
24841 * util/grub-mkrescue.in: Use --protective-msdos-label.
24842
e9309813
RM
248432009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24844
24845 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
24846 boot.
24847
0ae56929
RM
248482009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24849
24850 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
24851 variables.
24852 (ld_options, main): Recognize `--embedded-boot'.
24853 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
24854 declarations.
24855 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
24856 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
24857 (padblock_write): Likewise. Rewrite to support embedded boot image.
24858
24859 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
24860 for BIOS-based disk boot instead of only ElTorito.
24861
b15937b1
RM
248622009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24863
24864 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
24865 build (not needed for bootstrap).
24866
52cc3ce0
RM
248672009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24868
24869 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
24870 from i386-pc build (not needed for bootstrap).
24871 Rewrite a pair of strings.
24872
36f5ff04
RM
248732009-12-21 Robert Millan <rmh.grub@aybabtu.com>
24874
24875 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
24876
973c6c85 248772009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
24878
24879 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
24880
05d21547
AB
248812009-12-21 Andreas Born <futur.andy@googlemail.com>
24882
24883 * kern/env.c (grub_env_context_open): Mark exported variable for
24884 reexport.
24885
0175d51f
AB
248862009-12-21 Andreas Born <futur.andy@googlemail.com>
24887
24888 * kern/env.c (grub_env_export): Create nonexistent variables before
24889 exporting.
24890
7f39d92f 248912009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 24892
7f39d92f 24893 * include/grub/auth.h: Include `<grub/i18n.h>'.
24894 (GRUB_GET_PASSWORD): Gettextizze string.
24895 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
24896 menu_text.c.
24897 (grub_utf8_to_ucs4_alloc): Fix indentation.
24898 (grub_print_ucs4): Likewise.
24899 (grub_getstringwidth): Likewise.
24900 (print_message_indented): New declaration.
24901 * normal/auth.c: Include `<grub/i18n.h>'.
24902 (grub_auth_check_authentication): Gettexttize string.
24903 * normal/cmdline.c: Include `<grub/i18n.h>'.
24904 (grub_cmdline_get): Gettextizze.
24905 * normal/color.c: Include `<grub/i18n.h>'.
24906 (grub_parse_color_name_pair): Gettexttize strings.
24907 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
24908 string (use `print_message_indented').
24909 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
24910 `include/grub/normal.h'.
24911 (print_message_indented): Renamed to ...
24912 (grub_print_message_indented): ... this. Remove `static' qualifer (now
24913 used in normal/main.c).
24914 (print_message): Use `grub_print_message_indented' instead of
24915 `print_message_indented'.
24916 (print_timeout): Likewise.
24917 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
24918 (grub_normal_print_device_info): Gettexttize strings.
24919 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
24920
3041d898
VS
249212009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
24922
24923 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
24924 of arguments. Return number of tokens and not arguments. All users
24925 updated.
24926
de15bf8e
VS
249272009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
24928
24929 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
24930 non-MSDOS paritions.
24931
e0a6ca52
VS
249322009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
24933
24934 * include/grub/types.h (UNUSED): Removed since it conflicts with
24935 NetBSD headers. All users changed to direct __attribute__ ((unused)).
24936 Reported by Grégoire Sutre.
24937
b99518d1 249382009-12-19 Carles Pina i Estany <carles@pina.cat>
24939
24940 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
24941 (grub_print_ucs4_alloc): Likewise.
24942 (grub_getstringwidth): Likewise.
24943 * normal/main.c (grub_normal_init_page): Gettextize version string.
24944 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
24945 (getstringwidth): Renamed to ...
24946 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
24947 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
24948 (grub_print_ucs4): Remove `static' qualifer (now used in
24949 normal/main.c).
24950 * po/POTFILES: Add normal/main.c.
24951
bfd5e52b 249522009-12-19 Carles Pina i Estany <carles@pina.cat>
24953
24954 * normal/menu_text.c (STANDARD_MARGIN): New macro.
24955 (print_message_indented): Add `margin_left' and `margin_right'
24956 parameters.
24957 (print_message): Update `print_message_indented' calls. Adds '\n' to the
24958 strings.
24959 (print_timeout): Use `print_message_indented' to print the message.
24960 Deletes `second_stage' parameter.
24961 (run_menu): Update `print_timeout' calls.
24962
5a1ad2b9
VS
249632009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
24964
24965 Fix console palette on OpenFirmware.
24966
24967 * term/ieee1275/ofconsole.c (MAX): Removed.
24968 (colors): Redone based on VGA palette.
24969 (grub_ofconsole_setcolor): Discard brightness bit since only 8
24970 colors are supported.
24971 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
24972
b045f00a
VS
249732009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
24974
24975 Fix potential EfiEmu double prepare.
24976
24977 * efiemu/main.c (prepared): New variable
24978 (grub_efiemu_unload): Set prepare to '0'.
24979 (grub_efiemu_prepare): Return if already prepared. Set prepared.
24980
24981 set_virtual_address_map support.
24982
24983 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
24984 prototype.
24985 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
24986 prototype.
24987 (grub_efiemu_crc32): Likewise.
24988 (grub_efiemu_crc64): Likewise.
24989 (grub_efiemu_set_virtual_address_map): Likewise.
24990 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
24991 New definition.
24992 (grub_autoefi_set_virtual_address_map): Likewise.
24993 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
24994 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
24995 Restructure flow to accomodate it.
24996 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
24997 (grub_efiemu_crc): Recompute CRC32.
24998 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
24999 (efiemu_ptv_relocated): ... this. Made global. All users updated.
25000 * efiemu/symbols.c (relocated_handle): New variable.
25001 (grub_efiemu_free_syms): Free relocated_handle.
25002 (grub_efiemu_alloc_syms): Allocate relocated_handle.
25003 (grub_efiemu_write_sym_markers): New function.
25004 (grub_efiemu_set_virtual_address_map): Likewise.
25005
25006 Newer XNU parameters.
25007
25008 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
25009 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
25010 (grub_xnu_fill_devicetree): New prototype.
25011 (grub_xnu_heap_real_start): New variable.
25012 * loader/xnu.c (get_name_ptr): New function.
25013 (grub_xnu_load_driver): Fill namelen and name.
25014
25015 64-bit xnu support.
25016
25017 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
25018 and 'loader/macho64.c'.
25019 * conf/i386-pc.rmk: Likewise.
25020 * conf/x86_64-efi.rmk: Likewise.
25021 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
25022 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
25023 * include/grub/macho.h (grub_macho_segment64): New structure.
25024 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
25025 (grub_macho_size32): ... to this.
25026 (grub_macho32_get_entry_point): Renamed from ...
25027 (grub_macho_get_entry_point32): ... to this.
25028 (grub_macho_contains_macho64): New prototype.
25029 (grub_macho_size64): Likewise.
25030 (grub_macho_get_entry_point64): Likewise.
25031 (grub_macho32_load): Renamed from ...
25032 (grub_macho_load32): ... to this.
25033 (grub_macho32_filesize): Renamed from ...
25034 (grub_macho_filesize32): ... to this.
25035 (grub_macho32_readfile): Renamed from ...
25036 (grub_macho_readfile32): ... to this.
25037 (grub_macho_filesize64): New prototype.
25038 (grub_macho_readfile64): Likewise.
25039 (grub_macho_parse32): Likewise.
25040 (grub_macho_parse64): Likewise.
25041 * loader/macho.c: Split into ...
25042 * loader/machoXX.c: ... and this. Replace 32 with XX.
25043 * loader/macho32.c: New file.
25044 * loader/macho64.c: Likewise.
25045 * loader/xnu.c (grub_xnu_is_64bit): New variable.
25046 (grub_cmd_xnu_kernel): Make 32-bit only.
25047 (grub_cmd_xnu_kernel64): New function.
25048 (grub_xnu_load_driver): Support Mach-O 64.
25049 (grub_cmd_xnu_mkext): Likewise.
25050 * util/grub.d/30_os-prober.in (osx_entry): New function.
25051 Generate entries for 64-bit boot too.
25052
25053 Eliminate ad-hoc tree format in XNU and EfiEmu.
25054
25055 * efiemu/main.c (grub_efiemu_prepare): Update comment.
25056 * efiemu/pnvram.c: Rewritten to use environment variables.
25057 All users updated.
25058
25059 Inline utf16_to_utf8.
25060
25061 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
25062 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
25063 All users updated.
25064 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
25065
25066 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
25067 * commands/usbtest.c (grub_usb_get_string): ... move here.
25068 (usb_print_str): Fix error handling.
25069 * include/grub/usb.h (grub_usb_get_string): Remove.
25070
25071 UTF-8 to UTF-16 transformation.
25072
25073 * conf/common.rmk (pkglib_MODULES): Add charset.mod
25074 (charset_mod_SOURCES): New variable.
25075 (charset_mod_CFLAGS): Likewise.
25076 (charset_mod_LDFLAGS): Likewise.
25077 * include/grub/utf.h: New file.
25078 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
25079
25080 Support for device properties.
25081
25082 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
25083 (grub_xnu_devprop_device_header): Likewise.
25084 (grub_xnu_devprop_device_descriptor): Likewise.
25085 (grub_xnu_devprop_add_device): New prototype.
25086 (grub_xnu_devprop_remove_device): Likewise.
25087 (grub_xnu_devprop_remove_property): Likewise.
25088 (grub_xnu_devprop_add_property_utf8): Likewise.
25089 (grub_xnu_devprop_add_property_utf16): Likewise.
25090 (grub_cpu_xnu_init): Likewise.
25091 (grub_cpu_xnu_fini): Likewise.
25092 (grub_cpu_xnu_unload): Likewise.
25093 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
25094 (property_descriptor): Likewise.
25095 (devices): New variable.
25096 (grub_xnu_devprop_remove_property): New function.
25097 (grub_xnu_devprop_add_device): Likewise.
25098 (grub_xnu_devprop_remove_device): Likewise.
25099 (grub_xnu_devprop_add_property): Likewise.
25100 (grub_xnu_devprop_add_property_utf8): Likewise.
25101 (grub_xnu_devprop_add_property_utf16): Likewise.
25102 (hextoval): Likewise.
25103 (grub_cpu_xnu_fill_devprop): Likewise.
25104 (grub_cmd_devprop_load): Likewise.
25105 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
25106 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
25107 (cmd_devprop_load): New variable.
25108 (grub_cpu_xnu_init): New function.
25109 (grub_cpu_xnu_fini): Likewise.
25110 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
25111 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
25112 (grub_cmd_xnu_devtree): Likewise.
25113 (hextoval): New function.
25114 (unescape): Likewise.
25115 (grub_xnu_fill_devicetree): Likewise.
25116
25117 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
25118 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
25119
0945f181
VS
251202009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
25121
25122 Workaround for broken ATI VBE.
25123
25124 * video/i386/pc/vbe.c (last_set_mode): New variable.
25125 (grub_vbe_set_video_mode): Set 'last_set_mode'.
25126 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
25127 (grub_video_vbe_setup): Don't check for reserved flag.
25128
0ad46fd7 251292009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
25130
25131 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
25132 the `find' command.
25133
c179ebe4
VS
251342009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
25135
25136 UUID support for HFS.
25137
25138 * fs/hfs.c (grub_hfs_uuid): New function.
25139 (grub_hfs_fs): New value .uuid.
25140 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
25141
0ad46fd7 251422009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
25143
25144 Fix a segfault with parsing unknown long options.
25145
25146 * util/grub-mkrelpath.c (options): Zero terminate it.
25147
c4a3e41a
CPE
251482009-12-13 Carles Pina i Estany <carles@pina.cat>
25149
25150 * include/grub/misc.h (grub_puts): New declaration.
25151 (grub_puts_): Likewise.
a22008a6 25152 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
25153 (grub_puts_): Likewise.
25154
2e8a7602
RM
251552009-12-13 Robert Millan <rmh.grub@aybabtu.com>
25156
25157 * util/grub-probe.c (probe): Improve error message.
25158
b50b77b9
RM
251592009-12-13 Robert Millan <rmh.grub@aybabtu.com>
25160
25161 * loader/i386/multiboot_elfxx.c
25162 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
25163 initialization.
25164
251652009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
25166
25167 Relocator framework
25168
25169 * loader/i386/xnu_helper.S: Removed. All users updated.
25170 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
25171 (relocator_mod_SOURCES): New variable.
25172 (relocator_mod_CFLAGS): Likewise.
25173 (relocator_mod_LDFLAGS): Likewise.
25174 (relocator_mod_ASFLAGS): Likewise.
25175 * conf/x86_64.rmk: Likewise.
25176 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
25177 (grub_multiboot_payload_entry_offset): Likewise.
25178 (grub_multiboot_forward_relocator): Likewise.
25179 (grub_multiboot_forward_relocator_end): Likewise.
25180 (grub_multiboot_backward_relocator): Likewise.
25181 (grub_multiboot_backward_relocator_end): Likewise.
25182 (grub_multiboot_payload_eip): New variable.
25183 (grub_multiboot_payload_orig): Likewise.
25184 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
25185 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
25186 * include/grub/i386/memory.h
25187 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
25188 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
25189 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
25190 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
25191 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
25192 * include/grub/i386/relocator.h: New file.
25193 * include/grub/x86_64/relocator.h: Likewise.
25194 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
25195 (XNU_RELOCATOR): New macro.
25196 (grub_xnu_launcher_start): Remove.
25197 (grub_xnu_launcher_end): Likewise.
25198 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
25199 (grub_xnu_heap_real_start): Remove.
25200 (grub_xnu_heap_start): Change to void *. All users updated.
25201 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
25202 * lib/i386/relocator.c: New file.
25203 * lib/i386/relocator_asm.S: Likewise.
25204 * lib/i386/relocator_backward.S: Likewise.
25205 * lib/mips/relocator.c: Likewise.
25206 * lib/mips/relocator_asm.S: Likewise.
25207 * lib/relocator.c: Likewise.
25208 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
25209 (entry): Removed.
25210 (playground): Likewise.
25211 (grub_multiboot_payload_orig): New variable.
25212 (grub_multiboot_payload_dest): Likewise.
25213 (grub_multiboot_payload_size): Likewise.
25214 (grub_multiboot_payload_eip): Likewise.
25215 (grub_multiboot_payload_esp): Likewise.
25216 (grub_multiboot_boot): Use grub_relocator32_boot.
25217 (grub_multiboot_unload): Free relocators.
25218 (grub_multiboot): Setup stack. Use relocators.
25219 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
25220 (grub_multiboot_load_elfXX): Use relocators.
25221 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
25222 (grub_multiboot_payload_size): Likewise.
25223 (grub_multiboot_payload_dest): Likewise.
25224 (grub_multiboot_payload_entry_offset): Likewise.
25225 (grub_multiboot_forward_relocator): Likewise.
25226 (grub_multiboot_backward_relocator): Likewise.
25227 (grub_multiboot_real_boot): Likewise.
25228 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
25229 (grub_xnu_entry_point): Likewise.
25230 (grub_xnu_arg1): Likewise.
25231 (grub_xnu_stack): Likewise.
25232 (grub_xnu_launch): Removed.
25233 (grub_xnu_boot_resume): New function.
25234 (grub_xnu_boot): Use relocators.
25235 * loader/i386/xnu_helper.S: Removed.
25236 * loader/xnu.c (grub_xnu_heap_start): New variable.
25237 (grub_xnu_heap_size): Likewise.
25238 (grub_xnu_heap_malloc): Use relocators.
25239 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
25240
29eb90c6
VS
252412009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
25242
25243 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
25244 anything.
25245
31027430
CPE
252462009-12-13 Carles Pina i Estany <carles@pina.cat>
25247
25248 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
25249 GRUB_ERR_NONE before calling grub_env_set.
25250
dc0c71d9
RM
252512009-12-12 Robert Millan <rmh@aybabtu.com>
25252
25253 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
25254 * genmk.rb (video): New variable.
25255 (CLEANFILES, VIDEOFILES): Add #{video}.
25256 (#{video}): New target rule.
25257 * genvideolist.sh: New file.
25258 * Makefile.in (pkglib_DATA): Add video.lst.
25259 (video.lst): New target rule.
25260 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
25261 `video.lst'.
25262 * util/grub.d/30_os-prober.in: Replace `vbe' with
25263 ${GRUB_VIDEO_BACKEND}.
25264
2a4bfcf0
RM
252652009-12-11 Robert Millan <rmh.grub@aybabtu.com>
25266
25267 * THANKS: Add David Miller.
25268
2a3aa4d5
RM
252692009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
25270
25271 libpciaccess support.
25272
25273 * Makefile.in (LIBPCIACCESS): New variable.
25274 (enable_grub_emu_pci): Likewise.
25275 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
25276 util/pci.c and commands/lspci.c.
25277 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
25278 * configure.ac (grub-emu-pci): New option.
25279 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
25280 (grub_pci_device_unmap_range): Likewise.
25281 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
25282 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
25283 (grub_pci_address_t) [!GRUB_UTIL]: New type.
25284 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
25285 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
25286 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
25287 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
25288 * include/grub/pciutils.h: New file.
25289 * util/pci.c: Likewise.
25290
0ad46fd7 252912009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
25292
25293 * util/misc.c: Don't include <errno.h> twice.
25294
0ad46fd7 252952009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
25296
25297 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
25298 name in an error message.
25299 (grub_biosdisk_rw): Likewise.
25300
2e59983c
VS
253012009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25302
25303 Eliminate NTFS 4Gib barrier.
25304
25305 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
25306 (read_run_data): Likewise.
25307 (grub_ntfs_read_run_list): Likewise.
25308 (grub_ntfs_read_block): Likewise.
25309 (grub_ntfs_iterate_dir): Likewise.
25310 (read_mft): Likewise.
25311 (read_data): Likewise.
25312 Use COM_LOG_LEN.
25313 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
25314 to avoid 64-bit division
25315 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
25316 (grub_ntfs_rlst): Use grub_disk_addr_t.
25317
71ee178a
VS
253182009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25319
25320 Eliminate grub-fstest 4Gib barrier.
25321
25322 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
25323 (read_file): Fix error reporting.
25324
2520d4b8
VS
253252009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25326
25327 Eliminate hexdump 4Gib barrier.
25328
25329 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
25330 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
25331
e1f27065
VS
253322009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
25333
25334 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
25335 Fixes amarsh bug.
25336
1a0f7f45
RM
253372009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
25338
25339 Remove miscellaneous files in distclean target.
25340
25341 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
25342
c631d9fb
CW
253432009-12-09 Colin Watson <cjwatson@ubuntu.com>
25344
25345 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
25346 if they're already set. This resolves the conflict between my
25347 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
25348 fixing the --grub-probe option again.
25349 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
25350 change on 2009-10-06, so that we now once again source
25351 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
25352
7c7b6106
RM
253532009-12-08 Robert Millan <rmh.grub@aybabtu.com>
25354
25355 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
25356 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
25357 `util/devicemap.c'.
25358
e3069ec1
CPE
253592009-12-08 Carles Pina i Estany <carles@pina.cat>
25360
25361 * include/grub/misc.h (grub_printf_): New declaration.
25362 * kern/misc.c (grub_printf_): New definition.
25363 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
25364 instead of `grub_printf' and `_'.
25365 * normal/menu_entry.c (store_completion): Likewise.
25366 (run): Likewise.
25367 (grub_menu_entry_run): Likewise.
25368 * normal/menu_text.c (grub_wait_after_message): Likewise.
25369 (notify_booting): Likewise.
25370 (notify_fallback): Likewise.
25371 (notify_execution_failure): Likewise.
25372
d6ceebf1
CW
253732009-12-07 Colin Watson <cjwatson@ubuntu.com>
25374
25375 * configure.ac: Check for vasprintf.
25376 * util/misc.c (asprintf): Move allocation from here ...
25377 (vasprintf): ... to here. New function.
25378 (xasprintf): New function.
25379 * include/grub/util/misc.h (vasprintf, xasprintf): Add
25380 prototypes.
25381 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
25382 * util/grub-mkfont.c (write_font): Likewise.
25383 * util/grub-probe.c (probe): Likewise.
25384 * util/hostdisk.c (make_device_name): Likewise.
25385
de6daa8b
DM
253862009-12-06 David S. Miller <davem@sunset.davemloft.net>
25387
25388 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
25389 anything even prefixed with 'cdrom' as a cdrom.
25390
0ad46fd7 253912009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
25392
25393 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
25394 mount points.
25395
98d3dc02
CPE
253962009-12-05 Carles Pina i Estany <carles@pina.cat>
25397
25398 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
25399 grub_gettext_msg_list.
25400 (grub_gettext_gettranslation_from_position): Return const char *
25401 and not char *.
a2c1332b 25402 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
25403 returns from the list if existing there.
25404 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
25405 (grub_gettext_delete_list): Delete the list.
25406 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
25407 lang environment variable is changed.
25408 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
25409
b283f108
VS
254102009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
25411
25412 Rename kernel.mod to kernel.img.
25413
25414 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
25415 (kernel_mod_EXPORTS): Rename to ...
25416 (kernel_img_EXPORTS): ... this.
25417 (kernel_mod_SOURCES): Rename to ...
25418 (kernel_img_SOURCES): ... this.
25419 (kernel_mod_HEADERS): Rename to ...
25420 (kernel_img_HEADERS): ... this. All users updated.
25421 (kernel_mod_CFLAGS): Rename to ...
25422 (kernel_img_CFLAGS): ... this.
25423 (kernel_mod_ASFLAGS): Rename to ...
25424 (kernel_img_ASFLAGS): ... this.
25425 (kernel_mod_LDFLAGS): Rename to ...
25426 (kernel_img_LDFLAGS): ... this.
25427 * conf/x86_64-efi.rmk: Likewise.
25428 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
25429 (read_kernel_image): ... this. All users updated.
25430 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
25431
69055f8a
CPE
254322009-12-05 Carles Pina i Estany <carles@pina.cat>
25433
25434 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
25435 (print_spaces): New function.
25436 (grub_print_ucs4): New function.
25437 (getstringwidth): New function.
25438 (print_message_indented): New function.
25439 (print_message): Gettexttize strings using print_message_indented.
25440 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
25441 width.
25442 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 25443 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
25444 Gettextize.
25445 * normal/menu_entry.c (store_completion): Cleanup the gettextized
25446 string.
25447 (run): Likewise.
25448 (grub_menu_entry_run): Likewise.
25449 * PO/POTFILES: Add normal/menu_entry.c.
25450
f616f51c
VS
254512009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
25452
25453 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
25454
57bbe3be
CPE
254552009-12-05 Carles Pina i Estany <carles@pina.cat>
25456
25457 * util/grub-install.in: Install gettext .mo files.
25458 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
25459
013d67a1
CPE
254602009-12-05 Carles Pina i Estany <carles@pina.cat>
25461
25462 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
25463 grub_dprintf.
25464
fb954db0
RM
254652009-12-05 Robert Millan <rmh.grub@aybabtu.com>
25466
25467 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
25468 non-firmware-dependant one in realmode.S takes precedence.
25469
6b8474f8
RM
254702009-12-04 Robert Millan <rmh.grub@aybabtu.com>
25471
25472 * commands/halt.c: Replace misc arch-specific headers with
25473 `<grub/misc.h>'.
25474 * commands/reboot.c: Likewise.
25475 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
25476 `<grub/misc.h>'.
25477 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
25478 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
25479 (kernel_img_SOURCES): ... to here.
25480
25481 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
25482 * include/grub/i386/pc/init.h: Likewise.
25483 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
25484 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
25485
25486 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
25487
25488 * include/grub/i386/halt.h: Remove.
25489 * include/grub/i386/reboot.h: Likewise.
25490
25491 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
25492
4b2e6ca2
DM
254932009-12-03 David S. Miller <davem@sunset.davemloft.net>
25494
25495 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
25496 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
25497 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
25498 "progname.h"
25499 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
25500 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25501 (usage): Add missing comma in printf.
25502
5239348f
RM
255032009-12-02 Robert Millan <rmh.grub@aybabtu.com>
25504
25505 Use the same reboot approach on i386 coreboot and qemu as we do on
25506 BIOS.
25507
25508 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
25509 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
25510 * kern/i386/reboot.c: Remove.
25511 * include/grub/i386/reboot.h (grub_reboot): Export function.
25512 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
25513 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
25514 0xf000:0xfff0 instead of 0xffff:0x0000.
25515 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
25516 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
25517
ef34cbd4
RM
255182009-11-30 Robert Millan <rmh.grub@aybabtu.com>
25519
25520 Fix $srcdir != $objdir build.
25521
25522 * Makefile.in (po/%.po): Rewrite as ...
25523 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
25524
dc9837ea
ST
255252009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
25526
25527 Fix GNU/Hurd grub-install crash.
25528 * util/grub-probe.c (probe): Try to access `path' only when it is not
25529 NULL.
25530
2f857f98
VS
255312009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
25532
25533 Correct module naming.
25534
25535 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
25536 (GRUB_MOD_INIT(efi_uga)): ... to this
25537 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
25538 (GRUB_MOD_FINI(efi_uga)): ... to this
25539 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
25540 (GRUB_MOD_INIT(efi_gop)): ... to this
25541 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
25542 (GRUB_MOD_FINI(efi_gop)): ... to this
25543
c5448046
RM
255442009-11-28 Robert Millan <rmh.grub@aybabtu.com>
25545
25546 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
25547 translatable.
25548 (usage): Translate `arg' strings using gettext().
25549 Thanks to Jordi Mallach for the suggestion.
25550
c85184ad
VS
255512009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
25552
25553 GOP support. Based on patch from Bean
25554 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
25555
25556 * video/efi_gop.c: New file.
25557 * include/grub/efi/graphics_output.h: Likewise.
25558 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
25559 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
25560 variables.
25561 * conf/x86_64-efi.rmk: Likewise.
25562
8a4c48d8
VS
255632009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
25564
25565 Rename efi_fb to efi_uga.
25566
25567 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
25568 'efi_uga.mod'.
25569 (efi_fb_mod_SOURCES): Rename this ...
25570 (efi_uga_mod_SOURCES): ... to this.
25571 (efi_fb_mod_CFLAGS): Rename this ...
25572 (efi_uga_mod_CFLAGS): ... to this.
25573 (efi_fb_mod_LDFLAGS): Rename this ...
25574 (efi_uga_mod_LDFLAGS): ... to this.
25575 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
25576 'efi_uga.mod'.
25577 (efi_fb_mod_SOURCES): Rename this ...
25578 (efi_uga_mod_SOURCES): ... to this.
25579 (efi_fb_mod_CFLAGS): Rename this ...
25580 (efi_uga_mod_CFLAGS): ... to this.
25581 (efi_fb_mod_LDFLAGS): Rename this ...
25582 (efi_uga_mod_LDFLAGS): ... to this.
25583 * video/efi_fb.c: Move this ...
25584 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
25585
fb6c1a7b
RM
255862009-11-27 Robert Millan <rmh.grub@aybabtu.com>
25587
25588 * po/README: New file. Explain our PO file workflow.
25589
3bc7896c
RM
255902009-11-27 Robert Millan <rmh.grub@aybabtu.com>
25591
25592 * po/ChangeLog: Remove. Move relevant entries back to ...
25593 * ChangeLog: ... here.
25594 * po/ca.po: Remove (now handled by TLP).
25595 * po/id.po: Likewise.
25596 * po/zh_CN.po: Likewise.
25597 * Makefile.in (LINGUAS): Initialize in a way that supports
25598 empty set.
25599
9ed4841d
RM
256002009-11-27 Robert Millan <rmh.grub@aybabtu.com>
25601
25602 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
25603 reliing on po/LINGUAS.
25604 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
25605 (po/%.po): ... this.
25606
0ad46fd7 256072009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
25608
25609 * util/i386/efi/grub-mkimage.c: Include "progname.h".
25610 (main): Use `program_name' instead of nonexistent `progname'.
25611
e30dd392
FZ
256122009-11-26 Felix Zielcke <fzielcke@z-51.de>
25613
25614 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
25615 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
25616
7656de4f
RM
256172009-11-26 Robert Millan <rmh.grub@aybabtu.com>
25618
25619 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
25620 commit.
25621 * conf/i386-efi.rmk: Likewise.
25622 * conf/i386-ieee1275.rmk: Likewise.
25623 * conf/powerpc-ieee1275.rmk: Likewise.
25624 * conf/sparc64-ieee1275.rmk: Likewise.
25625 * conf/x86_64-efi.rmk: Likewise.
25626
db77c4d4
FZ
256272009-11-26 Felix Zielcke <fzielcke@z-51.de>
25628
25629 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
25630
a755bb04
FZ
256312009-11-26 Felix Zielcke <fzielcke@z-51.de>
25632
25633 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
25634
8a4c07fd
RM
256352009-11-26 Robert Millan <rmh.grub@aybabtu.com>
25636
25637 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
25638 (grub_mkdevicemap_SOURCES): New variable.
25639 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
25640 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
25641 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
25642 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
25643 (grub_mkdevicemap_SOURCES): Remove.
25644 * conf/i386-efi.rmk: Likewise.
25645 * conf/i386-ieee1275.rmk: Likewise.
25646 * conf/i386-pc.rmk: Likewise.
25647 * conf/powerpc-ieee1275.rmk: Likewise.
25648 * conf/sparc64-ieee1275.rmk: Likewise.
25649 * conf/x86_64-efi.rmk: Likewise.
25650 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
25651 (usage): Fix strings to use `program_name'.
25652 (main): Initialize gettext.
25653 * util/grub-editenv.c: Likewise.
25654 * util/grub-emu.c: Likewise.
25655 * util/grub-fstest.c: Likewise.
25656 * util/grub-mkdevicemap.c: Likewise.
25657 * util/grub-mkfont.c: Likewise.
25658 * util/grub-mkrelpath.c: Likewise.
25659 * util/grub-pe2elf.c: Likewise.
25660 * util/grub-probe.c: Likewise.
25661 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
25662 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
25663 * util/sparc64/ieee1275/grub-setup.c: Likewise.
25664
25665 * util/misc.c: Include `"progname.h"'.
25666 (progname): Remove variable.
25667 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
25668
6f61ed55
FZ
256692009-11-25 Felix Zielcke <fzielcke@z-51.de>
25670
25671 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
25672 printf and print a newline after the menuentry header line.
25673 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
25674
f022876b
FZ
256752009-11-25 Felix Zielcke <fzielcke@z-51.de>
25676
25677 autoconf >= 2.60 support $(localedir).
25678
25679 * INSTALL: Note that autoconf 2.60 is required.
25680 * configure.ac (AC_PREREQ): Bump to 2.60.
25681 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
25682 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
25683
6717926e
YB
256842009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
25685
25686 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
25687 aclocal is run.
25688
08806a54
RM
256892009-11-25 Robert Millan <rmh.grub@aybabtu.com>
25690
25691 * normal/main.c (grub_normal_read_line): Fix off-by-one
25692 buffer overflow.
25693
13b33fba
RM
256942009-11-25 Robert Millan <rmh.grub@aybabtu.com>
25695
25696 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
25697 "parser.grub" in grub_command_execute() call.
25698
4a8572e9
CPE
256992009-11-24 Carles Pina i Estany <carles@pina.cat>
25700
25701 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
25702 * conf/i386-efi.rmk: Likewise.
25703 * conf/i386-ieee1275.rmk: Likewise.
25704 * conf/i386-pc.rmk: Likewise.
25705 * conf/powerpc-ieee1275.rmk: Likewise.
25706 * conf/sparc64-ieee1275.rmk: Likewise.
25707 * conf/x86_64-efi.rmk: Likewise.
25708 * gettext/gettex.c: Include <grub/i18n.h>.
25709 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
25710 here ...
25711 * include/grub/i18n.h: ... to here
25712 * include/grub/i18n.h: ... to here.
25713 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 25714 (grub_gettext_dummy): Move above user.
4a8572e9 25715
bee48093
FZ
257162009-11-24 Felix Zielcke <fzielcke@z-51.de>
25717
25718 * util/Makefile.in (install-local): Convert a `for' into a normal
25719 shell expansion.
25720
a031e91c
RM
257212009-11-24 Robert Millan <rmh.grub@aybabtu.com>
25722
25723 * autogen.sh: Add automake call.
25724 * config.guess: Remove.
25725 * config.sub: Likewise.
25726 * install-sh: Likewise.
25727
26bec39d
FZ
257282009-11-24 Felix Zielcke <fzielcke@z-51.de>
25729
25730 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
25731
8e2532fd
FZ
257322009-11-24 Felix Zielcke <fzielcke@z-51.de>
25733
25734 * util/Makefile.in (install-local): Convert a make `$(foreach)'
25735 function to a normal shell `for'.
25736
fefa1b7d
FZ
257372009-11-24 Felix Zielcke <fzielcke@z-51.de>
25738
25739 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
25740
4501250b
FZ
257412009-11-24 Felix Zielcke <fzielcke@z-51.de>
25742
25743 * util/grub-mkrelpath.c: New file.
25744 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
25745 (grub_mkrelpath_SOURCES): New variable.
25746 * include/grub/util/misc.h: New function prototype.
25747 * util/misc.c (make_system_path_relative_to_its_root): New function.
25748
25749 * util/grub-mkconfig_lib.in (bindir): New variable.
25750 (grub_mkrelpath): Likewise.
25751 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
25752
25753 * util/probe.c (probe): Make the file path relative to its root.
25754 Change a info message to use the GRUB path. Enable again the
25755 check if we can read the file with GRUB facilities.
25756
25757 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
25758 to its root.
25759
11d9778b
FZ
257602009-11-24 Felix Zielcke <fzielcke@z-51.de>
25761
25762 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
25763 platform.
25764
4465287d
FZ
257652009-11-24 Felix Zielcke <fzielcke@z-51.de>
25766
25767 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
25768 strncmp().
25769
62b47f22
FZ
257702009-11-24 Felix Zielcke <fzielcke@z-51.de>
25771
25772 * util/getroot.c (grub_util_is_dmraid): New function.
25773 (grub_util_get_dev_abstraction): Treat dmraid and multipath
25774 devices as normal ones, not as LVM.
25775
1eafb9b9 257762009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
25777
25778 * conf/common.rmk: Add grub-gettext_lib target and updates
25779 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
25780 LDFLAGS.
25781 * gettext/gettext.c: New file. (Reads mo files).
25782 * include/grub/file.h (grub_file_pread): New prototype.
25783 * include/grub/i18n.h (_): New prototype.
25784 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
25785 prototypes.
25786 * kern/misc.c (grub_gettext_dummy): New function.
25787 * normal/menu_text.c: Include <grub/i18n.h>.
25788 * normal/menu_text.c (print_timeout): Gettexttize string.
25789 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
25790 * po/POTFILES: Add `normal/menu_text.c'.
25791 * po/ca.po: Add new translations.
c3ea6bd4
CPE
25792 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
25793 gettext module and defines locale_dir and lang in grub.cfg.
25794 * NEWS: Add gettext support.
25795
0fdb2568
RM
257962009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25797
25798 * util/hostdisk.c: Include `<grub/i18n.h>'.
25799 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
25800 (make_device_name): Rewrite using asprintf.
25801 (convert_system_partition_to_system_disk): Replace 0 with NULL.
25802 (find_system_device): If a device is not found, generate one just
25803 by reusing the OS path name.
25804 (read_device_map): Make it permissible for device.map not to exist.
25805
f515aa62
RM
258062009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25807
25808 * script/sh/execute.c: Move from here ...
25809 * script/execute.c: ... to here. Update all users.
25810 * script/sh/function.c: Move from here ...
25811 * script/function.c: ... to here. Update all users.
25812 * script/sh/lexer.c: Move from here ...
25813 * script/lexer.c: ... to here. Update all users.
25814 * script/sh/main.c: Move from here ...
25815 * script/main.c: ... to here. Update all users.
25816 * script/sh/parser.y: Move from here ...
25817 * script/parser.y: ... to here. Update all users.
25818 * script/sh/script.c: Move from here ...
25819 * script/script.c: ... to here. Update all users.
25820
f84b481b
RM
258212009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25822
25823 * configure.ac: Detect all `emu' platforms. Define
25824 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
25825 --enable-grub-emu logic. Disable include/grub/machine
25826 symlink on `emu' platforms.
25827
25828 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
25829 * gensymlist.sh.in: Likewise.
25830
25831 * include/grub/i386/coreboot/machine.h: Remove file.
25832 * include/grub/i386/efi/machine.h: Likewise.
25833 * include/grub/i386/ieee1275/machine.h: Likewise.
25834 * include/grub/i386/pc/machine.h: Likewise.
25835 * include/grub/i386/qemu/machine.h: Likewise.
25836 * include/grub/powerpc/ieee1275/machine.h: Likewise.
25837 * include/grub/sparc64/ieee1275/machine.h: Likewise.
25838 * include/grub/x86_64/efi/machine.h: Likewise.
25839
25840 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
25841 * commands/halt.c: Likewise.
25842 * commands/reboot.c: Likewise.
25843 * include/grub/autoefi.h: Likewise.
25844 * include/grub/i386/at_keyboard.h: Likewise.
25845 * include/grub/i386/kernel.h: Likewise.
25846 * include/grub/i386/loader.h: Likewise.
25847 * include/grub/i386/pc/memory.h: Likewise.
25848 * kern/dl.c: Likewise.
25849 * kern/i386/coreboot/init.c: Likewise.
25850 * loader/i386/bsd.c: Likewise.
25851 * loader/i386/linux.c: Likewise.
25852 * loader/multiboot_loader.c: Likewise.
25853 * term/i386/pc/serial.c: Likewise.
25854 * term/usb_keyboard.c: Likewise.
25855
25856 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
25857 `<grub/machine/machine.h>'
25858 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
25859 * util/misc.c: Remove `<grub/machine/machine.h>' and
25860 `<grub/machine/time.h>'.
25861
25862 * Makefile.in (enable_grub_emu): Remove variable.
25863 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
25864
25865 * conf/any-emu.rmk: New file.
25866 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
25867 (grub_emu_init.c): Move from here ...
25868 * conf/any-emu.rmk: ... to here.
25869
25870 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
25871 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
25872 * conf/any-emu.rmk: ... to here.
25873
4efeab03
RM
258742009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25875
25876 * include/grub/parser.h (grub_parser_register): Document need
25877 of `name' parameter.
25878 * normal/main.c (grub_normal_read_line): Simplify prompt string.
25879 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
25880 "sh" to "grub".
25881
ea1dd8bf
RM
258822009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25883
25884 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
25885 `$(XGETTEXT)'.
25886 * include/grub/i18n.h (N_): New macro.
25887 * util/mkisofs/mkisofs.h: Likewise.
25888 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
25889 around N_().
25890 (usage): Use gettext() to translate help strings when printing them.
25891
0c140626
RM
258922009-11-23 Robert Millan <rmh.grub@aybabtu.com>
25893
25894 Based on patch from Bean
25895 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
25896
25897 * video/efi_fb.c: New file.
25898 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
25899 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
25900 variables.
25901 * conf/x86_64-efi.rmk: Likewise.
25902
87d58298
RM
259032009-11-22 Robert Millan <rmh.grub@aybabtu.com>
25904
25905 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
25906 * util/i386/pc/grub-setup.c: Likewise.
25907
994cc3a3
ST
259082009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
25909
25910 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
25911 <hurd/fs.h>
25912 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
25913 file_get_storage_info to implement grub_guess_root_device.
25914
26a61d6a
FZ
259152009-11-21 Felix Zielcke <fzielcke@z-51.de>
25916
25917 * Makefile.in (target): Use make's builtin $(shell) function
25918 instead of calling directly $(SHELL) to create the locale directories,
25919 inside the $(foreach) function.
25920
74ff1dd5
FZ
259212009-11-21 Felix Zielcke <fzielcke@z-51.de>
25922
25923 * util/grub-mkrescue.in: Print an error and usage if output option
25924 has not been given.
25925
0b787d0e
FZ
259262009-11-21 Felix Zielcke <fzielcke@z-51.de>
25927
25928 Patch from Loïc Minier <loic.minier@ubuntu.com>.
25929 * util/grub.d/30_os-prober.in: Cope with Linux entries where
25930 root and /boot are on different devices.
25931
1164b270
RM
259322009-11-21 Robert Millan <rmh.grub@aybabtu.com>
25933
25934 Fix build for srcdir != objdir.
25935
25936 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
25937 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
25938 $(srcdir).
25939 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
25940 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
25941 reference for input.
25942
13774a2f
RM
259432009-11-21 Robert Millan <rmh.grub@aybabtu.com>
25944
25945 * util/grub-mkrescue.in: Use source directory direcly (without copiing
25946 or hardlinking it). Remove -J option, Joliet is not compatible with
25947 multiple source directories.
25948
efda854e
RM
259492009-11-21 Carles Pina i Estany <carles@pina.cat>
259502009-11-21 Robert Millan <rmh.grub@aybabtu.com>
25951
25952 * util/grub-mkrescue.in: Recognize `--override-directory' option.
25953 (process_input_dir): New function. Process an arbitrary input
25954 directory.
25955 Misc adjustments to support both "override mode" and system-wide mode.
25956
6c09890c
FZ
259572009-11-20 Felix Zielcke <fzielcke@z-51.de>
25958
25959 * configure.ac (UNIFONT_BDF): Rename to ...
25960 (FONT_SOURCE): ... this. Update all users.
25961
a797824f
FZ
259622009-11-20 Felix Zielcke <fzielcke@z-51.de>
25963
25964 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
25965 to the list of unifont files to look for.
25966
cd4f42b0
RM
259672009-11-19 Robert Millan <rmh.grub@aybabtu.com>
25968
25969 Patch from Joe Auricchio <jauricchio@gmail.com>
25970 * commands/minicmd.c (grub_mini_cmd_clear): New function.
25971 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
25972 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
25973
393c783d
FZ
259742009-11-19 Felix Zielcke <fzielcke@z-51.de>
25975
25976 * Makefile.in (install-local): Add a missing backslash.
25977
b2f1e327
FZ
259782009-11-19 Felix Zielcke <fzielcke@z-51.de>
25979
25980 * include/grub/x86_64/io.h: New file.
25981
f577f7a0
RM
259822009-11-19 Robert Millan <rmh.grub@aybabtu.com>
25983
25984 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
25985 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
25986 Include `"progname.h"'.
25987 (main): Initialize gettext.
25988 * util/i386/pc/grub-setup.c: Gettexttize.
25989 * util/i386/pc/grub-mkimage.c: Likewise.
25990
25991 * Makefile.in (po/*.po): Redefine as ...
25992 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
25993
3bc7896c
RM
25994 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
25995
c37943b6
RM
259962009-11-19 Robert Millan <rmh.grub@aybabtu.com>
25997
25998 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
25999 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
26000 (program_name): Remove.
26001 (main): Initialize gettext support.
6323f705
RM
26002 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
26003 Include `<libintl.h>'.
26004 (_): New macro.
c37943b6
RM
26005
26006 * util/mkisofs/eltorito.c: Gettexttize.
26007 * util/mkisofs/joliet.c: Likewise.
26008 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
26009 * util/mkisofs/multi.c: Likewise.
26010 * util/mkisofs/rock.c: Likewise.
26011 * util/mkisofs/tree.c: Likewise.
26012 * util/mkisofs/write.c: Likewise.
26013
3bc7896c
RM
26014 * po/POTFILES: Update with new files.
26015
5ce77c6e
RM
260162009-11-18 Robert Millan <rmh.grub@aybabtu.com>
26017
26018 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
26019 * util/mkisofs/iso9660.h: Likewise.
26020 * util/mkisofs/joliet.c: Likewise.
26021 * util/mkisofs/mkisofs.c: Likewise.
26022 * util/mkisofs/mkisofs.h: Likewise.
26023 * util/mkisofs/rock.c: Likewise.
26024 * util/mkisofs/tree.c: Likewise.
26025 * util/mkisofs/write.c: Likewise.
26026
26027 * util/mkisofs/eltorito.c (rcsid): Remove.
26028 * util/mkisofs/hash.c: Likewise.
26029 * util/mkisofs/joliet.c: Likewise.
26030 * util/mkisofs/name.c: Likewise.
26031 * util/mkisofs/rock.c: Likewise.
26032 * util/mkisofs/tree.c: Likewise.
26033 * util/mkisofs/write.c: Likewise.
26034
1dabbc77
RM
260352009-11-18 Robert Millan <rmh.grub@aybabtu.com>
26036
26037 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
26038 instead of static allocation.
26039 * util/mkisofs/match.h: Likewise.
26040
633877cb
RM
260412009-11-18 Robert Millan <rmh.grub@aybabtu.com>
26042
3bc7896c
RM
26043 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
26044 and `util/grub.d/10_linux.in'.
633877cb
RM
26045 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
26046 translatable Shell files.
26047
af1c0c85
RM
260482009-11-18 Robert Millan <rmh.grub@aybabtu.com>
26049
26050 * Makefile.in ($(srcdir)/aclocal.m4): New target.
26051
769ae37b
RM
260522009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26053
26054 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 26055 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
26056 * util/grub.d/10_kfreebsd.in (bindir): New variable.
26057 Add gettext initialization.
26058 (kfreebsd_entry): Make menuentry output translatable.
26059
260602009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26061
26062 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
26063 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
26064 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
26065 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
26066 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 26067 * po/LINGUAS: New file.
769ae37b
RM
26068
260692009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26070
26071 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
26072 other things).
26073 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
26074 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
26075 bindtextdomain() calls for gettext initialization.
26076
260772009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26078
26079 * gnulib/progname.c: New file (imported from Gnulib).
26080 * gnulib/progname.h: Likewise.
26081 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
26082 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
26083 (usage): Replace `progname' with `program_name'.
26084 (main): Use set_program_name() for program name initialization.
26085
260862009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26087
26088 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
26089 from here ...
26090 * Makefile.in (CPPFLAGS): ... to here.
26091
260922009-11-16 Robert Millan <rmh.grub@aybabtu.com>
26093
26094 * aclocal.m4: Move from here ...
26095 * acinclude.m4: ... to here.
26096 * autogen.sh: Add call to `aclocal'.
26097 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
26098
260992009-11-16 Robert Millan <rmh.grub@aybabtu.com>
26100
26101 * Makefile.in (CLEANFILES): Add `po/*.mo'.
26102 (LINGUAS): New variable.
26103 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
26104 (install-local): Install MO files.
26105 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
26106 * include/grub/i18n.h: New file.
3bc7896c
RM
26107 * po/POTFILES: New file.
26108 * po/ca.po: New file.
769ae37b
RM
26109 * util/grub.d/10_linux.in (bindir): New variable.
26110 Add gettext initialization.
26111 (linux_entry): Make menuentry output translatable.
26112 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
26113 (usage): Make --help output translatable.
26114 (main): Initialize gettext.
26115
02c0a6ad
RM
261162009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26117
26118 * import_gcry.py: New file (written by Vladimir with minor
26119 adjustments).
26120 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
26121 ciphers.
26122 * INSTALL: Document that Python is required for bootstrap.
26123
261242009-11-17 Robert Millan <rmh.grub@aybabtu.com>
26125
26126 Import ciphers from libgcrypt 1.4.4.
26127
26128 * lib/libgcrypt/cipher/ChangeLog
26129 * lib/libgcrypt/cipher/ac.c
26130 * lib/libgcrypt/cipher/arcfour.c
26131 * lib/libgcrypt/cipher/bithelp.h
26132 * lib/libgcrypt/cipher/blowfish.c
26133 * lib/libgcrypt/cipher/camellia-glue.c
26134 * lib/libgcrypt/cipher/camellia.c
26135 * lib/libgcrypt/cipher/camellia.h
26136 * lib/libgcrypt/cipher/cast5.c
26137 * lib/libgcrypt/cipher/cipher.c
26138 * lib/libgcrypt/cipher/crc.c
26139 * lib/libgcrypt/cipher/des.c
26140 * lib/libgcrypt/cipher/dsa.c
26141 * lib/libgcrypt/cipher/ecc.c
26142 * lib/libgcrypt/cipher/elgamal.c
26143 * lib/libgcrypt/cipher/hash-common.c
26144 * lib/libgcrypt/cipher/hash-common.h
26145 * lib/libgcrypt/cipher/hmac-tests.c
26146 * lib/libgcrypt/cipher/md.c
26147 * lib/libgcrypt/cipher/md4.c
26148 * lib/libgcrypt/cipher/md5.c
26149 * lib/libgcrypt/cipher/primegen.c
26150 * lib/libgcrypt/cipher/pubkey.c
26151 * lib/libgcrypt/cipher/rfc2268.c
26152 * lib/libgcrypt/cipher/rijndael-tables.h
26153 * lib/libgcrypt/cipher/rijndael.c
26154 * lib/libgcrypt/cipher/rmd.h
26155 * lib/libgcrypt/cipher/rmd160.c
26156 * lib/libgcrypt/cipher/rsa.c
26157 * lib/libgcrypt/cipher/seed.c
26158 * lib/libgcrypt/cipher/serpent.c
26159 * lib/libgcrypt/cipher/sha1.c
26160 * lib/libgcrypt/cipher/sha256.c
26161 * lib/libgcrypt/cipher/sha512.c
26162 * lib/libgcrypt/cipher/tiger.c
26163 * lib/libgcrypt/cipher/twofish.c
26164 * lib/libgcrypt/cipher/whirlpool.c
26165
af2f93ac
RM
261662009-11-16 Robert Millan <rmh.grub@aybabtu.com>
26167
26168 Fix build for systems without error().
26169
26170 * gnulib/error.c: New file (imported from Gnulib).
26171 * gnulib/error.h: Likewise.
26172 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
26173 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
26174 (this variable is now used by error()).
26175
73fb3dd5
FZ
261762009-11-16 Felix Zielcke <fzielcke@z-51.de>
26177
814f5e96
FZ
26178 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
26179 instead of relying that char is signed.
73fb3dd5 26180
a691ca33
VS
261812009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
26182
26183 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
26184 blocksize different from specified.
26185 (grub_pxefs_read): Likewise.
26186
2af8f0f4
FZ
261872009-11-16 Felix Zielcke <fzielcke@z-51.de>
26188
26189 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
26190
26191 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
26192 (grub_ata_readwrite): Likewise. Update 2 format strings.
26193 (grub_atapi_read): Likewise.
26194
26195 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
26196 * conf/i386.rmk (pkglib_MODULES): ... to here ...
26197 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
26198 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
26199 (ata_mod_LDFLAGS): Move from here ...
26200 * conf/i386.rmk: ... to here ...
26201 * conf/x86_64-efi.rmk: ... and here.
26202 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
26203 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
26204
83bdecaf
RM
262052009-11-16 Robert Millan <rmh.grub@aybabtu.com>
26206
26207 Relicense multiboot.h, with RMS' blessing.
26208
26209 * include/multiboot.h: Change to X11 license.
26210
fd6fd3d7
RM
262112009-11-15 Robert Millan <rmh.grub@aybabtu.com>
26212
26213 Support --version in grub-mkisofs.
26214
26215 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
26216 (OPTION_VERSION): New macro.
26217 (ld_options): Recognize --version.
26218 (usage): Move `program_name' from here ...
26219 (program_name): ... to here. Add `static' qualifier.
26220 (main): Recognize `OPTION_VERSION'.
26221
16a88c49
FZ
262222009-11-15 Felix Zielcke <fzielcke@z-51.de>
26223
26224 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
26225 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
26226
a4158476
RM
262272009-11-14 Robert Millan <rmh.grub@aybabtu.com>
26228
26229 Fix help2man generation for mkisofs.
26230
26231 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
26232 (usage): Send output to stdout (rather than stderr).
26233
fc2208b0
RM
262342009-11-14 Robert Millan <rmh.grub@aybabtu.com>
26235
26236 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
26237 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
26238 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
26239 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
26240 (bin_SCRIPTS): Add `grub-mkfloppy'.
26241 (grub_mkfloppy_SOURCES): New variable.
26242
26243 * util/grub-mkrescue.in: New file.
26244 * util/i386/pc/grub-mkfloppy.in: New file.
26245
26246 * util/i386/coreboot/grub-mkrescue.in: Remove.
26247 * util/i386/pc/grub-mkrescue.in: Remove.
26248
8d0edf4a
RM
262492009-11-13 Robert Millan <rmh.grub@aybabtu.com>
26250
26251 * include/grub/multiboot.h (struct grub_multiboot_header): Move
26252 from here ...
26253 * include/multiboot.h (struct multiboot_header): ... to here. Update
26254 all users.
26255 * include/grub/multiboot.h (struct grub_multiboot_info): Move
26256 from here ...
26257 * include/multiboot.h (struct multiboot_info): ... to here. Update
26258 all users.
26259 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
26260 from here ...
26261 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
26262 Update all users.
26263 * include/grub/multiboot.h (struct grub_mod_list): Move
26264 from here ...
26265 * include/multiboot.h (struct multiboot_mod_list): ... to here.
26266 Update all users.
26267
a73f5969
RM
262682009-11-13 Robert Millan <rmh.grub@aybabtu.com>
26269
26270 * include/multiboot2.h (multiboot_word): Rename from this ...
26271 (multiboot2_word): ... to this. Update all users.
26272 (multiboot_header): Rename from this ...
26273 (multiboot2_header): ... to this. Update all users.
26274 (multiboot_tag_header): Rename from this ...
26275 (multiboot2_tag_header): ... to this. Update all users.
26276 (multiboot_tag_start): Rename from this ...
26277 (multiboot2_tag_start): ... to this. Update all users.
26278 (multiboot_tag_name): Rename from this ...
26279 (multiboot2_tag_name): ... to this. Update all users.
26280 (multiboot_tag_module): Rename from this ...
26281 (multiboot2_tag_module): ... to this. Update all users.
26282 (multiboot_tag_memory): Rename from this ...
26283 (multiboot2_tag_memory): ... to this. Update all users.
26284 (multiboot_tag_unused): Rename from this ...
26285 (multiboot2_tag_unused): ... to this. Update all users.
26286 (multiboot_tag_end): Rename from this ...
26287 (multiboot2_tag_end): ... to this. Update all users.
26288
1c8927f0
RM
262892009-11-13 Robert Millan <rmh.grub@aybabtu.com>
26290
26291 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
26292 this platform we should support Multiboot1 first.
26293
26294 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
26295 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
26296 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
26297
6e1e0d89
RM
262982009-11-12 Robert Millan <rmh.grub@aybabtu.com>
26299
26300 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
26301 of write calls (converting them to fwrite() if they aren't already).
26302 (get_torito_desc): Likewise.
26303 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
26304
7f2b34d8
RM
263052009-11-12 Robert Millan <rmh.grub@aybabtu.com>
26306
26307 * util/i386/pc/grub-install.in: Move from here ...
26308 * util/grub-install.in: ... to here. Update all users.
26309
c0ef3311
CW
263102009-11-11 Colin Watson <cjwatson@ubuntu.com>
26311
26312 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
26313
e1f240ff
RM
263142009-11-11 Robert Millan <rmh.grub@aybabtu.com>
26315
26316 Support for El Torito without floppy emulation.
26317
26318 * util/mkisofs/eltorito.c: Include `<errno.h>'.
26319 (init_boot_catalog): Improve error handling.
26320 (get_torito_desc): Don't use floppy emulation unless requested by
26321 user. Patch boot information table when requested via
26322 `-boot-info-table'.
26323 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
26324 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
26325 (use_boot_info_table): New variables.
26326 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
26327 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
26328 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
26329 `--eltorito-emul-floppy'.
26330 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
26331 and `OPTION_ELTORITO_EMUL_FLOPPY'.
26332 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
26333 (use_boot_info_table, get_731): New prototypes.
26334 * util/mkisofs/write.c (get_731): New function.
26335
af7d4de5
FZ
263362009-11-11 Felix Zielcke <fzielcke@z-51.de>
26337
26338 Fix the generation of the man page.
26339
26340 * util/pc/i386/grub-install.in: Source
26341 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
26342
2c55dbc0
RM
263432009-11-11 Robert Millan <rmh.grub@aybabtu.com>
26344
26345 Large file support for grub-mkisofs.
26346
26347 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
26348 * util/mkisofs/mkisofs.c (next_extent, last_extent)
26349 (session_start): Upgrade type to `uint64_t'. Update all users.
26350 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
26351 (struct directory_entry): Upgrade type of `starting_block' and
26352 `size' to `uint64_t'. Update all users.
26353 (struct deferred): Remove unused structure.
26354 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
26355 Update all users.
26356 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
26357 file is larger than `UINT32_MAX'.
26358 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
26359 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
26360 return value.
26361 (struct deferred_write): Upgrade type of `extent' and `size' to
26362 `uint64_t'. Update all users.
26363 (last_extent_written): Upgrade type to `uint64_t'. Update all
26364 users.
26365 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
26366 Update all users. Upgrade type of `remain' to `int64_t' and
26367 `use' to `size_t'. Use error() to handle fread() errors.
26368 (write_files): Rely on write_one_file() rather than calling
26369 xfwrite() directly.
26370
6a9cead5
FZ
263712009-11-09 Felix Zielcke <fzielcke@z-51.de>
26372
26373 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
26374
4825d790
RM
263752009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26376
26377 * util/mkisofs/fnmatch.c: Remove.
26378 * util/mkisofs/getopt1.c: Likewise.
26379 * util/mkisofs/getopt.c: Likewise.
26380 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
26381 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
26382 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
26383 `gnulib/getopt1.c' and `gnulib/getopt.c'.
26384 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
26385
26386 * configure.ac: Detect `mingw32msvc' host_os.
26387 Check for lstat(), getuid() and getgid().
26388
26389 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
26390 instances of `u_char' with `uint8_t'.
26391
26392 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
26393 [!HAVE_GETUID] (getuid): New function (stub).
26394 [!HAVE_GETGID] (getgid): Likewise.
26395 [!HAVE_LSTAT] (lstat): Likewise.
26396 [!S_IROTH] (S_IROTH): New macro (dummy).
26397 [!S_IRGRP] (S_IRGRP): Likewise.
26398
84b860d8
RM
263992009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26400
26401 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
26402 conditional expression).
26403
66e9b712
RM
264042009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26405
26406 Import from Gnulib.
26407
26408 * gnulib/fnmatch.c: New file.
26409 * gnulib/fnmatch.h: Likewise.
26410 * gnulib/fnmatch_loop.c: Likewise.
26411 * gnulib/getopt.c: Likewise.
26412 * gnulib/getopt.h: Likewise.
26413 * gnulib/getopt1.c: Likewise.
26414 * gnulib/getopt_int.h: Likewise.
26415 * gnulib/gettext.h: Likewise.
26416
34f4a5b0
RM
264172009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26418
26419 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
26420 * normal/handler.c (read_handler_list): Likewise.
26421
ac451143
RM
264222009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26423
26424 Misc cleanup.
26425
26426 * kern/command.c (grub_register_command_prio): Use
26427 grub_zalloc() instead of explicitly zeroing data.
26428 * kern/list.c: Include `<grub/mm.h>'.
26429 (grub_named_list_find): Replace `0' with `NULL'.
26430 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
26431 (fs_module_list): Change type to `grub_named_list_t'. Update all
26432 users.
26433 * normal/dyncmd.c (read_command_list): Add space between function
26434 call and parenthesis.
26435 * normal/handler.c (read_handler_list): Likewise.
26436
4089b167
RM
264372009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26438
26439 * normal/auth.c (punishment_delay): Moved from here ...
26440 (grub_auth_strcmp): ... to here (inside function).
26441
325f5037
RM
264422009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26443
26444 * include/grub/list.h (struct grub_named_list): Remove `const'
26445 qualifier from `name'.
26446 (struct grub_prio_list): Likewise.
26447
7aea29a3
RM
264482009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26449
26450 * normal/auth.c: Include `<grub/time.h>'.
26451 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
26452
3fd6f044
RM
264532009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26454
26455 * normal/auth.c (punishment_delay): New variable.
26456 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
26457 (grub_auth_check_authentication): Punish failed login attempts with
26458 an incremental (2^N) delay.
26459
a4cd68e4
RM
264602009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26461
26462 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
26463 path with $(srcdir).
26464
7ad12f43
VS
264652009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
26466
26467 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
26468
c1129f03
RM
264692009-11-09 Robert Millan <rmh.grub@aybabtu.com>
26470
26471 * util/i386/coreboot/grub-mkrescue.in: New file.
26472 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
26473 variables.
26474
26475 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
26476 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
26477 * configure.ac: Add header and function checks to satisfy grub-mkisofs
26478 requirements.
26479 * util/mkisofs/defaults.h: New file.
26480 * util/mkisofs/eltorito.c: Likewise.
26481 * util/mkisofs/exclude.h: Likewise.
26482 * util/mkisofs/fnmatch.c: Likewise.
26483 * util/mkisofs/getopt.c: Likewise.
26484 * util/mkisofs/getopt1.c: Likewise.
26485 * util/mkisofs/hash.c: Likewise.
26486 * util/mkisofs/include/fctldefs.h: Likewise.
26487 * util/mkisofs/include/mconfig.h: Likewise.
26488 * util/mkisofs/include/prototyp.h: Likewise.
26489 * util/mkisofs/include/statdefs.h: Likewise.
26490 * util/mkisofs/iso9660.h: Likewise.
26491 * util/mkisofs/joliet.c: Likewise.
26492 * util/mkisofs/match.c: Likewise.
26493 * util/mkisofs/match.h: Likewise.
26494 * util/mkisofs/mkisofs.c: Likewise.
26495 * util/mkisofs/mkisofs.h: Likewise.
26496 * util/mkisofs/multi.c: Likewise.
26497 * util/mkisofs/name.c: Likewise.
26498 * util/mkisofs/rock.c: Likewise.
26499 * util/mkisofs/tree.c: Likewise.
26500 * util/mkisofs/write.c: Likewise.
26501
ec8bb77d
VS
265022009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
26503
26504 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
26505 being insecure.
26506
3716b12c
RM
265072009-11-08 Robert Millan <rmh.grub@aybabtu.com>
26508
26509 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
26510 `grub-mkimage' (and use $0 when possible).
26511
b97b7b91
RM
265122009-11-08 Robert Millan <rmh.grub@aybabtu.com>
26513
26514 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
26515 error message for excessively large memory map.
26516
04114812
RM
265172009-11-08 Robert Millan <rmh.grub@aybabtu.com>
26518
26519 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
26520 executable bit.
26521
e4eb2373
RM
265222009-11-08 Robert Millan <rmh.grub@aybabtu.com>
26523
26524 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
26525 message for coreboot users.
26526
c926e1d5 265272009-11-07 Robert Millan <rmh.grub@aybabtu.com>
26528
26529 Fix build with GNU gold.
26530
26531 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
26532 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
26533 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
26534 link addresses.
26535 * aclocal.m4: Likewise.
26536
86e5b1db 265372009-11-04 Felix Zielcke <fzielcke@z-51.de>
26538
26539 * configure.ac (AC_PREREQ): Bump to 2.59d.
26540 * INSTALL: Make it more clear when Autoconf and Ruby are
26541 needed and when to run `./autogen.sh'.
26542
246cd78f 265432009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
26544
26545 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
26546 OSes.
26547
4f9dfb37 265482009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
26549
26550 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
26551
b82bd5e1 265522009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
26553
26554 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
26555 giving it to GNU Mach.
26556
ff1a9bca 265572009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
26558
26559 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
26560 GNU partition number to get internal GRUB partition number.
26561
61697d9c 265622009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
26563
26564 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
26565 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
26566
a50569e1 265672009-11-01 Robert Millan <rmh.grub@aybabtu.com>
26568
26569 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
26570 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
26571 case.
26572
5b153867 265732009-11-01 Felix Zielcke <fzielcke@z-51.de>
26574
26575 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
26576
d9e2cd70 265772009-10-30 Robert Millan <rmh.grub@aybabtu.com>
26578
26579 Fix build problem.
26580
26581 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
26582 `-isystem=$(srcdir)/include'.
26583
805111a4 265842009-10-30 Robert Millan <rmh.grub@aybabtu.com>
26585
26586 * util/i386/pc/grub-install.in: Remove hint that device.map should be
26587 checked (grub-install doesn't currently rely on it).
26588
fa6e945f 265892009-10-29 Robert Millan <rmh.grub@aybabtu.com>
26590
26591 Revert SVN r2660.
26592
26593 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
26594 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
26595 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
26596 * conf/i386-ieee1275.rmk: Likewise.
26597 * conf/i386-pc.rmk: Likewise.
26598 * conf/powerpc-ieee1275.rmk: Likewise.
26599 * conf/sparc64-ieee1275.rmk: Likewise.
26600 * conf/x86_64-efi.rmk: Likewise.
26601
cee15086 266022009-10-28 Robert Millan <rmh.grub@aybabtu.com>
26603
26604 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
26605
95b9239e 266062009-10-28 Robert Millan <rmh.grub@aybabtu.com>
26607
26608 * include/grub/misc.h: Stop checking for APPLE_CC.
26609
2ed19dfd 266102009-10-28 Robert Millan <rmh.grub@aybabtu.com>
26611
26612 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
26613 doesn't cause an infinite call loop.
26614
fdcdde19 266152009-10-28 Felix Zielcke <fzielcke@z-51.de>
26616
26617 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
26618 strings.
26619
cefabfe1 266202009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26621
26622 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
26623 variable.
26624 * Makefile.in: Likewise.
26625
ed96ab6d 266262009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26627
26628 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
26629
0579b753 266302009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26631
26632 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
26633
478df409 266342009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26635
26636 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
26637
083d1679 266382009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26639
26640 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
26641 from here ...
26642 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
26643
5947ae32 266442009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26645
26646 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
26647 in $(MAKEINFO) invocation. This makes it clear in output that
26648 errors are being ignored.
26649
94180ff6 266502009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26651
26652 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
26653 from here ...
26654 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
26655 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
26656 * conf/i386-ieee1275.rmk: Likewise.
26657 * conf/i386-pc.rmk: Likewise.
26658 * conf/powerpc-ieee1275.rmk: Likewise.
26659 * conf/sparc64-ieee1275.rmk: Likewise.
26660 * conf/x86_64-efi.rmk: Likewise.
26661
9031b03a 266622009-10-26 Colin Watson <cjwatson@ubuntu.com>
26663
26664 * util/grub-editenv.c (main): If only a command is given, use
26665 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
26666 (usage): FILENAME is now optional and has a default.
26667
e4f6809b 266682009-10-26 Colin Watson <cjwatson@ubuntu.com>
26669
26670 Improve grub-mkconfig performance when there are several menu
26671 entries on a single filesystem.
26672
26673 * util/grub.d/10_linux.in (linux_entry): Cache the output of
26674 prepare_grub_to_access_device.
26675 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
26676 * util/grub.d/30_os-prober.in: Likewise.
26677
67937d4d 266782009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26679
26680 * util/grub.d/10_freebsd.in: Remove.
26681 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
26682 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
26683
ee3756cc 266842009-10-26 Robert Millan <rmh.grub@aybabtu.com>
26685
5c35048e 26686 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 26687
4dea1c6f 266882009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26689
26690 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
26691 grub_util_error() call.
26692
042484d7 266932009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26694
26695 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
26696 `reserved_first_sector' member.
26697 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
26698 `reserved_first_sector' to 1.
26699 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
26700 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
26701 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
26702 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
26703 filesystems which begin at first sector.
26704 (options): New option --skip-fs-probe.
26705 (main): Handle --skip-fs-probe and pass it to setup().
26706
d64448a7 267072009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26708
26709 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
26710 (memset): Fix function prototype.
26711
508d42ec 267122009-10-25 Robert Millan <rmh.grub@aybabtu.com>
267132009-10-25 Vasily Averin <vvs@parallels.com>
26714
26715 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
26716 `dirent.direntlen == 0'.
26717
b240e30c 267182009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26719
26720 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
26721 `cpio'.
26722 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
26723
346e7fbe 267242009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26725
26726 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
26727 `__trampoline_setup' and `__ucmpdi2'.
26728 * include/grub/powerpc/libgcc.h: Only export symbols for functions
26729 that libgcc provides.
26730
cdb308b0 267312009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26732
26733 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
26734 * include/grub/sparc64/libgcc.h (memset): Likewise.
26735 * include/grub/misc.h (memset, memcmp): New function prototypes.
26736
fb26abc2 267372009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26738
26739 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
26740 `cpio'.
26741 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
26742
f6693890 267432009-10-25 Robert Millan <rmh.grub@aybabtu.com>
26744
26745 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
26746 * docs/grub.cfg: Compensate for recent change in multiboot
26747 loader (since 2009-08-14 it won't pass filename to payload).
26748 * util/grub.d/10_hurd.in: Likewise.
26749
0933cdc0 267502009-10-21 Felix Zielcke <fzielcke@z-51.de>
26751
26752 * config.guess: Update to latest version from config git
26753 repository.
26754 * config.sub: Likewise.
26755
3b2fe8c2 267562009-10-20 Robert Millan <rmh.grub@aybabtu.com>
26757
26758 Fix build on sparc64.
26759
26760 * configure.ac: Perform checks for libgcc symbols before
26761 adding `-nostdlib' to LDFLAGS.
26762
46695a62 267632009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
26764
26765 Let user specify OpenBSD root device.
26766
26767 * loader/i386/bsd.c (openbsd_root): New variable.
26768 (openbsd_opts): New option 'root'.
26769 (OPENBSD_ROOT_ARG): New macro.
26770 (grub_openbsd_boot): Use 'openbsd_root'.
26771 (grub_cmd_openbsd): Fill 'openbsd_root'.
26772
d2b6b7fc 267732009-10-16 Robert Millan <rmh.grub@aybabtu.com>
26774
26775 * NEWS: Misc adjustments.
26776
421bd7ac 267772009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
26778
26779 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
26780
f1d29d87 267812009-10-16 Robert Millan <rmh.grub@aybabtu.com>
26782
26783 * configure.ac: Bump version to 1.97.
26784
6f3cd880 267852009-10-16 Colin Watson <cjwatson@ubuntu.com>
26786
26787 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
26788 -mno-3dnow on x86 architectures. Some toolchains enable these
26789 features by default, but they rely on registers that aren't enabled
26790 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
26791
035f7122 267922009-10-15 Robert Millan <rmh.grub@aybabtu.com>
26793
26794 Make entry text a bit more readable.
26795
26796 * util/grub.d/10_linux.in: Add `with' before `Linux'.
26797
44998e58 267982009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26799
26800 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
26801
cd2851b3 268022009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26803
26804 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
26805 operations.
26806
c6f3b249 268072009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26808
26809 * configure.ac: Add missing dollar.
26810
6b5886ba 268112009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
26812
26813 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
26814
26815 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
26816 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
26817 exports.
26818 * include/grub/sparc64/libgcc.h: Likewise. Use
26819 preprocessor conditionals.
26820
e9d66f6d 268212009-10-14 Robert Millan <rmh.grub@aybabtu.com>
26822
26823 * conf/common.rmk (grub-dumpbios): Remove rule.
26824 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
26825 * util/grub-dumpbios.in: Remove file.
26826
9155bc17 268272009-10-14 Robert Millan <rmh.grub@aybabtu.com>
26828
26829 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
26830 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
26831
26832 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
26833 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
26834 users.
26835
26836 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
26837 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
26838 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
26839 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
26840 users.
26841
bf7f7a18 268422009-10-12 Robert Millan <rmh.grub@aybabtu.com>
26843
26844 * term/tparm.c: Switch to GPLv3.
26845
86564c26 268462009-10-09 Robert Millan <rmh.grub@aybabtu.com>
26847
26848 * include/grub/i386/cpuid.h: Add header protection.
26849
5c936493 268502009-10-09 Robert Millan <rmh.grub@aybabtu.com>
26851
26852 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
26853
26854 * include/grub/i386/cpuid.h: New file.
26855 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
26856 (has_longmode): Rename to ...
26857 (grub_cpuid_has_longmode): ... this. Update all users. Remove
26858 `static' attribute.
26859 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
26860 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
26861 on a CPU that doesn't implement AMD64 instruction set.
26862
186e7cf2 268632009-10-06 Colin Watson <cjwatson@ubuntu.com>
26864
26865 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
26866 that version.texi is rebuilt on version number changes.
26867
83b65c4a 268682009-10-06 Colin Watson <cjwatson@ubuntu.com>
26869
26870 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
26871 Fixes bug #27602.
26872
d244281c 268732009-10-06 Colin Watson <cjwatson@ubuntu.com>
26874
26875 * util/i386/pc/grub-install.in: Source
26876 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
26877 that the --grub-probe option will work.
26878 * util/sparc64/ieee1275/grub-install.in: Likewise.
26879
da25306d 268802009-10-05 Robert Millan <rmh.grub@aybabtu.com>
26881
26882 * configure.ac: Bump version to 1.97~beta4.
26883
e8ee83c0 268842009-10-03 Robert Millan <rmh.grub@aybabtu.com>
26885
26886 Resync grub-mkdevicemap in x86_64-efi.
26887
26888 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
26889 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
26890 `util/devicemap.c'.
26891
50dcabcf 268922009-10-01 Colin Watson <cjwatson@ubuntu.com>
26893
26894 * util/grub-editenv.c (create_envblk_file): Write new block with a
26895 .new suffix and then rename it into place, to ensure atomic
26896 creation.
26897
0e51c3a7 268982009-09-28 Robert Millan <rmh.grub@aybabtu.com>
26899
26900 Do not automatically install headers.
26901
26902 * Makefile.in (include_DATA): Remove. Update all users.
26903
31299a95 269042009-09-26 Robert Millan <rmh.grub@aybabtu.com>
26905
26906 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
26907 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
26908
26909 * util/osdetect.lua: Remove.
26910 * script/lua/lauxlib.c: Likewise.
26911 * script/lua/ldebug.c: Likewise.
26912 * script/lua/grub_main.c: Likewise.
26913 * script/lua/lauxlib.h: Likewise.
26914 * script/lua/ldebug.h: Likewise.
26915 * script/lua/ltablib.c: Likewise.
26916 * script/lua/liolib.c: Likewise.
26917 * script/lua/lstrlib.c: Likewise.
26918 * script/lua/lualib.h: Likewise.
26919 * script/lua/ldo.c: Likewise.
26920 * script/lua/ldump.c: Likewise.
26921 * script/lua/ldo.h: Likewise.
26922 * script/lua/loslib.c: Likewise.
26923 * script/lua/lundump.c: Likewise.
26924 * script/lua/grub_lib.c: Likewise.
26925 * script/lua/ldblib.c: Likewise.
26926 * script/lua/lundump.h: Likewise.
26927 * script/lua/lmem.c: Likewise.
26928 * script/lua/grub_lib.h: Likewise.
26929 * script/lua/lmathlib.c: Likewise.
26930 * script/lua/lstate.c: Likewise.
26931 * script/lua/ltm.c: Likewise.
26932 * script/lua/lvm.c: Likewise.
26933 * script/lua/lmem.h: Likewise.
26934 * script/lua/lstate.h: Likewise.
26935 * script/lua/ltm.h: Likewise.
26936 * script/lua/ltable.c: Likewise.
26937 * script/lua/lvm.h: Likewise.
26938 * script/lua/llex.c: Likewise.
26939 * script/lua/lgc.c: Likewise.
26940 * script/lua/grub_lua.h: Likewise.
26941 * script/lua/loadlib.c: Likewise.
26942 * script/lua/lfunc.c: Likewise.
26943 * script/lua/lopcodes.c: Likewise.
26944 * script/lua/lparser.c: Likewise.
26945 * script/lua/ltable.h: Likewise.
26946 * script/lua/llex.h: Likewise.
26947 * script/lua/lgc.h: Likewise.
26948 * script/lua/lfunc.h: Likewise.
26949 * script/lua/lbaselib.c: Likewise.
26950 * script/lua/lopcodes.h: Likewise.
26951 * script/lua/lparser.h: Likewise.
26952 * script/lua/lzio.c: Likewise.
26953 * script/lua/linit.c: Likewise.
26954 * script/lua/lobject.c: Likewise.
26955 * script/lua/llimits.h: Likewise.
26956 * script/lua/lstring.c: Likewise.
26957 * script/lua/lzio.h: Likewise.
26958 * script/lua/lapi.c: Likewise.
26959 * script/lua/lcode.c: Likewise.
26960 * script/lua/lua.h: Likewise.
26961 * script/lua/lobject.h: Likewise.
26962 * script/lua/lstring.h: Likewise.
26963 * script/lua/lapi.h: Likewise.
26964 * script/lua/lcode.h: Likewise.
26965 * script/lua/luaconf.h: Likewise.
26966
cb8a2c38 269672009-09-26 Colin Watson <cjwatson@ubuntu.com>
26968
26969 * docs/grub.texi (Command-line and menu entry commands): Document
26970 date and echo commands.
26971
6b9b6276 269722009-09-24 Pavel Roskin <proski@gnu.org>
26973
26974 * include/grub/kernel.h (struct grub_module_header): Remove
26975 `grub_module_header_types'. Make `type' unsigned. Make `size'
26976 32-bit on all platforms.
26977 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
26978 8-bit field. Use grub_host_to_target32() for `size'.
26979 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
26980 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
26981 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
26982
4e5a02a7 269832009-09-24 Robert Millan <rmh.grub@aybabtu.com>
26984
26985 Fix "lost keypress" bug in at_keyboard.
26986
26987 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
26988 Checks for readyness of input buffer (without flushing it).
26989 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
26990 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
26991
c6dcedf6 269922009-09-24 Robert Millan <rmh.grub@aybabtu.com>
26993
26994 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
26995 size check within GRUB_MACHINE_PCBIOS section.
26996
74c958b1 269972009-09-24 Robert Millan <rmh.grub@aybabtu.com>
26998
26999 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
27000 return value.
27001 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
27002 KEYBOARD_ISREADY check.
27003 (grub_at_keyboard_checkkey): Rename to ...
27004 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
27005 Remove gratuitous cast.
27006
ff420223 270072009-09-23 Colin Watson <cjwatson@ubuntu.com>
27008
27009 * configure.ac: Call AC_PROG_MKDIR_P.
27010 * Makefile.in (docs/stamp-vti): Create docs directory. Create
27011 version.texi in $(builddir) rather than $(srcdir).
27012 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
27013 to makeinfo's @include search path.
27014
d96875df 270152009-09-23 Felix Zielcke <fzielcke@z-51.de>
27016
27017 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
27018
9b3f8365 270192009-09-23 Felix Zielcke <fzielcke@z-51.de>
27020
27021 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
27022 for `*.dpkg-new'.
27023
c44c90db 270242009-09-21 Colin Watson <cjwatson@ubuntu.com>
27025
27026 Build info documentation. Some code borrowed from Automake.
27027
27028 * configure.ac: Check for makeinfo.
27029 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
27030 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
27031 docs/version.texi.
27032 (MOSTLYCLEANFILES): Add vti.tmp.
27033 (docs/version.texi, docs/stamp-vti): Update automatically.
27034 (docs/grub.info): Build info documentation. Use --force and ignore
27035 errors for now.
27036 (all-local): Add $(INFOS).
27037 (install-local): Install info files.
27038 (uninstall): Uninstall info files.
27039 * docs/version.texi: Remove from revision control. This file is
27040 automatically generated on build now.
27041 * gendistlist.sh: Add `*.info'.
27042
e0b37bb5 270432009-09-21 Felix Zielcke <fzielcke@z-51.de>
27044
27045 * kern/term.c: Fix indentation.
27046
5a78865b 270472009-09-21 Felix Zielcke <fzielcke@z-51.de>
27048
27049 * util/hostdisk.c: Fix a comment.
27050
dace7e8a 270512009-09-20 Robert Millan <rmh.grub@aybabtu.com>
27052
27053 Fix regression introduced in r2539.
27054
27055 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
27056 to 0xA1.
27057
a83d079b 270582009-09-19 Colin Watson <cjwatson@ubuntu.com>
27059
27060 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 27061 os-prober. Under normal operation, it does not print anything to
27062 stderr; if it does, we need to debug it, and throwing away stderr
27063 makes that excessively difficult.
a83d079b 27064
be94a509 270652009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
27066
27067 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
27068
63f745e8 270692009-09-16 Robert Millan <rmh.grub@aybabtu.com>
27070
27071 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
27072 AC_LANG_PROGRAM from autoconf.
27073 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
27074 prototypes (fixes warning).
27075
27076 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
27077 `--disable-werror' was used.
27078
bbb2a70f 270792009-09-16 Robert Millan <rmh.grub@aybabtu.com>
27080
27081 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
27082 uninitialized `lastaddr'.
27083
77c24f1d 270842009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
27085
0f0b8c87 27086 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 27087
07197f23 270882009-09-14 Colin Watson <cjwatson@ubuntu.com>
27089
27090 * commands/test.c (get_fileinfo): Return immediately if
27091 grub_fs_probe fails.
27092
dabf1798 270932009-09-14 José Martínez <xosemp@gmail.com>
27094
27095 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
27096
d52109a7 270972009-09-14 Colin Watson <cjwatson@ubuntu.com>
27098
27099 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
27100 output.
27101
56532179 271022009-09-13 Robert Millan <rmh.grub@aybabtu.com>
27103
27104 * configure.ac: Remove --enable-grub-pe2elf. Only build
27105 grub-pe2elf when needed by the build system itself.
27106 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
27107
8ef070f5 271082009-09-12 Robert Millan <rmh.grub@aybabtu.com>
27109
27110 * configure.ac: Bump version to 1.97~beta3.
27111 * docs/version.texi: Likewise.
27112
61229557 271132009-09-12 Robert Millan <rmh.grub@aybabtu.com>
27114
27115 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
27116 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
27117 from here ...
27118 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
27119 (grub_linux_setup_video): ... to here (with some adjustments).
27120
5c9f8d84 271212009-09-12 Robert Millan <rmh.grub@aybabtu.com>
27122
27123 Fix memory corruption issue (spotted by Colin Watson).
27124
27125 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
27126 causing returned size to be stored in an incorrect memory location.
27127 Fix use of uninitialized value when storing the returned size.
27128
e8f5d6e9 271292009-09-12 Yves Blusseau <blusseau@zetam.org>
27130
27131 Change clean rules to properly remove files
27132
27133 * genmk.rb: add new clean rules
27134 * Makefile.in (clean): add the new targets
27135 (mostlyclean): likewise
27136
cda2a409 271372009-09-11 Colin Watson <cjwatson@ubuntu.com>
27138
27139 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
27140 to grub_uint64_t.
27141 * fs/ntfs.c (init_file): Understand 64-bit sizes for
27142 non-resident files.
27143
86695375 271442009-09-11 Colin Watson <cjwatson@ubuntu.com>
27145
27146 * configure.ac: Don't look for help2man when cross-compiling. Fixes
27147 part of bug #27349.
27148
8aa1541a 271492009-09-10 Felix Zielcke <fzielcke@z-51.de>
27150
27151 * util/grub-mkconfig.in: Make the created config mode 400 and
27152 print a warning if it fails.
27153
48d9bb0a 271542009-09-10 Robert Millan <rmh.grub@aybabtu.com>
27155
27156 * util/grub.d/40_custom.in: Ask user to type custom entries below
27157 comment, rather than below 'exec tail' line.
27158
3b0521be 271592009-09-10 Colin Watson <cjwatson@ubuntu.com>
27160
27161 * util/grub.d/40_custom.in: Make sure that the explanatory text is
27162 visible in grub.cfg.
27163
50051d55 271642009-09-10 Colin Watson <cjwatson@ubuntu.com>
27165
27166 * util/grub.d/40_custom.in: Make it a little clearer how to use this
27167 file.
27168
c0d34387 271692009-09-10 Felix Zielcke <fzielcke@z-51.de>
27170
27171 * docs/grub.cfg: Add an example menu entry for memtest86+.
27172
80a608f3 271732009-09-09 Felix Zielcke <fzielcke@z-51.de>
27174
a2094832 27175 * config.guess: Update to latest version from config git.
80a608f3 27176 * config.sub: Likewise.
27177
99423078 271782009-09-08 Colin Watson <cjwatson@ubuntu.com>
27179
27180 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
27181 unknown-command case. Fixes bug #27320.
27182
44454e4c 271832009-09-08 Felix Zielcke <fzielcke@z-51.de>
27184
27185 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
27186 `help' if the command exists.
27187
e30d87ad 271882009-09-06 Robert Millan <rmh.grub@aybabtu.com>
27189
27190 * INSTALL: Require GCC 4.1.3 or later.
27191
9a86f1ec 271922009-09-06 Yves Blusseau <blusseau@zetam.org>
27193
27194 * Makefile.in (RMKFILES): add i386-qemu.rmk
27195 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
27196 $(srcdir)/stamp-h.in
27197
7f26d466 271982009-09-05 Robert Millan <rmh.grub@aybabtu.com>
27199
27200 * util/grub-probe.c (probe): Comment out buggy codepath, which
27201 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
27202 should be re-enabled after 1.97.
27203
3a613259 272042009-09-05 Felix Zielcke <fzielcke@z-51.de>
27205
27206 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
27207 find searches for.
27208
197f76c7 272092009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
27210
27211 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
27212 unnecessary calls to grub_error.
27213
70ba68ce 272142009-09-04 Colin Watson <cjwatson@ubuntu.com>
27215
27216 * NEWS: Mention `keystatus' and Unicode fonts.
27217
4ff0d7a4 272182009-09-04 Robert Millan <rmh.grub@aybabtu.com>
27219
27220 * configure.ac: Bump version to 1.97~beta2.
27221 * docs/version.texi: Likewise.
27222
77c55a87 272232009-09-03 Colin Watson <cjwatson@ubuntu.com>
27224
27225 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
27226 containing unwind information in some cases where it previously did
27227 not. Use -fno-dwarf2-cfi-asm if available to restore the old
27228 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
27229 discussion.
27230
f79572cd 272312009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
27232
27233 Embedding loadenv module into grub-emu
27234
27235 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
27236 commands/loadenv.c
27237 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
27238 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
27239 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
27240 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
27241 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
27242 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
27243
93a81088 272442009-09-03 Magnus Granberg <zorry@ume.nu>
27245
27246 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
27247 include -fPIE in the default specs.
27248 * configure.ac: Check if pie_possible is yes and add -fno-PIE
27249 to TARGET_CFLAGS.
27250
160034b2 272512009-09-03 Felix Zielcke <fzielcke@z-51.de>
27252
27253 * INSTALL: Note that GNU Bison 2.3 or later is required.
27254
087c07c4 272552009-09-03 Colin Watson <cjwatson@ubuntu.com>
27256
27257 * kern/i386/pc/startup.S: Fix typo.
27258
cbf978c0 272592009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
27260
27261 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
27262 according to GCS.
27263
272642009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 27265
27266 * docs/grub.texi (Naming convention): Describe one-based partition
27267 numbering.
27268 (Device syntax): Likewise.
27269 (File name syntax): Likewise.
27270 (Block list syntax): Likewise.
27271 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
27272 menu.lst.
27273 (File name syntax): Likewise.
27274 (Command-line and menu entry commands): Document acpi, blocklist,
27275 crc, export, insmod, keystatus, ls, set, and unset commands.
27276
f3e8cdfd 272772009-09-02 Colin Watson <cjwatson@ubuntu.com>
27278
27279 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
27280 to avoid implying that only one of --shift, --ctrl, or --alt may be
27281 used.
27282
c0bc232b 272832009-09-02 Colin Watson <cjwatson@ubuntu.com>
27284
27285 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
27286 rather than comparing against S_IFREG, which will almost never work.
27287
aa0f752d 272882009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
27289
27290 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
27291 (write_blocklists): Likewise.
27292
ecb3166a 272932009-09-01 Colin Watson <cjwatson@ubuntu.com>
27294
27295 * script/lua/grub_lua.h (fputs): Supply a format string as the first
27296 argument to grub_printf.
27297
c403a125 272982009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 27299
27300 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 27301 non GNU test.
31aba781 27302
b5e7312c 273032009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
27304
27305 * kern/file.c (grub_file_read): Spelling fix
27306
fe00f472 273072009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
27308
27309 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
27310 loading of headers in some cases.
27311
cc55302e 273122009-08-30 Robert Millan <rmh.grub@aybabtu.com>
27313
27314 * configure.ac: Bump version to 1.97~beta1.
27315 * docs/version.texi: Likewise.
27316
5c90cdd2 273172009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 27318
27319 * include/grub/i386/xnu.h: Add license header.
27320 include grub/err.h explicitly.
27321
c90edae4 273222009-08-29 Robert Millan <rmh.grub@aybabtu.com>
27323
27324 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
27325 to `ufs' in the vfs.root.mountfrom kernel parameter.
27326
d8888b5c 273272009-08-29 Robert Millan <rmh.grub@aybabtu.com>
27328
27329 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
27330
27331 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
27332 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
27333
27334 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
27335 `ARRAY_SIZE' macro.
27336
6f07b921 273372009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
27338
27339 * kern/file.c (grub_file_read): Check offset.
27340 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
27341 * fs/jfs.c (grub_jfs_read_file): Likewise.
27342 * fs/ntfs.c (grub_ntfs_read): Likewise.
27343 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
27344 * fs/minix.c (grub_minix_read_file): Correct offset check.
27345 * fs/ufs.c (grub_ufs_read_file): Likewise.
27346
b4f34077 273472009-08-28 Colin Watson <cjwatson@ubuntu.com>
27348
27349 * term/i386/pc/console.c (bios_data_area): Cast
27350 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
27351
e7c69859 273522009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
27353
27354 1-bit optimised blitters.
27355
27356 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
27357 prototype.
27358 (grub_video_fbblit_replace_24bit_1bit): Likewise.
27359 (grub_video_fbblit_replace_16bit_1bit): Likewise.
27360 (grub_video_fbblit_replace_8bit_1bit): Likewise.
27361 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
27362 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
27363 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
27364 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
27365 function.
27366 (grub_video_fbblit_replace_24bit_1bit): Likewise.
27367 (grub_video_fbblit_replace_16bit_1bit): Likewise.
27368 (grub_video_fbblit_replace_8bit_1bit): Likewise.
27369 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
27370 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
27371 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
27372 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
27373 when possible.
27374 * video/video.c (grub_video_get_blit_format): Return
27375 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
27376
a57da43f 273772009-08-28 Colin Watson <cjwatson@ubuntu.com>
27378
27379 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
27380 the first argument to grub_printf.
27381
4cbe67e5 273822009-08-28 Colin Watson <cjwatson@ubuntu.com>
273832009-08-28 Robert Millan <rmh.grub@aybabtu.com>
27384
27385 Add `getkeystatus' terminal method. Add a new `keystatus' command
27386 to query it.
27387
27388 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
27389 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
27390 modifier key bitmasks.
27391 (struct grub_term_input): Add `getkeystatus' member.
27392 (grub_getkeystatus): Add prototype.
27393 * kern/term.c (grub_getkeystatus): New function.
27394
27395 * include/grub/i386/pc/memory.h
27396 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
27397 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
27398 Data Area layout.
27399 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
27400 (grub_console_term_input): Set `getkeystatus' member.
27401 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
27402 constants.
27403 (grub_usb_keyboard_getreport): Likewise.
27404 (grub_usb_keyboard_checkkey): Likewise.
27405 (grub_usb_keyboard_getkeystatus): New function.
27406 (grub_usb_keyboard_term): Set `getkeystatus' member.
27407
27408 * commands/keystatus.c: New file.
27409 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
27410 (keystatus_mod_SOURCES): New variable.
27411 (keystatus_mod_CFLAGS): Likewise.
27412 (keystatus_mod_LDFLAGS): Likewise.
27413 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
27414 commands/keystatus.c.
27415 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27416 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27417 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27418 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27419 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27420 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 27421
6e2a9085 274222009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
27423
27424 Split befs.mod and afs.mod into *_be.mod and *.mod
27425
27426 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
27427 (grub_fstest_SOURCES): Likewise.
27428 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
27429 (afs_be_mod_SOURCES): New variable.
27430 (afs_be_mod_CFLAGS): Likewise.
27431 (afs_be_mod_LDFLAGS): Likewise.
27432 (befs_be_mod_SOURCES): Likewise.
27433 (befs_be_mod_CFLAGS): Likewise.
27434 (befs_be_mod_LDFLAGS): Likewise.
27435 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
27436 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27437 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27438 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
27439 (grub_emu_SOURCES): Likewise.
27440 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27441 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27442 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27443 * fs/afs_be.c: New file.
27444 * fs/befs_be.c: New file.
27445 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
27446 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
27447 (U16): Replaced with ...
27448 (grub_afs_to_cpu16): ...this. All users updated.
27449 (U32): Replaced with ...
27450 (grub_afs_to_cpu32): ...this. All users updated.
27451 (U64): Replaced with ...
27452 (grub_afs_to_cpu64): ...this. All users updated.
27453 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
27454 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 27455 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 27456 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
27457 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
27458 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
27459 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
27460 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
27461 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
27462 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
27463 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
27464
32a71655 274652009-08-26 Bean <bean123ch@gmail.com>
27466
27467 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
27468 64-bit number.
27469 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
27470 (grub_xfs_inode_block): Change return type to grub_uint64_t.
27471 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
27472
552bf6c5 274732009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27474
27475 NetBSD memory map support.
27476
27477 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
27478 (grub_netbsd_btinfo_mmap_header): New structure.
27479 (grub_netbsd_btinfo_mmap_entry): Likewise.
27480 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
27481
1ae2078c 274822009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27483
27484 Enable bsd.mod on coreboot.
27485
27486 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
27487 (bsd_mod_SOURCES): New variable.
27488 (bsd_mod_CFLAGS): Likewise.
27489 (bsd_mod_LDFLAGS): Likewise.
27490 (bsd_mod_ASFLAGS): Likewise.
27491 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
27492 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
27493
beefc598 274942009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27495
27496 Cleanup NetBSD root support.
27497
27498 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
27499 grub_bsd_get_device.
27500 Fix typo.
27501
3b76e68b 275022009-08-25 Felix Zielcke <fzielcke@z-51.de>
27503
27504 * util/grub.d/00_header.in: Move check for the video backend of
27505 gfxterm from here ...
27506 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
27507 a suitable video backend.
27508
aea664ea 275092009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27510
27511 Fix breakage in grub-setup.
27512
27513 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
27514 "msdos_partition_map".
27515
ff747d50 275162009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27517
27518 Fix breakage in normal/auth.c.
27519
27520 * normal/auth.c (grub_iswordseparator): New function.
27521
e7e1f93f 275222009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
27523
27524 Authentication support.
27525
27526 * commands/password.c: New file.
27527 * conf/common.rmk (pkglib_MODULES): Add password.mod.
27528 (password_mod_SOURCES): New variable.
27529 (password_mod_CFLAGS): Likewise.
27530 (password_mod_LDFLAGS): Likewise.
27531 (normal_mod_SOURCES): Add normal/auth.c.
27532 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
27533 normal/auth.c.
27534 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
27535 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27536 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27537 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27538 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27539 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
27540 * include/grub/auth.h: New file.
27541 * include/grub/err.h (grub_err_t): New enum value
27542 GRUB_ERR_ACCESS_DENIED.
27543 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
27544 'users'.
27545 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
27546 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
27547 users updated.
27548 * normal/auth.c: New file.
27549 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
27550 (grub_cmdline_run): Don't allow to go to command line without
27551 authentication.
27552 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
27553 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
27554 menuentry without superuser rights.
27555 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
27556 user isn't a superuser.
27557
70f1161d 275582009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27559
27560 Save space by inlining misc.c functions.
27561
27562 * kern/misc.c (grub_iswordseparator): Made static.
27563 * kern/misc.c (grub_strcat): Moved from here ...
27564 * include/grub/misc.h (grub_strcat): ... here. Inlined.
27565 * kern/misc.c (grub_strncat): Moved from here ...
27566 * include/grub/misc.h (grub_strncat): ... here. Inlined.
27567 * kern/misc.c (grub_strcasecmp): Moved from here ...
27568 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
27569 * kern/misc.c (grub_strncasecmp): Moved from here ...
27570 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
27571 * kern/misc.c (grub_isalpha): Moved from here ...
27572 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
27573 * kern/misc.c (grub_isdigit): Moved from here ...
27574 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
27575 * kern/misc.c (grub_isgraph): Moved from here ...
27576 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
27577 * kern/misc.c (grub_tolower): Moved from here ...
27578 * include/grub/misc.h (grub_tolower): ... here. Inlined.
27579
48e40bff 275802009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27581
27582 * script/sh/function.c (grub_script_function_find): Cut error message
27583 not to flood terminal.
27584 * script/sh/lexer.c (grub_script_yylex): Remove command line length
27585 limit.
27586 * script/sh/script.c (grub_script_arg_add): Duplicate string.
27587
c385bfc3 275882009-08-24 Colin Watson <cjwatson@ubuntu.com>
27589
27590 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
27591 `report' grub_uint8_t *.
27592 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
27593 Use a 50-millisecond timeout rather than just repeating
27594 grub_usb_keyboard_getreport 50 times.
27595 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
27596
2d21e3e8 275972009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27598
27599 Rename *_partition_map to part_*
27600
27601 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
27602 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
27603 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
27604 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
27605 All users updated.
27606 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
27607 All users updated.
27608 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
27609 * util/grub-probe.c (probe_partmap): Don't transform partition name
27610 to get module name.
27611
dd103c4e 276122009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27613
27614 Fix OpenBSD and NetBSD support.
27615
27616 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
27617 memory address conflict.
27618 (OPENBSD_MMAP_ACPI): New definition.
27619 (OPENBSD_MMAP_NVS): Likewise.
27620 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
27621 and OPENBSD_MMAP_NVS.
27622 Add memory map terminator
27623 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 27624 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 27625
16c84d74 276262009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27627
27628 Let user specify NetBSD root device.
27629
27630 * loader/i386/bsd.c (netbsd_root): New variable.
27631 (netbsd_opts): New option 'root'.
27632 (NETBSD_ROOT_ARG): New macro.
27633 (grub_netbsd_boot): Use 'netbsd_root'.
27634 (grub_bsd_unload): Free 'netbsd_root'.
27635 (grub_cmd_netbsd): Fill 'netbsd_root'.
27636
adb29902 276372009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27638
27639 Support for 64-bit NetBSD.
27640
27641 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
27642 point when booting non-FreeBSD.
27643
f5ae9f74 276442009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
27645
27646 Support --no-smp and --no-acpi for NetBSD.
27647
27648 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
27649 (NETBSD_AB_NOACPI): Likewise.
27650 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
27651 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
27652
de74f136 276532009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
27654
27655 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
27656 errors.
27657 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
27658 errors. Call grub_error when needed.
27659
e9a925da 276602009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
27661
27662 * commands/search.c (search_fs): Try searching without autoload first.
27663 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
27664 filesystem module explicitly for faster booting.
27665
5174302b 276662009-08-23 Colin Watson <cjwatson@ubuntu.com>
27667
27668 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
27669
c8c80635 276702009-08-23 Colin Watson <cjwatson@ubuntu.com>
27671
27672 * util/grub.d/30_os-prober.in: Disable os-prober if
27673 `GRUB_DISABLE_OS_PROBER' was set to true.
27674
71acf5e5 276752009-08-23 Robert Millan <rmh.grub@aybabtu.com>
27676
27677 * partmap/pc.c: Rename to ...
27678 * partmap/msdos.c: ... this. Update all users.
27679 (grub_pc_partition_map): Rename to ...
27680 (grub_msdos_partition_map): ... this. Update all users.
27681
27682 * parttool/pcpart.c: Rename to ...
27683 * parttool/msdospart.c: ... this. Update all users.
27684
27685 * include/grub/pc_partition.h: Rename to ...
27686 * include/grub/msdos_partition.h: ... this. Update all users.
27687 (grub_pc_partition_bsd_entry): Rename to ...
27688 (grub_msdos_partition_bsd_entry): ... this. Update all users.
27689 (grub_pc_partition_disk_label): Rename to ...
27690 (grub_msdos_partition_disk_label): ... this. Update all users.
27691 (grub_pc_partition_entry): Rename to ...
27692 (grub_msdos_partition_entry): ... this. Update all users.
27693 (grub_pc_partition_mbr): Rename to ...
27694 (grub_msdos_partition_mbr): ... this. Update all users.
27695 (grub_pc_partition): Rename to ...
27696 (grub_msdos_partition): ... this. Update all users.
27697 (grub_pc_partition_is_empty): Rename to ...
27698 (grub_msdos_partition_is_empty): ... this. Update all users.
27699 (grub_pc_partition_is_extended): Rename to ...
27700 (grub_msdos_partition_is_extended): ... this. Update all users.
27701 (grub_pc_partition_is_bsd): Rename to ...
27702 (grub_msdos_partition_is_bsd): ... this. Update all users.
27703
27704 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
27705 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
27706 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
27707 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
27708 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
27709 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
27710 (gpt_mod_LDFLAGS): Rename to ...
27711 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
27712 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
27713 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
27714 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
27715 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
27716 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
27717 (part_gpt_mod_LDFLAGS): ... this.
27718 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
27719 `pcpart.mod' to `msdospart.mod'.
27720 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
27721 to ...
27722 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
27723 (msdospart_mod_LDFLAGS): ... this.
27724
c11fded5 277252009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
27726
27727 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
27728 (openbsd_opts): Likewise.
27729 (netbsd_opts): Likewise.
27730 (freebsd_flags): Added 0 terminator.
27731 (openbsd_flags): Likewise.
27732 (netbsd_flags): Likewise.
27733 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
27734 (grub_cmd_freebsd): Transformed into extended command.
27735 (grub_cmd_openbsd): Likewise.
27736 (grub_cmd_netbsd): Likewise.
27737 (cmd_freebsd): Changed type to grub_extcmd_t.
27738 (cmd_openbsd): Likewise.
27739 (cmd_netbsd): Likewise.
27740 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
27741 grub_cmd_openbsd as extended commands.
27742 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
27743 cmd_netbsd and cmd_openbsd
27744
11d1c769 277452009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
27746
27747 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
27748
7a9094e5 277492009-08-21 Pavel Roskin <proski@gnu.org>
27750
5496c37e 27751 * Makefile.in (install-local): When checking if a file is in the
27752 build directory, use "test -e" to detect symlinks.
27753
7a9094e5 27754 * Makefile.in (install-local): Remove all files in
27755 $(DESTDIR)$(pkglibdir) before installing new files there.
27756
e53cea11 277572009-08-18 Felix Zielcke <fzielcke@z-51.de>
27758
27759 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
27760 grub-mkelfimage.
27761
9aced544 277622009-08-18 Felix Zielcke <fzielcke@z-51.de>
27763
27764 * util/grub-mkconfig.in: Don't use gfxterm by default if not
27765 explicitly specified by the user.
27766
b7da6bab 277672009-08-18 Pavel Roskin <proski@gnu.org>
27768
27769 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
27770 grub_uint8_t pointer for data.
27771 * include/grub/fbutil.h (struct grub_video_fbblit_info):
27772 Likewise.
27773 * video/fb/fbutil.c: Remove unnecessary casts.
27774
19f1b335 277752009-08-17 Michal Suchanek <hramrach@centrum.cz>
27776
27777 VBE cleanup.
27778
27779 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
27780 (grub_vbe_set_video_mode): Save active mode info
27781 only after setting the mode.
27782 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
27783 second argument.
27784
2f467aa9 277852009-08-17 Michal Suchanek <hramrach@centrum.cz>
27786
27787 Rename variables for clarity.
27788
27789 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
27790 (active_vbe_mode_info): ... this. All users updated.
27791 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
27792 All users updated.
27793 (initial_mode): Rename to ...
27794 (initial_vbe_mode): ... this. All users updated.
27795 (mode_in_use): Rename to ..
27796 (vbe_mode_in_use): ... this. All users updated.
27797 (mode_list): Rename to ..
27798 (vbe_mode_list): ... this. All users updated.
27799 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
27800 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
27801 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
27802 'mode_list_size' to 'vbe_mode_list_size'.
27803 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
27804 'best_mode_info' to 'best_vbe_mode_info' and
27805 'best_mode' to 'best_vbe_mode'
27806
6025fcd7 278072009-08-17 Michal Suchanek <hramrach@centrum.cz>
27808
27809 Remove duplicate grub_video_fb_get_video_ptr.
27810
27811 * include/grub/fbutil.h (get_data_ptr): Rename to ...
27812 (grub_video_fb_get_video_ptr): ... this.
27813 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
27814 * video/fb/fbutil.c: Add comment about addressing.
27815 (get_data_ptr): Rename to ...
27816 (grub_video_fb_get_video_ptr): ... this. All users updated.
27817 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
27818
cc8c6faf 278192009-08-17 Robert Millan <rmh.grub@aybabtu.com>
27820
27821 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
27822 grub_dprintf() that was just added.
27823
08aa61f0 278242009-08-17 Robert Millan <rmh.grub@aybabtu.com>
27825
27826 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
27827 (DEFAULT_VIDEO_MODE): Remove macros.
27828 (grub_linux_boot): Remove assumption that Linux has FB support,
27829 and use "text" as default video mode.
27830
7cef4f75 278312009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
27832
27833 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
27834 grub_dprintf.
27835 * fs/fat.c (grub_fat_read_data): Likewise.
27836
e1f39873 278372009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27838
27839 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
27840 payload.
27841 (grub_module): Likewise.
27842
c166d79e 278432009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27844
27845 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
27846 mbi->cmdline but free playground.
27847
c60cee8e 278482009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27849
27850 Handle group offset on UFS1.
27851
27852 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
27853 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
27854
c0d8b5d4 278552009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27856
27857 Split ufs.mod into ufs1.mod and ufs2.mod.
27858
27859 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
27860 (grub_fstest_SOURCES): Likewise.
27861 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
27862 (ufs_mod_SOURCES): Remove.
27863 (ufs_mod_CFLAGS): Likewise.
27864 (ufs_mod_LDFLAGS): Likewise.
27865 (ufs1_mod_SOURCES): New variable.
27866 (ufs1_mod_CFLAGS): Likewise.
27867 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 27868 (ufs2_mod_SOURCES): New variable.
27869 (ufs2_mod_CFLAGS): Likewise.
27870 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 27871 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
27872 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
27873 Likewise.
27874 (grub_emu_SOURCES): Likewise.
27875 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27876 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
27877 (grub_setup_SOURCES): Likewise.
27878 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
27879 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
27880 (grub_setup_SOURCES): Likewise.
27881 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
27882 Likewise.
27883 * fs/ufs2.c: New file.
27884 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
27885
d3539132 278862009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
27887
27888 Framebuffer split.
27889
27890 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
27891 subsystem at the end.
27892 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
27893 (video_fb_mod_SOURCES): New variable.
27894 (video_fb_mod_CFLAGS): Likewise.
27895 (video_fb_mod_LDFLAGS): Likewise.
27896 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
27897 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
27898 * video/i386/pc/vbeblit.c: Moved from here ...
27899 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
27900 * video/i386/pc/vbefill.c: Moved from here ...
27901 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
27902 * video/i386/pc/vbeutil.c: Moved from here ...
27903 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
27904 * include/grub/i386/pc/vbeblit.h: Moved from here ...
27905 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
27906 * include/grub/i386/pc/vbefill.h: Moved from here ...
27907 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
27908 * include/grub/i386/pc/vbeutil.h: Moved from here ...
27909 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
27910 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
27911 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
27912 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
27913 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
27914 (grub_video_adapter): Added 'get_info_and_fini'.
27915 (grub_video_get_info_and_fini): New prototype.
27916 (grub_video_set_mode): make modestring const char *.
27917 * loader/i386/linux.c (grub_linux_setup_video): Use
27918 grub_video_get_info_and_fini.
27919 (grub_linux_boot): Move modesetting just before booting.
27920 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
27921 grub_video_get_info_and_fini.
27922 * video/i386/pc/vbe.c: Moved framebuffer part ...
27923 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
27924 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
27925 grub_video_fbstd_colors and grub_video_fb_set_palette.
27926 (grub_video_vbe_init): Clear 'framebuffer' variable and use
27927 grub_video_fb_init.
27928 (grub_video_vbe_fini): Use grub_video_fb_fini.
27929 (grub_video_vbe_setup): Use framebuffer.render_target instead of
27930 render_target and use grub_video_fb_set_active_render_target and
27931 grub_video_fb_set_palette.
27932 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
27933 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
27934 (grub_video_vbe_adapter): Use framebuffer.
27935 * video/video.c (grub_video_get_info_and_fini): New function.
27936 (grub_video_set_mode): Make modestring const char *.
27937 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
27938 values are already initialised.
27939
d404ee56 279402009-08-14 Pavel Roskin <proski@gnu.org>
27941
27942 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
27943 ABS and APPLE_CC.
27944 * boot/i386/pc/diskboot.S: Likewise.
27945 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
27946 sectors allow compilation on MacOSX.
27947 * conf/i386-pc.rmk: Enable unconditional compilation of
27948 lnxboot.img.
27949
9a10df16 279502009-08-13 Colin Watson <cjwatson@ubuntu.com>
27951
27952 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
27953 * util/grub.d/00_header.in: Enter interruptible sleep if
27954 GRUB_HIDDEN_TIMEOUT is set.
27955
be3c9ca7 279562009-08-13 Yves Blusseau <blusseau@zetam.org>
27957
27958 * include/grub/symbol.h: Add the LOCAL macro.
27959 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
27960 starting with "L_".
27961
1f9e557e 279622009-08-13 Pavel Roskin <proski@gnu.org>
27963
9ca62843 27964 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
27965 any modern compilers we support.
27966
1f9e557e 27967 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
27968 Use local labels starting with "L_" so that Apple assembler
27969 knows they are local.
27970
81623db6 279712009-08-10 Robert Millan <rmh.grub@aybabtu.com>
27972
27973 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
27974 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
27975 (bsd_kernel_types): ... this enum.
27976
27977 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
27978 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
27979 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
27980
27981 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
27982 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
27983 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
27984 messages.
27985
f5d35e7a 279862009-08-08 Robert Millan <rmh.grub@aybabtu.com>
27987
27988 * util/grub-dumpdevtree: Moved from here ...
27989 * util/i386/efi/grub-dumpdevtree: ... to here.
27990 (hexify): New function. Converts a string to its hex version.
27991 Generate hex versions of "efi" and "device-properties" by calling
27992 hexify() on the ASCII strings rather than by hardcoding numbers.
27993
d1e1d527 279942009-08-08 Robert Millan <rmh.grub@aybabtu.com>
27995
27996 * fs/jfs.c: Update copyright year.
27997
1ebbe064 279982009-08-08 Felix Zielcke <fzielcke@z-51.de>
27999
28000 * util/grub.d/00_header.in: Fix a comment.
28001 * util/grub.d/10_linux.in: Likewise.
28002 * util/grub.d/10_windows.in: Likewise.
28003 * util/grub.d/10_hurd.in: Likewise.
28004
a78c8d24 280052009-08-08 Felix Zielcke <fzielcke@z-51.de>
28006
28007 * util/grub-mkconfig.in: Allow the user to specify the used font
28008 with GRUB_FONT.
28009
29a6b9e8 280102009-08-08 Pavel Roskin <proski@gnu.org>
28011
b5f16cc4 28012 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
28013 available, xfs.mod needs it now.
28014
2f5cb827 28015 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
28016 the "g" modifier in sed when the intention is to strip something
28017 once. This fixes comparison of kernels with multiple dashes.
28018
29a6b9e8 28019 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
28020 on it. Add missing space before closing bracket. Fix
28021 misleading formatting.
28022
892a3d98 280232009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28024
28025 * docs/grub.texi: Major overhaul. Remove all sections that are
28026 specific to GRUB Legacy, or mostly composed of Legacy-specific
28027 information.
28028
ed94253f 280292009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28030
28031 * docs/version.texi: New file. Provides version information for
28032 grub.texi.
28033
126d6628 280342009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28035
28036 * docs/grub.texi: Update CVS information to SVN.
28037 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
28038
998b5aa9 280392009-08-07 Felix Zielcke <fzielcke@z-51.de>
28040
28041 * util/grub-mkconfig.in: Remove a wrong `fi'.
28042
818e094a 280432009-08-07 Felix Zielcke <fzielcke@z-51.de>
28044
28045 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
28046 (grub_jfs_uuid): New function.
28047 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
28048
b969c52f 280492009-08-07 Felix Zielcke <fzielcke@z-51.de>
28050
28051 * util/grub-mkconfig_lib.in (font_path): Move the functionality
28052 of it to ...
28053 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
28054 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
28055
7a4894cc 280562009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28057
28058 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
28059 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
28060 Update all users.
28061
28062 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
28063 not just "vmlinu[zx]".
28064 Moved from here ...
28065 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
28066 all users.
28067
28068 * util/grub.d/10_linux.in (find_latest): Moved from here ...
28069 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
28070 all users.
28071
4e2171f8 280722009-08-07 Robert Millan <rmh.grub@aybabtu.com>
28073
28074 * util/grub.d/10_freebsd.in: Use an absolute device path for
28075 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
28076
6dcfcb32 280772009-08-06 Felix Zielcke <fzielcke@z-51.de>
28078
28079 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
28080 handling of multiple abstraction modules.
28081
f56a8756 280822009-08-04 Robert Millan <rmh.grub@aybabtu.com>
28083
28084 Fix a bug resulting in black screen when loading Linux using a
28085 packed video mode.
28086
28087 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
28088 function.
28089
28090 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
28091 (grub_vbe_bios_getset_dac_palette_width): New function.
28092 (grub_vbe_bios_get_dac_palette_width)
28093 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
28094 grub_vbe_bios_getset_dac_palette_width()).
28095
28096 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
28097 check for return status.
28098 (grub_vbe_get_video_mode_info): When getting information for a packed
28099 mode (<= 8 bpp), obtain DAC palette width using
28100 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
28101 {red,green,blue}_mark_size.
28102
222671b2 281032009-08-04 Felix Zielcke <fzielcke@z-51.de>
28104
ecb1a6d9 28105 * commands/search.c (options): Fix help output to match actual code.
222671b2 28106
f84114f5 281072009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
28108
28109 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
28110 of homegrown code.
28111
bd288a20 281122009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 28113
28114 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
28115 on XFS or ReiserFS.
28116
8aab5e25 281172009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
28118
28119 Support Apple partition map with sector size different from 512 bytes.
28120
28121 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
28122 (apple_partition_map_iterate): Respect 'aheader.blocksize'
28123 and 'apart.partmap_size'.
28124
6ad6258a 281252009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
281262009-08-01 Robert Millan <rmh.grub@aybabtu.com>
28127
28128 Fix cpuid command.
28129
28130 * commands/i386/cpuid.c (options): New variable.
28131 (grub_cmd_cpuid): Return real error.
28132 (GRUB_MOD_INIT(cpuid)): Declare options.
28133
67459bc6 281342009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
28135
28136 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
28137 valid.
28138
fbc6ab54 281392009-07-31 Bean <bean123ch@gmail.com>
28140
28141 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
28142 log2_inode.
28143 (grub_fshelp_node): Move inode field to the end.
28144 (grub_xfs_data): Remove inode field.
28145 (grub_xfs_inode_block): Calculate inode size using sblock.
28146 (grub_xfs_inode_offset): Likewise.
28147 (grub_xfs_read_inode): Calculate inode size using sblock.
28148 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
28149 (grub_xfs_iterate_dir): Calculate inode size using sblock.
28150 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
28151 to match inode size.
28152 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
28153 not accessible when data is null.
28154 (grub_xfs_open): Likewise.
28155
f45d6cfc 281562009-07-31 Bean <bean123ch@gmail.com>
28157
28158 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
28159 Don't change pv->disk if it's already set.
28160
28161 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
28162 (grub_raid_register): ... here.
28163 (grub_raid_rescan): Removed.
28164
28165 * include/grub/raid.h (grub_raid_rescan): Removed.
28166
28167 * util/grub-fstest.c: Remove include file <grub/raid.h>.
28168 (fstest): Replace grub_raid_rescan with module fini function followed
28169 by init function.
28170
28171 * util/grub-probe.c: Add include file <grub/raid.h>.
28172 (probe_raid_level): New function.
28173 (probe): Detect abstraction by walking the disk device, support two
28174 level of abstraction (LVM on RAID) when detecting partition map.
28175
24443b5a 281762009-07-31 Pavel Roskin <proski@gnu.org>
28177
28178 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
28179 to grub_zalloc(), it was erroneous.
28180 Reported by Bean <bean123ch@gmail.com>
28181
a275d9e7 281822009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
28183
28184 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 28185 embedding zone, not only the first one.
a275d9e7 28186
56c5a47f 281872009-07-29 Joe Auricchio <jauricchio@gmail.com>
28188
28189 * term/gfxterm.c (clear_char): New function.
28190 (grub_virtual_screen_setup): Use clear_char.
28191 (scroll_up): Likewise.
28192 (grub_virtual_screen_cls): Likewise.
28193
67bb323a 281942009-07-29 Felix Zielcke <fzielcke@z-51.de>
28195
28196 * util/deviceiter.c (get_acceleraid_disk_name): New static
28197 function.
28198 (grub_util_iterate_devices): Handle Accelraid devices.
28199 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
28200
388a7c75 282012009-07-28 Robert Millan <rmh.grub@aybabtu.com>
28202
28203 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
28204 separator for the suggested gfxpayload string (';' collides with the
28205 parser and needs escaping).
28206
3bb7abcf 282072009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
28208
28209 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
28210 Clear direction flag before jumping to OS.
28211 (grub_multiboot2_real_boot): Likewise.
28212
2ddd36d7 282132009-07-28 Felix Zielcke <fzielcke@z-51.de>
28214
28215 * util/i386/pc/grub-install: Fix parsing of --disk-module
28216 option.
28217
c521b62b 282182009-07-28 Felix Zielcke <fzielcke@z-51.de>
28219
28220 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
28221 when embedding.
28222
880e0a0c 282232009-07-26 Felix Zielcke <fzielcke@z-51.de>
28224
28225 * util/grub-mkconfig.in (package_version): New variable.
28226 Use it do display the version.
28227
2366e356 282282009-07-25 Felix Zielcke <fzielcke@z-51.de>
28229
28230 * kern/file.c (grub_file_open): Revert to previous check with
28231 grub_errno.
28232
7ad8c80e 282332009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
28234
28235 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
28236 from help line. It's out of sync with code.
28237
72b9658b 282382009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
28239
28240 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
28241 entries on failed boot.
28242
77435277 282432009-07-25 Felix Zielcke <fzielcke@z-51.de>
28244
28245 * kern/file.c (grub_file_open): Fix an error check.
28246
fcaa8b21 282472009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
28248
35d16c74 28249 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
28250 partition map couldn't be identified.
fcaa8b21 28251
48904cd1 282522009-07-23 Pavel Roskin <proski@gnu.org>
28253
ef3c317f 28254 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
28255 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
28256 case of little endian words becomes just an optimization.
28257 Respect const modifier.
ad8ea1f4 28258 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 28259
48904cd1 28260 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
28261 to avoid loss of upper bits if align is unsigned and shorter
28262 than addr.
28263
260c9a89 282642009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
28265
28266 UUID support for UFS
28267
28268 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
28269 (grub_ufs_uuid): New function.
28270 (grub_ufs_fs): add .uuid
28271
f76ce889 282722009-07-21 Pavel Roskin <proski@gnu.org>
28273
28274 * kern/dl.c (grub_dl_check_header): Make static.
28275
6a6cbcaf 282762009-07-21 Felix Zielcke <fzielcke@z-51.de>
28277
28278 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
28279 add drivemap for Vista. It breaks Windows 7.
28280
cffcddb2 282812009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
28282
28283 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
28284 128 bytes
28285
1ef44b80 282862009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28287
28288 Add BFS support
28289
28290 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
28291 (grub_fstest_SOURCES): Likewise.
28292 (pkglib_MODULES): Add befs.mod.
28293 (befs_mod_SOURCES): New variable.
28294 (befs_mod_CFLAGS): Likewise.
28295 (befs_mod_LDFLAGS): Likewise.
28296 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
28297 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
28298 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28299 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
28300 (grub_setup_SOURCES): Likewise.
28301 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28302 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
28303 (grub_setup_SOURCES): Likewise.
28304 * fs/befs.c: New file.
28305 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
28306 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
28307 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
28308 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
28309 (B_KEY_INDEX_ALIGN): New declaration.
28310 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
28311 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
28312 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
28313 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
28314 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
28315 (grub_afs_mount) [MODE_BFS]: Likewise.
28316 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
28317 (grub_afs_fs): Use GRUB_AFS_FSNAME
28318 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
28319 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
28320 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
28321 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
28322
4f253044 283232009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
28324
28325 * util/getroot.c (find_root_device): Add support for MacOSX.
28326 * util/hostdisk.c: Likewise.
28327
57a55913 283282009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28329
28330 * font/font.c (find_glyph): Check whether a font is present to avoid
28331 segmentation fault.
75421ca9 28332
283332009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 28334
28335 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
28336
e98cd0c2 283372009-07-20 Pavel Roskin <proski@gnu.org>
28338
28339 * configure.ac: Trim excessively wordy excuses.
28340
1d2d169a 283412009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28342
28343 Add symlink, mtime and label support to AtheFS.
28344
28345 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
28346 (grub_afs_iterate_dir): Handle symlinks.
28347 (grub_afs_open): Use grub_afs_read_symlink.
28348 (grub_afs_dir): Likewise.
28349 Pass mtime.
28350 (grub_afs_label): New function.
28351 (grub_afs_fs): Add grub_afs_label.
28352 (grub_afs_read_symlink): New function.
28353
186f3189 283542009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
28355
28356 Fix AtheFS support.
28357
28358 * fs/afs.c: Fix comments style.
28359 (grub_afs_blockrun): Declare as packed.
28360 (grub_afs_datastream): Likewise.
28361 (grub_afs_bnode): Likewise.
28362 (grub_afs_btree): Likewise.
28363 (grub_afs_sblock): Likewise.
28364 Declare `name' as char.
28365 (grub_afs_inode): Declare as packed.
28366 Change void *vnode to grub_uint32_t unused.
28367 (grub_afs_iterate_dir): Check that key_size is positive.
28368 (grub_afs_mount): Don't read superblock twice.
75421ca9 28369 (grub_afs_dir): Don't free node in case of error,
186f3189 28370 grub_fshelp_find_file already handles this.
28371 (grub_afs_open): Likewise.
28372
5680109e 283732009-07-19 Pavel Roskin <proski@gnu.org>
28374
28375 * Makefile.in: Remove LIBLZO and enable_lzo.
28376 * conf/i386-pc.rmk: Remove lzo support.
28377 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
28378 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
28379 support.
28380 * kern/i386/pc/lzo1x.S: Remove.
28381 * kern/i386/pc/startup.S: Remove lzo support.
28382 * util/i386/pc/grub-mkimage.c: Likewise.
28383
ac70fa32 283842009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
28385
28386 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
28387 * fs/xfs.c (grub_xfs_dir): Likewise.
28388 * fs/afs.c (grub_afs_dir): Likewise.
28389 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
28390 (grub_iso9660_open): Likewise.
28391 * fs/jfs.c (grub_jfs_open): Likewise.
28392 * fs/ext2.c (grub_ext2_dir): Likewise.
28393 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
28394 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 28395
eab58da2 283962009-07-16 Pavel Roskin <proski@gnu.org>
28397
d2838156 28398 * configure.ac: Never add "-c" to CFLAGS.
28399
55c70904 28400 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
28401
43e6200c 28402 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
28403 grub_cv_cc_efiemu should be used.
28404
ce7a733d 28405 * configure.ac: Typo fixes.
28406
eab58da2 28407 * kern/mm.c (grub_zalloc): New function.
28408 (grub_debug_zalloc): Likewise.
28409 * include/grub/mm.h: Declare grub_zalloc() and
28410 grub_debug_zalloc().
28411 * util/misc.c (grub_zalloc): New function.
28412 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
28413 instead of grub_malloc(), remove unneeded initializations.
28414 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
28415 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
28416 * commands/parttool.c (grub_cmd_parttool): Likewise.
28417 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
28418 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
28419 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
28420 * disk/usbms.c (grub_usbms_finddevs): Likewise.
28421 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
28422 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
28423 (grub_cmd_efiemu_pnvram): Likewise.
28424 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
28425 * fs/iso9660.c (grub_iso9660_mount): Likewise.
28426 (grub_iso9660_iterate_dir): Likewise.
28427 * fs/jfs.c (grub_jfs_opendir): Likewise.
28428 * fs/ntfs.c (list_file): Likewise.
28429 (grub_ntfs_mount): Likewise.
28430 * kern/disk.c (grub_disk_open): Likewise.
28431 * kern/dl.c (grub_dl_load_core): Likewise.
28432 * kern/elf.c (grub_elf_file): Likewise.
28433 * kern/env.c (grub_env_context_open): Likewise.
28434 (grub_env_set): Likewise.
28435 (grub_env_set_data_slot): Likewise.
28436 * kern/file.c (grub_file_open): Likewise.
28437 * kern/fs.c (grub_fs_blocklist_open): Likewise.
28438 * loader/i386/multiboot.c (grub_module): Likewise.
28439 * loader/xnu.c (grub_xnu_create_key): Likewise.
28440 (grub_xnu_create_value): Likewise.
28441 * normal/main.c (grub_normal_add_menu_entry): Likewise.
28442 (read_config_file): Likewise.
28443 * normal/menu_entry.c (make_screen): Likewise.
28444 * partmap/sun.c (sun_partition_map_iterate): Likewise.
28445 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
28446 * script/sh/script.c (grub_script_parse): Likewise.
28447 * video/bitmap.c (grub_video_bitmap_create): Likewise.
28448 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
28449 * video/readers/png.c (grub_png_output_byte): Likewise.
28450 (grub_video_reader_png): Likewise.
28451
830afef7 284522009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 28453
28454 Enable all targets that can be built by default
28455
830afef7 28456 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 28457 grub-mkfont and grub-fstest if they can be built
28458
ee293aee 284592009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
28460
28461 Fix hang and segmentation fault in grub-emu-usb
28462
28463 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
28464 * util/usb.c (grub_libusb_devices): likewise
28465 (grub_libusb_init): rename to ...
28466 (GRUB_MOD_INIT (libusb)):...this
28467 (grub_libusb_fini): rename to ..
28468 (GRUB_MOD_FINI (libusb)):...this
28469 * disk/usbms.c (grub_usbms_transfer): fix retry logic
28470 * include/grub/disk.h (grub_raid_init): removed, it's useless
28471 (grub_raid_fini): likewise
28472 (grub_lvm_init): likewise
28473 (grub_lvm_fini): likewise
28474 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
28475 by grub_init_all
28476
94414221 284772009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
28478
28479 Fix libusb
28480
28481 * Makefile.in (LIBUSB): new macro
28482 * genmk.rb (Utility/print_tail): new method
28483 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
28484 (top level): call util.print_tail at the end.
28485
59ade63d 284862009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
28487
28488 Make FreeBSD accept zpool.cache
28489
28490 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
28491 type is /boot/zfs/zpool.cache
28492
a58da8c7 284932009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
28494
28495 Fix 64-bit efiemu
28496
28497 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
28498 correct wrong typedef
28499 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
28500
20591577 285012009-07-15 Pavel Roskin <proski@gnu.org>
28502
560ca572 28503 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
28504 * kern/disk.c (struct grub_disk_cache): Likewise.
28505
e8e8e4fd 28506 * commands/probe.c (options): Typo fix.
28507
fde24e10 28508 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
28509 Increase to 0x5a to accommodate FAT32. Adjust other offsets
28510 accordingly.
28511 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
28512
379c54c1 28513 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
28514 the end of "Error" to make the message more readable.
28515
7bd8f5bf 28516 * boot/i386/pc/boot.S (kernel_segment): Remove.
28517 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
28518 for destination.
28519
40b132c5 28520 * boot/i386/pc/boot.S (boot_version): Remove.
28521 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
28522 Remove.
28523
20591577 28524 * include/grub/i386/pc/boot.h: Sort all offsets.
28525 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
28526 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
28527 * boot/i386/pc/boot.S: Assert location of every offset listed in
28528 include/grub/i386/pc/boot.h.
28529
2df32b2c 285302009-07-13 Pavel Roskin <proski@gnu.org>
28531
44b5d879 28532 * include/grub/i386/coreboot/machine.h: Rename
28533 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
28534 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
28535 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
28536
17dc3751 28537 * kern/dl.c: Force native word size to suppress warnings when
28538 compiling grub-emu.
28539
2df32b2c 28540 * kern/device.c (grub_device_iterate): Change struct part_ent to
28541 hold the name, not a pointer to it. Use one grub_malloc() per
28542 partition, not two. Free partition_name if grub_malloc() fails.
28543 Set ents to NULL only before grub_partition_iterate() is called.
28544
75c59f59 285452009-07-11 Bean <bean123ch@gmail.com>
28546
28547 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
28548 childname.
28549
0ae1bf88 285502009-07-10 Bean <bean123ch@gmail.com>
285512009-07-10 Robert Millan <rmh.grub@aybabtu.com>
28552
28553 * kern/ieee1275/openfw.c (grub_children_iterate)
28554 (grub_devalias_iterate): Fix size evaluation for property or path
28555 strings, which was broken since r2132.
28556
8279cade 285572009-07-07 Pavel Roskin <proski@gnu.org>
28558
7d8a52d3 28559 * commands/search.c (search_file): Merge into ...
28560 (search_fs): ... this. Accept search type as argument.
28561 (grub_cmd_search): Pass search type to search_fs().
28562
25f9a05a 28563 * include/grub/util/console.h: New file.
28564 * util/console.c: Use it instead of grub/machine/console.h.
28565 * util/grub-emu.c: Likewise.
28566
8279cade 28567 * lib/arg.c (find_long_option): Remove.
28568 (find_long): Add `len' argument, make `s' const char *.
28569 (grub_arg_parse): Parse long options in place, not in a
28570 temporary buffer.
28571
4a11b60f 285722009-07-06 Pavel Roskin <proski@gnu.org>
28573
99f68041 28574 * commands/search.c (search_fs): Fix potential NULL pointer
28575 dereference.
28576
4a11b60f 28577 * commands/search.c (search_fs): Replace QUID macro with quid_fn
28578 function pointer.
28579
e110f4de 285802009-07-06 Daniel Mierswa <impulze@impulze.org>
28581
28582 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
28583 comparison.
28584
46eeb6a2 285852009-07-05 Pavel Roskin <proski@gnu.org>
28586
bab74958 28587 * include/grub/i386/linux.h (struct linux_kernel_params):
28588 Restore padding3, it's still needed.
28589
46eeb6a2 28590 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
28591 FreeBSD.
28592 * util/osdetect.lua: Likewise.
28593
b4a1dc79 285942009-07-05 Bean <bean123ch@gmail.com>
28595
28596 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
28597
28598 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
28599 (grub_lua_getenv): Likewise.
28600 (grub_lua_setenv): Likewise.
28601 (save_errno): New function.
28602 (push_result): Likewise.
28603 (grub_lua_enum_device): Likewise.
28604 (grub_lua_enum_file): Likewise.
28605 (grub_lua_file_open): Likewise.
28606 (grub_lua_file_close): Likewise.
28607 (grub_lua_file_seek): Likewise.
28608 (grub_lua_file_read): Likewise.
28609 (grub_lua_file_getline): Likewise.
28610 (grub_lua_file_getsize): Likewise.
28611 (grub_lua_file_getpos): Likewise.
28612 (grub_lua_file_eof): Likewise.
28613 (grub_lua_file_exist): Likewise.
28614 (grub_lua_add_menu): Likewise.
28615
28616 * script/lua/grub_lua.h (isupper): New inline function.
28617 (islower): Likewise.
28618 (ispunct): Likewise.
28619 (isxdigit): Likewise.
28620 (strcspn): Change to normal function.
28621 (strpbkr): New function declaration.
28622 (memchr): Likewise.
28623
28624 * script/lua/grub_main.c (scan_str): New function.
28625 (strcspn): Likewise.
28626 (strpbrk): Likewise.
28627 (memchr): Likewise.
28628
28629 * script/lua/linit.c (lualibs): Enable the string library.
28630
28631 * util/osdetect.lua: New file.
28632
2da92295 286332009-07-04 Robert Millan <rmh.grub@aybabtu.com>
28634
28635 * include/grub/i386/linux.h (struct linux_kernel_params): Add
28636 `capabilities' member.
28637
b2582ec9 286382009-07-02 Pavel Roskin <proski@gnu.org>
28639
28640 * genparttoollist.sh: Add missing newline at the end.
28641
32622956 286422009-07-01 Pavel Roskin <proski@gnu.org>
28643
87a7339e 28644 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
28645
d23af54e 28646 * util/hostdisk.c (open_device): Remove `const' from
28647 `sysctl_size', as sysctlbyname() can change it (in this case it
28648 doesn't actually happen).
28649
c94b18a9 28650 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
28651 using signed long int constants.
28652
c6cd3ef0 28653 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
28654 constant to avoid a warning on FreeBSD.
28655
0df63420 28656 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
28657 where it's needed.
28658
999577f1 28659 * Makefile.in: Install include/grub/machine symlink.
28660
6f41557f 28661 * Makefile.in: When installing symlinks, use "cp -fR", which
28662 works on FreeBSD and MacOSX.
28663 From Yves Blusseau <cl7m42e02@sneakemail.com>
28664
c8d22988 28665 * kern/dl.c (grub_dl_resolve_symbol): Make static.
28666 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
28667
1b96e952 28668 * util/misc.c: Move grub_reboot() and grub_halt() ...
28669 * util/grub-emu.c: ... here. Make main_env static.
28670 * include/grub/util/misc.h: Remove main_env.
28671
2ef0084d 28672 * kern/mm.c: Use correct format to print size_t.
28673
32622956 28674 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
28675 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
28676 * kern/powerpc/dl.c: Likewise.
28677 * kern/sparc64/dl.c: Likewise.
28678 * kern/x86_64/dl.c: Likewise.
28679
3f7f0cd0 286802009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28681
28682 Fix grub-emu build on sparc64-ieee1275.
28683
75421ca9 28684 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 28685 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
28686
211d06b5 286872009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28688
28689 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
28690 (grub_reboot, grub_halt): New functions.
28691
28692 * util/i386/pc/misc.c: Delete. Update all users.
28693 * util/sparc64/ieee1275/misc.c: Likewise.
28694 * util/powerpc/ieee1275/misc.c: Likewise.
28695
aaf53e3c 286962009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28697
28698 * conf/i386.rmk (setjmp_mod_SOURCES)
28699 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
28700 * conf/common.rmk (setjmp_mod_SOURCES)
28701 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
28702 to use $(target_cpu).
28703 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
28704 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
28705 * conf/powerpc-ieee1275.rmk: Likewise.
28706 * conf/sparc64-ieee1275.rmk: Likewise.
28707
28708 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
28709 $(target_cpu) for kern/$(target_cpu)/dl.c.
28710 * conf/i386-efi.rmk: Likewise.
28711 * conf/i386-ieee1275.rmk: Likewise.
28712 * conf/x86_64-efi.rmk: Likewise.
28713 * conf/i386-coreboot.rmk: Likewise.
28714 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
28715 $(target_cpu) for kern/$(target_cpu)/dl.c and for
28716 kern/$(target_cpu)/cache.S.
28717 * conf/sparc64-ieee1275.rmk: Likewise.
28718
a337130b 287192009-07-01 Robert Millan <rmh.grub@aybabtu.com>
28720
28721 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
28722 type to `grub_uint8_t', and adjust `padding9' accordingly.
28723
c6fe4d53 287242009-06-29 Robert Millan <rmh.grub@aybabtu.com>
28725
b09db61d 28726 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
28727
c6fe4d53 28728 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
28729 assembly in final jump, using register constraints.
28730
b09db61d 28731 (grub_linux_boot): For text mode, initialize `have_vga' using
28732 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
28733
28734 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
28735 right before the final jump.
28736
28737 Set `video_mode' to 0x3.
28738
28739 Document initialization of `video_page', `video_mode' and
28740 `video_ega_bx'.
28741
28333ad0 287422009-06-29 Robert Millan <rmh.grub@aybabtu.com>
28743
28744 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
28745 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 28746 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 28747
02164e1b 287482009-06-29 Robert Millan <rmh.grub@aybabtu.com>
28749
28750 Fix build on Debian / sparc.
28751
28752 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
28753
18b6c557 287542009-06-28 Pavel Roskin <proski@gnu.org>
28755
85f2aab6 28756 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
28757 fix a warning.
28758
18b6c557 28759 * util/grub.d/10_linux.in: Match SUSE style initrd names.
28760
ad760f81 287612009-06-27 Robert Millan <rmh.grub@aybabtu.com>
28762
28763 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
28764 `err'.
28765
87a4623b 287662009-06-27 Robert Millan <rmh.grub@aybabtu.com>
28767
28768 Revert r2338.
28769
28770 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
28771 file can't be opened. grub_file_open() is already supposed to set
75421ca9 28772 grub_errno / grub_errmsg appropriately.
87a4623b 28773 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
28774
8231fb77 287752009-06-27 Pavel Roskin <proski@gnu.org>
287762009-06-27 Robert Millan <rmh.grub@aybabtu.com>
28777
28778 * include/grub/dl.h: Include grub/elf.h.
28779 (struct grub_dl): Add symtab field.
28780 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
28781 GRUB_MODULES_MACHINE_READONLY.
28782 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
28783 of the header for read-only modules.
28784 (grub_dl_unload): Free mod->symtab for read-only modules.
28785 * kern/i386/dl.c: Use mod->symtab.
28786 * kern/powerpc/dl.c: Likewise.
28787 * kern/sparc64/dl.c: Likewise.
28788 * kern/x86_64/dl.c: Likewise.
28789
28790 * conf/i386-qemu.rmk: New file.
28791 * kern/i386/qemu/startup.S: Likewise.
28792 * kern/i386/qemu/mmap.c: Likewise.
28793 * boot/i386/qemu/boot.S: Likewise.
28794 * include/grub/i386/qemu/time.h: Likewise.
28795 * include/grub/i386/qemu/serial.h: Likewise.
28796 * include/grub/i386/qemu/kernel.h: Likewise.
28797 * include/grub/i386/qemu/console.h: Likewise.
28798 * include/grub/i386/qemu/boot.h: Likewise.
28799 * include/grub/i386/qemu/init.h: Likewise.
28800 * include/grub/i386/qemu/machine.h: Likewise.
28801 * include/grub/i386/qemu/loader.h: Likewise.
28802 * include/grub/i386/qemu/memory.h: Likewise.
28803
28804 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
28805 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
28806 [qemu] (pkglib_IMAGES): Add `boot.img'.
28807 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
28808 [qemu] (boot_img_FORMAT): New variables.
28809 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
28810 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
28811 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
28812 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
28813 [qemu] (kernel_img_FORMAT): New variables.
28814
28815 * configure.ac: Recognise `i386-qemu'.
28816
28817 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
28818 (for no compression).
28819 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
28820 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
28821 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
28822 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
28823 ifdefs).
28824
97fe384e 288252009-06-27 Pavel Roskin <proski@gnu.org>
28826
28827 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
28828 read.
28829 * efiemu/prepare32.c: Likewise.
28830 * efiemu/prepare64.c: Likewise.
28831
c402ab17 288322009-06-26 Pavel Roskin <proski@gnu.org>
28833
28834 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
28835 * include/grub/elf.h: Define symbols without "32" or "64" based
28836 on GRUB_TARGET_WORDSIZE.
28837 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
28838 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
28839 ELF definitions.
28840 * efiemu/loadcore64.c: Likewise.
28841 * loader/i386/bsd32.c: Likewise.
28842 * loader/i386/bsd64.c: Likewise.
28843 * kern/dl.c: Remove own ELF definitions.
28844 * util/i386/efi/grub-mkimage.c: Likewise.
28845
9bbdfd4d 288462009-06-23 Robert Millan <rmh.grub@aybabtu.com>
28847
28848 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
28849 segment 0x0 unconditionally, because the reference generated by
28850 GAS is an absolute address.
28851
a42ce6e9 288522009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28853
28854 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
28855 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
28856
c952cf92 288572009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28858
28859 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
28860 indexes. Check for -f explicitly.
cc3752ad 28861 (search_file): Improve error message.
28862 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 28863
132a0a59 288642009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28865
28866 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
28867 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
28868
387a140c 288692009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28870
28871 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
28872 * conf/i386-ieee1275.rmk: Likewise.
28873 * conf/i386-coreboot.rmk: Likewise.
28874
28875 * kern/i386/pc/startup.S (grub_stop): Remove function.
28876 * kern/i386/ieee1275/startup.S: Likewise.
28877 * kern/i386/coreboot/startup.S: Likewise.
28878 * kern/i386/misc.S (grub_stop): New function.
28879
41da9665 288802009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28881
28882 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
28883 * kern/i386/realmode.S (real_to_prot): ... to here.
28884
bf337234 288852009-06-22 Robert Millan <rmh.grub@aybabtu.com>
28886
28887 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
28888 with `kernel.img'.
28889 (kernel_elf_SOURCES): Rename to ...
28890 (kernel_img_SOURCES): ... this.
28891 (kernel_elf_HEADERS): Rename to ...
28892 (kernel_img_HEADERS): ... this. Update all users.
28893 (kernel_elf_ASFLAGS): Rename to ...
28894 (kernel_img_ASFLAGS): ... this.
28895 (kernel_elf_CFLAGS): Rename to ...
28896 (kernel_img_CFLAGS): ... this.
28897 (kernel_elf_LDFLAGS): Rename to ...
28898 (kernel_img_LDFLAGS): ... this.
28899 * conf/i386-coreboot.rmk: Likewise.
28900 * conf/powerpc-ieee1275.rmk: Likewise.
28901
28902 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
28903 with "kernel.img".
28904
f52196ff 289052009-06-21 Pavel Roskin <proski@gnu.org>
28906
c3cee413 28907 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
28908 to match nested functions.
28909 * loader/sparc64/ieee1275/linux.c: Likewise.
28910
f52196ff 28911 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
28912
58750afc 289132009-06-21 Robert Millan <rmh.grub@aybabtu.com>
28914
28915 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
28916 all i386 platforms.
28917
15355c7d 289182009-06-21 Robert Millan <rmh.grub@aybabtu.com>
28919
28920 Fix asm file handling on ELF, and remove workarounds.
28921
28922 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 28923 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 28924 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
28925 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
28926
3f3ec72b 289272009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
28928
28929 Load BSD ELF modules
28930
28931 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
28932 and loader/i386/bsd64.c
28933 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
28934 (FREEBSD_MODTYPE_ELF_MODULE): New definition
28935 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
28936 (grub_freebsd_load_elfmodule32): New declaration
28937 (grub_freebsd_load_elfmoduleobj64): Likewise
28938 (grub_freebsd_load_elf_meta32): Likewise
28939 (grub_freebsd_load_elf_meta64): Likewise
28940 (grub_freebsd_add_meta): Likewise
28941 (grub_freebsd_add_meta_module): Likewise
28942 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
28943 (grub_freebsd_add_meta_module): Likewise and move module-specific
28944 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
28945 (grub_cmd_freebsd): Add elf-kernel specific parts
28946 based on grub_freebsd_add_meta_module
28947 (grub_cmd_freebsd_module): Add type parsing moved from
28948 grub_freebsd_add_meta_module
28949 (grub_cmd_freebsd_module_elf): New function
28950 (cmd_freebsd_module_elf): New variable
28951 (GRUB_MOD_INIT): Register freebsd_module_elf
28952 * loader/i386/bsd32.c: New file
28953 * loader/i386/bsd64.c: Likewise
28954 * loader/i386/bsdXX.c: Likewise
28955 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
28956 (grub_elf64_load): Likewise
28957 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
28958 All users updated
28959 (grub_elf64_load_hook_t): Likewise
28960
0db15301 289612009-06-21 Colin Watson <cjwatson@ubuntu.com>
28962
28963 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
28964 variable.
28965 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
28966 don't write a menu entry for recovery mode.
28967
546796c1 289682009-06-20 Robert Millan <rmh.grub@aybabtu.com>
28969
28970 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
28971 after it's no longer needed.
28972
cd7310d5 289732009-06-20 Robert Millan <rmh.grub@aybabtu.com>
28974
28975 * include/grub/i386/loader.h (grub_linux_prot_size)
28976 (grub_linux_tmp_addr, grub_linux_real_addr)
28977 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
28978 GRUB_MACHINE_PCBIOS.
28979 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
28980 common grub_util_info() call to ...
28981 (generate_image): ... here.
28982 Fix use of uninitialized memory, comparison of signed with
28983 unsigned integers and memory leak.
28984 Remove bogus module address message.
28985
ab32d3b5 289862009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
28987
28988 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
28989 grub_raid_register
28990 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
28991
024ef597 289922009-06-19 Pavel Roskin <proski@gnu.org>
28993
28994 * configure.ac: Remove stray AC_MSG_CHECKING.
28995
3ac72b51 289962009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
28997
28998 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 28999
e14cd814 290002009-06-18 Pavel Roskin <proski@gnu.org>
29001
29002 * conf/common.rmk: Add fs_file.mod.
29003 * disk/fs_file.c: New file.
29004 * include/grub/disk.h (enum grub_disk_dev_id): Add
29005 GRUB_DISK_DEVICE_FILE_ID.
29006
26586d98 290072009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
29008
29009 Fix build with Apple's toolchain. Part 2
29010
29011 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
29012 a fake start
29013
26de2bcd 290142009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
29015
29016 Fix build with Apple's toolchain. Part 1
29017
29018 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
29019 for long calls
29020 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 29021 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 29022 Apple's toolchain
29023
09b3490b 290242009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
29025
29026 Fix warnings
29027
29028 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
29029 (decomp_block): initialize ch
29030 use grub_memcpy instead of memcpy
29031
c22a006a 290322009-06-17 Pavel Roskin <proski@gnu.org>
29033
d3638678 29034 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
29035 version, use declarations needed to use vga_text as the startup
29036 console.
29037
c22a006a 29038 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
29039 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
29040 the kernel.
29041 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
29042 and grub_at_keyboard_fini(), it's done on module load and
29043 unload.
29044
05b129e0 290452009-06-17 Felix Zielcke <fzielcke@z-51.de>
29046
29047 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
29048 file can't be found.
29049 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
29050
cf24ed9e 290512009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
29052
29053 Fix newline handling
29054
29055 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 29056 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 29057 (grub_script_yylex): don't segfault on unterminated script
29058 newline terminates command and variable
29059
74aa8e4b 290602009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
29061
29062 avoid double grub_adjust_range call. Bug reported by David Simner
29063
29064 * kern/disk.c (grub_disk_write): change to raw disk access before
29065 calling disk_read
29066
1bd265f3 290672009-06-17 Colin Watson <cjwatson@ubuntu.com>
29068
29069 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
29070 spaces, for the benefit of help2man.
29071 * util/i386/efi/grub-mkimage.c (usage): Likewise.
29072
a2d08c06 290732009-06-16 Pavel Roskin <proski@gnu.org>
29074
29075 * kern/i386/halt.c: Include grub/machine/init.h.
29076 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
29077
b97bcb19 290782009-06-16 Felix Zielcke <fzielcke@z-51.de>
29079
29080 * util/grub.d/30_os-prober.in: Use ${root} in the generated
29081 drivemap menuentry.
29082
0644f96c 290832009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
29084
29085 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
29086 `echo' command.
29087
3ef17a2e 290882009-06-16 Pavel Roskin <proski@gnu.org>
29089
29090 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
29091 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
29092 save %dx, we only need %dl and we never change it.
29093 * boot/i386/pc/cdboot.S: Don't set the root drive.
29094 * boot/i386/pc/pxeboot.S: Likewise.
29095 * include/grub/i386/pc/boot.h: Remove
29096 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
29097 GRUB_BOOT_MACHINE_DRIVE_CHECK.
29098 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
29099 * kern/i386/pc/init.c (make_install_device): Remove references
29100 to grub_root_drive.
29101 * kern/i386/pc/startup.S: Likewise.
29102 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
29103
693fe637 291042009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
29105
29106 xnu_uuid command
29107
29108 * commands/xnu_uuid.c: new file
29109 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
29110 (xnu_uuid_mod_SOURCES): new variable
29111 (xnu_uuid_mod_CFLAGS): likewise
29112 (xnu_uuid_mod_LDFLAGS): likewise
29113 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
29114 * conf/i386-ieee1275.rmk: likewise
29115 * conf/i386-pc.rmk: likewise
29116 * conf/powerpc-ieee1275.rmk: likewise
29117 * conf/sparc64-ieee1275.rmk: likewise
29118 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
29119
c9da87d0 291202009-06-16 Pavel Roskin <proski@gnu.org>
29121
29122 * configure.ac: Avoid '==' in test command, it's not portable.
29123
9c6f4596 291242009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
29125
29126 Probe command
29127
29128 * commands/probe.c: new file
29129 * conf/common.rmk (pkglib_MODULES): add probe.mod
29130 (probe_mod_SOURCES): new variable
29131 (probe_mod_CFLAGS): likewise
29132 (probe_mod_LDFLAGS): likewise
29133 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
29134 * conf/i386-ieee1275.rmk: likewise
29135 * conf/i386-pc.rmk: likewise
29136 * conf/powerpc-ieee1275.rmk: likewise
29137 * conf/sparc64-ieee1275.rmk: likewise
29138
70b7f9fd 291392009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
29140
29141 Fix handling of string like \"hello\" and "a
29142 b"
29143
29144 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
29145 (grub_script_yylex): fix parsing of quoting, escaping and newline
29146
71c79a6b 291472009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
29148
dd74360c 29149 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 29150 handling
dd74360c 29151
0644f96c 291522009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 29153
29154 * util/grub-mkconfig.in: Fix parsing of --output option.
29155
e40893c3 291562009-06-12 Pavel Roskin <proski@gnu.org>
29157
29158 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
29159 genmk.rb don't need to be generated or installed.
29160
3a1acfe2 291612009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
29162
29163 * commands/i386/pc/drivemap_int13h.S: add more comments
29164
3a4575d4 291652009-06-11 Pavel Roskin <proski@gnu.org>
29166
0658e928 29167 * Makefile.in (uninstall): Uninstall manuals.
29168
ca0388f0 29169 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
29170 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
29171 and update-grub_lib in two places.
29172 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
29173
e3b27c39 29174 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
29175 a compiler warning.
29176
3a4575d4 29177 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
29178 `entry_lo' to fix variable shadowing.
29179
af1f4f55 291802009-06-11 Christian Franke <franke@computer.org>
29181
29182 * kern/misc.c (__enable_execute_stack): Add missing return type
29183 to prevent gcc warning.
29184
5225e649 291852009-06-11 Felix Zielcke <fzielcke@z-51.de>
29186
29187 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
29188
7d83bd47 291892009-06-11 Pavel Roskin <proski@gnu.org>
29190
c1cb63ba 29191 * Makefile.in: Don't rely on any scripts being executable.
29192 Always use $(SHELL) to run shell scripts.
29193
7d83bd47 29194 * configure.ac: Always define ___main if using -nostdlib. This
29195 fixes tests on Cygwin.
29196
948f48e7 291972009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
29198
29199 UDF fix
29200
7d83bd47 29201 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 29202 is in bytes and not in blocks
7d83bd47 29203
8ada9bc1 292042009-06-11 Pavel Roskin <proski@gnu.org>
29205
29206 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
29207 warning.
29208
25ad2323 292092009-06-11 Felix Zielcke <fzielcke@z-51.de>
29210
29211 * util/grub.d/30_os-prober.in: Fix a comment. Source
29212 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
29213 to set the root device. Place drivemap command in the generated
29214 chain entry.
29215
e65acb0c 292162009-06-11 Pavel Roskin <proski@gnu.org>
29217
29218 * configure.ac: Remove host_m32. Issues with 64-bit utilities
29219 have long been resolved.
29220
f285fe2d 292212009-06-11 Colin Watson <cjwatson@ubuntu.com>
29222
bd47b0b5 29223 * util/grub.d/10_linux.in: Capitalise "Linux".
29224
f285fe2d 29225 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
29226
a0c62e4e 292272009-06-11 Pavel Roskin <proski@gnu.org>
29228
b6783cb2 29229 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
29230 fix a gcc warning and ensure that the function won't ever exit.
29231
dde032e8 29232 * kern/i386/ieee1275/init.c: Add missing prototype for
29233 grub_stop_floppy().
29234
22cd079d 29235 * loader/ieee1275/multiboot2.c [__i386__]: Include
29236 grub/cpu/multiboot.h.
29237
a0c62e4e 29238 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
29239 casts to short - they are not portable and cause warnings. Fix
29240 use of uninitialized values in input_buf. Use ARRAY_SIZE.
29241
63963d17 292422009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
29243
29244 Drivemap fixes
29245
29246 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
29247 new function
29248 (grub_get_root_biosnumber_saved): new variable
29249 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
29250 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 29251 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 29252 %dx after the call if necessary
29253 * conf/common.rmk (pkglib_MODULES): remove boot.mod
29254 (boot_mod_SOURCES): remove
29255 (boot_mod_CFLAGS): remove
29256 (boot_mod_LDFLAGS): remove
29257 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
29258 (boot_mod_SOURCES): new variable
29259 (boot_mod_CFLAGS): likewise
29260 (boot_mod_LDFLAGS): likewise
29261 * conf/i386-efi.rmk: likewise
29262 * conf/i386-ieee1275.rmk: likewise
29263 * conf/i386-pc.rmk: likewise
29264 * conf/powerpc-ieee1275.rmk: likewise
29265 * conf/sparc64-ieee1275.rmk: likewise
29266 * conf/x86_64-efi.rmk: likewise
29267 * include/grub/i386/pc/biosnum.h: new file
29268 * lib/i386/pc/biosnum.c: likewise
29269 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
29270 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
29271 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 29272
33abf7ae 292732009-06-10 Pavel Roskin <proski@gnu.org>
29274
5ac35b35 29275 * io/gzio.c (test_header): Don't reuse one buffer for all data.
29276 Use separate variables. Read only the file size at the end, but
29277 not the checksum that we don't use.
29278
5c5215d5 29279 * kern/file.c (grub_file_read): Use void pointer for the buffer.
29280 Adjust all callers.
29281
27d5fef7 29282 * kern/ieee1275/openfw.c: Remove libc includes.
29283 * kern/ieee1275/cmain.c: Likewise.
29284 * include/grub/ieee1275/ieee1275.h: Likewise.
29285
33abf7ae 29286 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
29287 compiler warnings.
29288
19d50c2b 292892009-06-10 Felix Zielcke <fzielcke@z-51.de>
29290
29291 * Makefile.in: Remove all trailing whitespace.
29292 * conf/i386-pc.rmk: Likewise.
29293 * conf/powerpc-ieee1275.rmk: Likewise.
29294 * conf/sparc64-ieee1275.rmk: Likewise.
29295 * docs/grub.texi: Likewise.
29296 * docs/texinfo.tex: Likewise.
29297 * disk/fs_uuid.c: Likewise.
29298 * disk/lvm.c: Likewise.
29299 * disk/scsi.c: Likewise.
29300 * disk/ata.c: Likewise.
29301 * disk/ieee1275/ofdisk.c: Likewise.
29302 * disk/i386/pc/biosdisk.c: Likewise.
29303 * disk/host.c: Likewise.
29304 * disk/raid.c: Likewise.
29305 * disk/efi/efidisk.c: Likewise.
29306 * disk/usbms.c: Likewise.
29307 * disk/memdisk.c: Likewise.
29308 * disk/loopback.c: Likewise.
29309 * kern/powerpc/dl.c: Likewise.
29310 * kern/device.c: Likewise.
29311 * kern/dl.c: Likewise.
29312 * kern/sparc64/dl.c: Likewise.
29313 * kern/ieee1275/ieee1275.c: Likewise.
29314 * kern/term.c: Likewise.
29315 * kern/fs.c: Likewise.
29316 * kern/i386/dl.c: Likewise.
29317 * kern/i386/pc/startup.S: Likewise.
29318 * kern/i386/pc/init.c: Likewise.
29319 * kern/i386/pc/mmap.c: Likewise.
29320 * kern/i386/pc/lzo1x.S: Likewise.
29321 * kern/i386/ieee1275/init.c: Likewise.
29322 * kern/i386/realmode.S: Likewise.
29323 * kern/i386/tsc.c: Likewise.
29324 * kern/partition.c: Likewise.
29325 * kern/corecmd.c: Likewise.
29326 * kern/file.c: Likewise.
29327 * kern/efi/efi.c: Likewise.
29328 * kern/efi/init.c: Likewise.
29329 * kern/efi/mm.c: Likewise.
29330 * kern/main.c: Likewise.
29331 * kern/err.c: Likewise.
29332 * kern/env.c: Likewise.
29333 * kern/disk.c: Likewise.
29334 * kern/generic/millisleep.c: Likewise.
29335 * kern/generic/rtc_get_time_ms.c: Likewise.
29336 * kern/misc.c: Likewise.
29337 * kern/parser.c: Likewise.
29338 * genmk.rb: Likewise.
29339 * configure.ac: Likewise.
29340 * boot/i386/pc/diskboot.S: Likewise.
29341 * boot/i386/pc/pxeboot.S: Likewise.
29342 * boot/i386/pc/boot.S: Likewise.
29343 * boot/i386/pc/lnxboot.S: Likewise.
29344 * boot/i386/pc/cdboot.S: Likewise.
29345 * parttool/pcpart.c: Likewise.
29346 * video/readers/tga.c: Likewise.
29347 * video/video.c: Likewise.
29348 * video/bitmap.c: Likewise.
29349 * lib/envblk.c: Likewise.
29350 * lib/i386/setjmp.S: Likewise.
29351 * fs/xfs.c: Likewise.
29352 * fs/afs.c: Likewise.
29353 * fs/fat.c: Likewise.
29354 * fs/ntfs.c: Likewise.
29355 * fs/udf.c: Likewise.
29356 * fs/affs.c: Likewise.
29357 * fs/iso9660.c: Likewise.
29358 * fs/hfs.c: Likewise.
29359 * fs/fshelp.c: Likewise.
29360 * fs/ext2.c: Likewise.
29361 * fs/jfs.c: Likewise.
29362 * fs/reiserfs.c: Likewise.
29363 * fs/hfsplus.c: Likewise.
29364 * fs/minix.c: Likewise.
29365 * fs/cpio.c: Likewise.
29366 * fs/sfs.c: Likewise.
29367 * fs/ufs.c: Likewise.
29368 * efiemu/prepare.c: Likewise.
29369 * efiemu/loadcore_common.c: Likewise.
29370 * efiemu/runtime/efiemu.sh: Likewise.
29371 * efiemu/runtime/efiemu.S: Likewise.
29372 * efiemu/runtime/efiemu.c: Likewise.
29373 * efiemu/pnvram.c: Likewise.
29374 * efiemu/main.c: Likewise.
29375 * efiemu/i386/pc/cfgtables.c: Likewise.
29376 * efiemu/i386/loadcore64.c: Likewise.
29377 * efiemu/i386/loadcore32.c: Likewise.
29378 * efiemu/loadcore.c: Likewise.
29379 * efiemu/symbols.c: Likewise.
29380 * efiemu/mm.c: Likewise.
29381 * include/grub/autoefi.h: Likewise.
29382 * include/grub/datetime.h: Likewise.
29383 * include/grub/term.h: Likewise.
29384 * include/grub/hfs.h: Likewise.
29385 * include/grub/lvm.h: Likewise.
29386 * include/grub/i386/tsc.h: Likewise.
29387 * include/grub/i386/linux.h: Likewise.
29388 * include/grub/i386/xnu.h: Likewise.
29389 * include/grub/i386/efiemu.h: Likewise.
29390 * include/grub/i386/pc/biosdisk.h: Likewise.
29391 * include/grub/i386/pc/memory.h: Likewise.
29392 * include/grub/i386/pc/vbe.h: Likewise.
29393 * include/grub/parttool.h: Likewise.
29394 * include/grub/video.h: Likewise.
29395 * include/grub/memory.h: Likewise.
29396 * include/grub/fs.h: Likewise.
29397 * include/grub/partition.h: Likewise.
29398 * include/grub/xnu.h: Likewise.
29399 * include/grub/efi/api.h: Likewise.
29400 * include/grub/efi/pe32.h: Likewise.
29401 * include/grub/efi/memory.h: Likewise.
29402 * include/grub/multiboot.h: Likewise.
29403 * include/grub/usbdesc.h: Likewise.
29404 * include/grub/multiboot2.h: Likewise.
29405 * include/grub/acpi.h: Likewise.
29406 * include/grub/efiemu/efiemu.h: Likewise.
29407 * include/grub/disk.h: Likewise.
29408 * include/grub/ieee1275/ieee1275.h: Likewise.
29409 * include/grub/net.h: Likewise.
29410 * include/grub/machoload.h: Likewise.
29411 * include/grub/macho.h: Likewise.
29412 * include/multiboot.h: Likewise.
29413 * genmoddep.awk: Likewise.
29414 * normal/main.c: Likewise.
29415 * normal/menu_entry.c: Likewise.
29416 * normal/menu_viewer.c: Likewise.
29417 * normal/completion.c: Likewise.
29418 * normal/cmdline.c: Likewise.
29419 * normal/misc.c: Likewise.
29420 * normal/datetime.c: Likewise.
29421 * bus/usb/usbtrans.c: Likewise.
29422 * bus/usb/ohci.c: Likewise.
29423 * bus/usb/uhci.c: Likewise.
29424 * bus/usb/usb.c: Likewise.
29425 * mmap/efi/mmap.c: Likewise.
29426 * mmap/i386/pc/mmap_helper.S: Likewise.
29427 * mmap/i386/pc/mmap.c: Likewise.
29428 * mmap/i386/mmap.c: Likewise.
29429 * mmap/i386/uppermem.c: Likewise.
29430 * mmap/mmap.c: Likewise.
29431 * commands/acpi.c: Likewise.
29432 * commands/echo.c: Likewise.
29433 * commands/blocklist.c: Likewise.
29434 * commands/loadenv.c: Likewise.
29435 * commands/usbtest.c: Likewise.
29436 * commands/boot.c: Likewise.
29437 * commands/parttool.c: Likewise.
29438 * commands/search.c: Likewise.
29439 * commands/cat.c: Likewise.
29440 * commands/i386/pc/play.c: Likewise.
29441 * commands/i386/pc/drivemap.c: Likewise.
29442 * commands/i386/pc/vbeinfo.c: Likewise.
29443 * commands/i386/pc/acpi.c: Likewise.
29444 * commands/i386/pc/vbetest.c: Likewise.
29445 * commands/ls.c: Likewise.
29446 * commands/cmp.c: Likewise.
29447 * commands/test.c: Likewise.
29448 * commands/efi/acpi.c: Likewise.
29449 * commands/gptsync.c: Likewise.
29450 * commands/help.c: Likewise.
29451 * partmap/amiga.c: Likewise.
29452 * partmap/apple.c: Likewise.
29453 * partmap/acorn.c: Likewise.
29454 * partmap/pc.c: Likewise.
29455 * partmap/sun.c: Likewise.
29456 * partmap/gpt.c: Likewise.
29457 * script/sh/lexer.c: Likewise.
29458 * script/sh/function.c: Likewise.
29459 * font/font.c: Likewise.
29460 * font/font_cmd.c: Likewise.
29461 * loader/powerpc/ieee1275/linux.c: Likewise.
29462 * loader/efi/chainloader.c: Likewise.
29463 * loader/multiboot_loader.c: Likewise.
29464 * loader/macho.c: Likewise.
29465 * loader/i386/multiboot.c: Likewise.
29466 * loader/i386/linux.c: Likewise.
29467 * loader/i386/pc/linux.c: Likewise.
29468 * loader/i386/pc/multiboot2.c: Likewise.
29469 * loader/i386/pc/chainloader.c: Likewise.
29470 * loader/i386/pc/xnu.c: Likewise.
29471 * loader/i386/bsd_trampoline.S: Likewise.
29472 * loader/i386/efi/linux.c: Likewise.
29473 * loader/i386/multiboot_elfxx.c: Likewise.
29474 * loader/i386/bsd_helper.S: Likewise.
29475 * loader/i386/bsd.c: Likewise.
29476 * loader/i386/linux_trampoline.S: Likewise.
29477 * loader/i386/xnu_helper.S: Likewise.
29478 * loader/i386/xnu.c: Likewise.
29479 * loader/i386/bsd_pagetable.c: Likewise.
29480 * loader/i386/multiboot_helper.S: Likewise.
29481 * loader/xnu.c: Likewise.
29482 * loader/xnu_resume.c: Likewise.
29483 * io/gzio.c: Likewise.
29484 * term/efi/console.c: Likewise.
29485 * term/terminfo.c: Likewise.
29486 * term/ieee1275/ofconsole.c: Likewise.
29487 * term/i386/pc/serial.c: Likewise.
29488 * term/i386/pc/vesafb.c: Likewise.
29489 * term/i386/pc/vga.c: Likewise.
29490 * term/usb_keyboard.c: Likewise.
29491 * term/gfxterm.c: Likewise.
29492 * aclocal.m4: Likewise.
29493 * util/lvm.c: Likewise.
29494 * util/grub.d/30_os-prober.in: Likewise.
29495 * util/grub.d/10_hurd.in: Likewise.
29496 * util/console.c: Likewise.
29497 * util/grub-macho2img.c: Likewise.
29498 * util/grub-probe.c: Likewise.
29499 * util/hostfs.c: Likewise.
29500 * util/i386/pc/grub-mkimage.c: Likewise.
29501 * util/i386/pc/grub-setup.c: Likewise.
29502 * util/i386/efi/grub-mkimage.c: Likewise.
29503 * util/grub-mkconfig.in: Likewise.
29504 * util/raid.c: Likewise.
29505 * util/resolve.c: Likewise.
29506 * util/grub-mkdevicemap.c: Likewise.
29507 * util/grub-emu.c: Likewise.
29508 * util/getroot.c: Likewise.
29509 * util/hostdisk.c: Likewise.
29510 * util/usb.c: Likewise.
29511 * util/grub-editenv.c: Likewise.
29512 * util/misc.c: Likewise.
29513
d2d49665 295142009-06-10 Felix Zielcke <fzielcke@z-51.de>
29515
29516 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
29517 `genparttoollist.sh'.
29518 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
29519 Add `*.sh' to the list find searches for and change `mdate.sh'
29520 to `mdate-sh'.
29521
fe052e37 295222009-06-10 Pavel Roskin <proski@gnu.org>
29523
2763ac18 29524 * include/grub/multiboot2.h: Provide compatibility defines for
29525 multiboot2.h.
29526 * include/multiboot2.h: Include stdint.h only if needed, using
29527 angle brackets.
29528 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
29529 grub/multiboot2.h.
29530 * loader/ieee1275/multiboot2.c: Likewise.
29531 * loader/multiboot2.c: Likewise.
29532 * loader/multiboot_loader.c: Likewise.
29533
437e6adc 29534 * configure.ac: Use -nostdlib when probing for the target. It
29535 should not be required to have libc for the target.
29536
06a6836c 29537 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
29538 they fail without libc headers for the target.
29539 * include/grub/powerpc/libgcc.h: Use weak attribute for all
29540 exports.
29541 * include/grub/sparc64/libgcc.h: Likewise. Don't use
29542 preprocessor conditionals.
29543
fe052e37 29544 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
29545 build system doesn't need to be aware of the tar.c internals.
29546
afd22553 295472009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 29548
afd22553 29549 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 29550
6b787c4f 295512009-06-09 Robert Millan <rmh.grub@aybabtu.com>
29552
29553 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
29554 disk limit to 26 for IDE, Virtio, Xen and SCSI.
29555
295562009-06-09 Felix Zielcke <fzielcke@z-51.de>
29557
29558 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 29559 aren't available if ata.mod gets used.
6b787c4f 29560
473d1e45 295612009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 29562
473d1e45 29563 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 29564 initialising controller.
473d1e45 29565 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 29566
255a27d4 295672009-06-08 Felix Zielcke <fzielcke@z-51.de>
29568
29569 * util/i386/pc/grub-install.in: Add a parameter --disk-module
29570 to choose between ata and biosdisk module on i386-pc.
29571
473d1e45 295722009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 29573
d55842d8 29574 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
29575 Subclass and Programming Interface fields in terms of the 3 byte
29576 Class Code register.
29577 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
29578
fa5db0b1 29579 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
29580 interface is OHCI. Add grub_dprintf for symmetry with
29581 bus/usb/uhci.c.
29582 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
29583 interface is UHCI. Add interf variable for programming
29584 interface. Print interface with class/subclass.
29585
c0947beb 29586 * bus/usb/ohci.c: Set interf with correct field.
29587
69da8877 29588 * bus/usb/uhci.c: Remove unneeded doubled lines.
29589 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
29590 Remove whitespace inside comment.
29591
9e172e30 295922009-06-08 Robert Millan <rmh.grub@aybabtu.com>
29593
29594 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
29595 as fallback an equivalent option without depth.
29596
de65ee2b 295972009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
29598
29599 Not fail if unable to retrieve C/H/S on LBA disks
29600
473d1e45 29601 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 29602 if unable to retrieve C/H/S on LBA disks
29603
b57ea2c9 296042009-06-08 Pavel Roskin <proski@gnu.org>
29605
29606 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
29607 about aliasing.
29608
af361263 296092009-06-08 Felix Zielcke <fzielcke@z-51.de>
29610
29611 * Makefile.in (uninstall): Remove all $lib_DATA files.
29612
4c9ec6b3 296132009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
29614
29615 Bugfix: install on partitionless device
29616
29617 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
29618 is a whole disk
29619
e76fc924 296202009-06-08 Felix Zielcke <fzielcke@z-51.de>
29621
29622 * Makefile.in (uninstall): Remove all $include_DATA files.
29623
ba5a0d05 296242009-06-08 Felix Zielcke <fzielcke@z-51.de>
29625
29626 * commands/true.c: New file. Implement the true and false commands.
29627 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
29628 (true_mod_SOURCES): New variable.
29629 (true_mod_CFLAGS): Likewise.
29630 (true_mod_LDFLAGS): Likewise.
29631
c8048e32 296322009-06-05 Colin D Bennett <colin@gibibit.com>
29633
29634 Optimized font character lookup using binary search instead of linear
29635 search. Fonts now are required to have the character index ordered by
29636 code point.
29637
29638 * font/font.c (load_font_index): Verify that fonts have ordered
29639 character indices.
29640 (find_glyph): Use binary search instead of linear search to find a
29641 character in a font.
29642
408305be 296432009-06-05 Michael Scherer <misc@mandriva.org>
29644
29645 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
29646 uses case sensitive btree.
29647 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
29648 only for case insensitive filesystems.
29649
8ee1e0d9 296502009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
29651
29652 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
29653 * conf/common.rmk (search_mod_CFLAGS): likewise
29654
a9966eb1 296552009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29656
473d1e45 29657 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 29658 compensate a compiler bug
29659
9e7100fb 296602009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29661
473d1e45 29662 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 29663 instead of '\b'
473d1e45 29664
ede21d71 296652009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29666
29667 Definitions for creating asm symbols with Apple's CC
29668
29669 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
29670 [APPLE_CC] (VARIABLE): likewise
29671
9dbf7653 296722009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29673
29674 Disable lnxboot.img when compiled
29675 with Apple's CC
29676
29677 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
29678 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
29679 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
29680 [! APPLE_CC] (CODE_LENG): skip
29681 [! APPLE_CC] (setup_sects): likewise
29682 [! APPLE_CC]: skip filling
473d1e45 29683
e93cdc3d 296842009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29685
29686 Address in trampolines based on 32-bit registers when compiled
29687 with Apple's CC
29688
473d1e45 29689 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 29690 for addresses
29691 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
29692
6c688477 296932009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29694
29695 Avoid aliases when compiling with Apple's CC for PCBIOS machine
29696
29697 * kern/misc.c [APPLE_CC] (memcpy): new function
29698 [APPLE_CC] (memmove): likewise
29699 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 29700 (memcpy): define alias conditionally on !APPLE_CC
6c688477 29701 (memset): likewise
29702 (abort): likewise
29703 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
29704 APPLE_CC are defined
29705 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
29706 (grub_assert_fail): make prototype conditional
29707
e37ffc5c 297082009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29709
29710 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
29711
473d1e45 29712 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
29713 grub-macho2img
e37ffc5c 29714 (CLEANFILES): add grub-macho2img
29715 (grub_macho2img_SOURCES): new variable
29716 * kern/i386/pc/startup.S (bss_start): new variable
29717 (bss_end): likewise
29718 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
29719 * util/grub-macho2img.c: new file
29720
cf00df31 297212009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29722
29723 Use objconv when compiling with Apple's CC
29724
29725 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
29726 (efiemu64.o): likewise
29727 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
29728 when compiling with Apple's CC
29729 (efiemu64_s.o): likewise
29730 * configure.ac: check for objconv when compiling with Apple's CC
29731 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 29732
d119a20c 297332009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29734
29735 Define segment as well as section when compiling with
29736 Apple's CC
29737
29738 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
29739 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
29740 (efiemu_convert_pointer): likewise
29741 (efiemu_set_virtual_address_map): likewise
29742 (efiemu_convert_pointer): likewise
29743 (efiemu_getcrc32): likewise
29744 (init_crc32_table): likewise
29745 (reflect): likewise
29746 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
29747 (GRUB_MOD_DEP): likewise
473d1e45 29748
c8600122 297492009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29750
29751 Allow a compilation without -mcmodel=large
29752
29753 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
29754 when compiled without -mcmodel=large
473d1e45 29755 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 29756 without -mcmodel=large
473d1e45 29757 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 29758 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 29759
e8df1d4e 297602009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29761
29762 Remove nested functions in efiemu core
29763
29764 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 29765
cc6c3ac1 297662009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29767
29768 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
29769
29770 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
29771 temporary storage
473d1e45 29772 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
29773 using Apple's CC
cc6c3ac1 29774 (grub_cpu_is_tsc_supported): likewise
29775 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 29776
3e325901 297772009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29778
29779 Absolute addressing through constant with Apple's cc
29780
29781 * kern/i386/pc/startup.S: Define necessary constants
29782 and address through it when using ABS with Apple's CC
29783 * boot/i386/pc/diskboot.S: likewise
29784 * boot/i386/pc/boot.S: likewise
29785 * boot/i386/pc/lnxboot.S: likewise
29786 * boot/i386/pc/cdboot.S: likewise
29787 * mmap/i386/pc/mmap_helper.S: likewise
29788 * commands/i386/pc/drivemap_int13h.S: likewise
29789
2b167a72 297902009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29791
29792 Check if compiler is apple cc
29793
29794 * Makefile.in (ASFLAGS): new variable
29795 (TARGET_ASFLAGS): likewise
29796 (TARGET_MODULE_FORMAT): likewise
29797 (TARGET_APPLE_CC): likewise
29798 (OBJCONV): likewise
29799 (TARGET_IMG_CFLAGS): likewise
29800 (TARGET_CPPFLAGS): add includedir
29801 * configure.ac: call grub_apple_cc and grub_apple_target_cc
29802 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
29803 Check for linker script only if compiler isn't Apple's CC
29804 (TARGET_MODULE_FORMAT): set
29805 (TARGET_APPLE_CC): likewise
29806 (TARGET_ASFLAGS): likewise
29807 (ASFLAGS): likewise
29808 Check for objcopy only if compiler isn't Apple's CC
29809 Check for BSS symbol only if compiler isn't Apple's CC
29810 * genmk.rb: adapt nm options if we use Apple's utils
29811 * aclocal.m4 (grub_apple_cc): new test
29812 (grub_apple_target_cc): likewise
473d1e45 29813
fb14123e 298142009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29815
29816 Simplify sed expressions and improve awk
29817
29818 * Makefile.in (install-local): simplify sed expression
29819 * gencmdlist.sh: likewise
29820 * genmoddep.awk: avoid adding module as a dependency of itself
29821
5b889789 298222009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29823
29824 Add missing start symbols
29825
29826 * boot/i386/pc/boot.S: add start
fb14123e 29827 * boot/i386/pc/pxeboot.S: likewise
473d1e45 29828
fd2bf2e3 298292009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29830
29831 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 29832
29833 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 29834 (relocate_addresses): consider both r_addend and value at offset
29835 (make_mods_section): zerofill modinfo and header
29836 (convert_elf): write prefix here
473d1e45 29837
5389763d 298382009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29839
29840 Use .asciz instead of .string
29841
29842 * i386/pc/diskboot.S: use .asciz instead of .string
29843 * i386/pc/boot.S: likewise
29844 * include/grub/dl.h (GRUB_MOD_DEP): likewise
29845 (GRUB_MOD_NAME): likewise
473d1e45 29846
3eb5ed4e 298472009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29848
29849 gfxpayload support
29850
29851 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
29852 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
29853 (grub_video_setup): remove
29854 (grub_video_set_mode): new prototype
29855 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
29856 (vid_mode): remove
29857 (linux_vesafb_res): compile only on PCBIOS
29858 (grub_linux_boot): support gfxpayload
29859 * loader/i386/pc/xnu.c (video_hook): new function
29860 (grub_xnu_set_video): support gfxpayload
29861 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
29862 (DEFAULT_VIDEO_HEIGHT): likewise
29863 (DEFAULT_VIDEO_FLAGS): likewise
29864 (DEFAULT_VIDEO_MODE): new definition
29865 (video_hook): new function
29866 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 29867 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 29868 loading xnu
29869 * video/video.c (grub_video_setup): removed
473d1e45 29870 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 29871 grub_video_setup
29872
4b0e1143 298732009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29874
29875 Avoid calling biosdisk in drivemap
29876
29877 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
29878 (revparse_biosdisk): likewise
29879 (list_mappings): derive name from id directly
29880 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 29881
fda6cb98 298822009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
29883
29884 Script fixes
29885
29886 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
29887 (grub_lexer_param): add tokenonhold
29888 (grub_script_create_cmdline): remove cmdline. All callers updated
29889 (grub_script_function_create): make functionname
29890 grub_script_arg. All callers updated
29891 (grub_script_execute_argument_to_string): new prototype
29892 * kern/parser.c (state_transitions): reorder
29893 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 29894 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 29895 make global
29896 (grub_script_execute_cmdline): use new format
29897 * script/sh/function.c (grub_script_function_create): make functionname
29898 grub_script_arg. All callers updated
473d1e45 29899 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 29900 (grub_script_yylex): remove
29901 (grub_script_yylex2): renamed to ...
29902 (grub_script_yylex): ...renamed
29903 parse the expressions like a${b}c
29904 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
29905 (GRUB_PARSER_TOKEN_VAR): remove
29906 (GRUB_PARSER_TOKEN_NAME): likewise
29907 ("if"): declare as typeless
29908 ("while"): likewise
29909 ("function"): likewise
29910 ("else"): likewise
29911 ("then"): likewise
29912 ("fi"): likewise
29913 (text): remove
29914 (argument): likewise
29915 (script): accept empty scripts and make exit on error
29916 (arguments): use GRUB_PARSER_TOKEN_ARG
29917 (function): likewise
29918 (command): move error handling to script
29919 (menuentry): move grub_script_lexer_ref before
473d1e45 29920 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 29921 argument. All callers updated
29922
f4448a07 299232009-06-04 Robert Millan <rmh.grub@aybabtu.com>
29924
29925 Prevent GRUB from probing floppies during boot.
29926
29927 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
29928 * commands/search.c (options): Add --no-floppy.
29929 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
29930 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
29931 --no-floppy when searching for UUIDs.
29932
2bf5885a 299332009-06-04 Robert Millan <rmh.grub@aybabtu.com>
29934
29935 Simplify the code duplication in commands/search.c.
29936
29937 * commands/search.c (search_label, search_fs_uuid): Merge into ...
29938 (search_fs): ... this. Update all users.
29939
f6fd460a 299402009-06-03 Felix Zielcke <fzielcke@z-51.de>
29941
29942 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
29943
cbb3c83e 299442009-05-28 Pavel Roskin <proski@gnu.org>
29945
57788cfd 29946 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
29947 Remove the original symlink explicitly.
29948
cbb3c83e 29949 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
29950 just one slash. That's how grub_fshelp_find_file() does it.
29951
cd0d5e30 299522009-05-26 Pavel Roskin <proski@gnu.org>
29953
f0f8bbe2 29954 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
29955 to `str'.
29956
cd0d5e30 29957 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
29958 possibly unused.
29959
8c2cab51 299602009-05-25 Christian Franke <franke@computer.org>
29961
29962 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
29963 register.
29964 (grub_atapi_identify): Add wait after drive select.
29965 (grub_ata_identify): Do more strict status register check before
29966 calling grub_atapi_identify (). Suppress error message if status
29967 register is 0x00 after command failure. Add status register
29968 check after PIO read to avoid bogus identify due to stuck DRQ.
29969 Thanks to Pavel Roskin for testing.
29970 (grub_device_initialize): Remove unsafe status register check.
29971 Thanks to 'phcoder' for problem report and patch.
29972 Prevent sign extension in debug message.
29973
230c0ad6 299742009-05-23 Colin D Bennett <colin@gibibit.com>
29975
29976 Cleaned up `include/grub/normal.h'. Grouped prototypes by
29977 definition file, and functions defined in `normal/menu.c' have had
29978 their prototypes moved to `include/grub/menu.h' for consistency.
29979
29980 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
29981 from normal.h.
29982 (grub_menu_get_entry): Likewise.
29983 (grub_menu_get_timeout): Likewise.
29984 (grub_menu_set_timeout): Likewise.
29985 (grub_menu_execute_entry): Likewise.
29986 (grub_menu_execute_with_fallback): Likewise.
29987 (grub_menu_entry_run): Likewise.
29988
29989 * include/grub/normal.h: Re-ordered and grouped function
29990 prototypes by file that the function is defined in.
29991 (grub_menu_execute_callback): Removed; moved to menu.h.
29992 (grub_menu_get_entry): Likewise.
29993 (grub_menu_get_timeout): Likewise.
29994 (grub_menu_set_timeout): Likewise.
29995 (grub_menu_execute_entry): Likewise.
29996 (grub_menu_execute_with_fallback): Likewise.
29997 (grub_menu_entry_run): Likewise.
29998 (grub_menu_addentry): Renamed from this ...
29999 (grub_normal_add_menu_entry): ... to this.
30000
30001 * normal/main.c (grub_menu_addentry): Renamed from this ...
30002 (grub_normal_add_menu_entry): ... to this.
30003
30004 * script/sh/execute.c (grub_script_execute_menuentry): Update
30005 reference to renamed grub_menu_addentry function.
30006
861f03a5 300072009-05-23 Felix Zielcke <fzielcke@z-51.de>
30008
30009 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
30010
96b1619a 300112009-05-22 Pavel Roskin <proski@gnu.org>
30012
bf6a5fb2 30013 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
30014 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
30015 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
30016 compiling for the i386 targets, but not for the utilities.
30017
96b1619a 30018 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
30019 to grub_uint8_t.
30020 (grub_root_drive): Likewise.
30021 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
30022 remove alignment.
30023 (grub_root_drive): Change size to byte.
30024 (grub_start_addr): Remove.
30025 (grub_end_addr): Likewise.
30026 (grub_apm_bios_info): Likewise.
30027
b729776b 300282009-05-21 Felix Zielcke <fzielcke@z-51.de>
30029
30030 * normal/i386: Remove.
30031 * normal/powerpc: Likewise.
30032 * normal/sparc64: Likewise.
30033 * normal/x86_64: Likewise.
30034
0a15ce80 300352009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
30036
30037 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 30038 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 30039 * loader/i386/xnu_helper.S: Likewise
d6da58e6 30040
33db9015 300412009-05-18 Colin D Bennett <colin@gibibit.com>
30042
d6da58e6 30043 Display error messages when parsing a Lua statement fails.
30044 Previously, executing a syntactically invalid statement like
30045 ")foo" or "bar;" would silently fail.
33db9015 30046
30047 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 30048 (grub_lua_parse_line): Improved reporting of Lua parser and
30049 execution errors.
33db9015 30050
46422c89 300512009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
30052
30053 Remove -Werror which causes build to fail on some systems
30054
30055 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
30056 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
30057 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 30058
22f53a96 300592009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
30060
30061 trampoline for linux on 64-bit platform
30062
18f547ad 30063 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
30064 loader/i386/efi/linux_trampoline.S
30065 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 30066 declaration
d6da58e6 30067 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
30068 here
22f53a96 30069 * loader/i386/linux_trampoline.S: moved here
d6da58e6 30070 * loader/i386/efi/linux.c (allocate_pages): reserve space for
30071 trampoline
22f53a96 30072 (jumpvector): removed
30073 (grub_linux_trampoline_start): new declaration
30074 (grub_linux_trampoline_end): likewise
30075 (grub_linux_boot): use trampoline when on 64-bit platform
30076 * loader/i386/linux.c: likewise
30077
cb5a0f40 300782009-05-16 Pavel Roskin <proski@gnu.org>
30079
30080 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
30081 const to avoid a warning.
30082 (grub_lua_setenv): Likewise.
30083 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
30084 lmsg to fix a warning.
30085
334f2c28 300862009-05-16 Felix Zielcke <fzielcke@z-51.de>
30087
30088 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 30089 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
30090 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
30091 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
30092 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
30093 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
30094 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
30095 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 30096
59e5d3ec 300972009-05-16 Felix Zielcke <fzielcke@z-51.de>
30098
30099 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
30100
9d87a1ba 301012009-05-16 Bean <bean123ch@gmail.com>
30102
30103 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
30104 (lua_mod_SOURCES): New variable.
30105 (lua_mod_CFLAGS): Likewise.
30106 (lua_mod_LDFLAGS): Likewise.
30107
30108 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
30109 (setjmp_mod_SOURCES): New variable.
30110 (setjmp_mod_CFLAGS): Likewise.
30111 (setjmp_LDFLAGS): Likewise.
30112
30113 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
30114 (setjmp_mod_SOURCES): New variable.
30115 (setjmp_mod_CFLAGS): Likewise.
30116 (setjmp_LDFLAGS): Likewise.
30117
30118 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
30119 (setjmp_mod_SOURCES): New variable.
30120 (setjmp_mod_CFLAGS): Likewise.
30121 (setjmp_LDFLAGS): Likewise.
30122
30123 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
30124 (setjmp_mod_SOURCES): New variable.
30125 (setjmp_mod_CFLAGS): Likewise.
30126 (setjmp_LDFLAGS): Likewise.
30127
30128 * normal/i386/setjmp.S: Moved from here ...
30129 * lib/i386/setjmp.S: ... Moved here
30130 * normal/x86_64/setjmp.S: Moved from here ...
30131 * lib/x86_64/setjmp.S: ... Moved here
30132 * normal/powerpc/setjmp.S: Moved from here ...
30133 * lib/powerpc/setjmp.S: ... Moved here
30134 * normal/sparc64/setjmp.S: Moved from here ...
30135 * lib/sparc64/setjmp.S: ... Moved here
30136
30137 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
30138 returns_twice in mingw.
30139
30140 * script/lua/grub_lib.c: New file.
30141 * script/lua/grub_lib.h: Likewise.
30142 * script/lua/grub_lua.h: Likewise.
30143 * script/lua/grub_main.c: Likewise.
30144 * script/lua/lapi.c: Likewise.
30145 * script/lua/lapi.h: Likewise.
30146 * script/lua/lauxlib.c: Likewise.
30147 * script/lua/lauxlib.h: Likewise.
30148 * script/lua/lbaselib.c: Likewise.
30149 * script/lua/lcode.c: Likewise.
30150 * script/lua/lcode.h: Likewise.
30151 * script/lua/ldblib.c: Likewise.
30152 * script/lua/ldebug.c: Likewise.
30153 * script/lua/ldebug.h: Likewise.
30154 * script/lua/ldo.c: Likewise.
30155 * script/lua/ldo.h: Likewise.
30156 * script/lua/ldump.c: Likewise.
30157 * script/lua/lfunc.c: Likewise.
30158 * script/lua/lfunc.h: Likewise.
30159 * script/lua/lgc.c: Likewise.
30160 * script/lua/lgc.h: Likewise.
30161 * script/lua/linit.c: Likewise.
30162 * script/lua/liolib.c: Likewise.
30163 * script/lua/llex.c: Likewise.
30164 * script/lua/llex.h: Likewise.
30165 * script/lua/llimits.h: Likewise.
30166 * script/lua/lmathlib.c: Likewise.
30167 * script/lua/lmem.c: Likewise.
30168 * script/lua/lmem.h: Likewise.
30169 * script/lua/loadlib.c: Likewise.
30170 * script/lua/lobject.c: Likewise.
30171 * script/lua/lobject.h: Likewise.
30172 * script/lua/lopcodes.c: Likewise.
30173 * script/lua/lopcodes.h: Likewise.
30174 * script/lua/loslib.c: Likewise.
30175 * script/lua/lparser.c: Likewise.
30176 * script/lua/lparser.h: Likewise.
30177 * script/lua/lstate.c: Likewise.
30178 * script/lua/lstate.h: Likewise.
30179 * script/lua/lstring.c: Likewise.
30180 * script/lua/lstring.h: Likewise.
30181 * script/lua/lstrlib.c: Likewise.
30182 * script/lua/ltable.c: Likewise.
30183 * script/lua/ltable.h: Likewise.
30184 * script/lua/ltablib.c: Likewise.
30185 * script/lua/ltm.c: Likewise.
30186 * script/lua/ltm.h: Likewise.
30187 * script/lua/lua.h: Likewise.
30188 * script/lua/luaconf.h: Likewise.
30189 * script/lua/lualib.h: Likewise.
30190 * script/lua/lundump.c: Likewise.
30191 * script/lua/lundump.h: Likewise.
30192 * script/lua/lvm.c: Likewise.
30193 * script/lua/lvm.h: Likewise.
30194 * script/lua/lzio.c: Likewise.
30195 * script/lua/lzio.h: Likewise.
30196
5e898c9d 301972009-05-16 Bean <bean123ch@gmail.com>
30198
30199 * include/grub/kernel.h (grub_module_header_types): Add type
30200 OBJ_TYPE_CONFIG.
30201
30202 * kern/main.c (grub_load_config): New function.
30203 (grub_main): Call grub_load_config to read boot config.
30204
30205 * grub-mkimage (generate_image): New parameter config_path.
30206 (options): New option --config.
30207 (main): Parse --config option, and pass it to generate_image.
30208
cf353a47 302092009-05-14 Christian Franke <franke@computer.org>
30210
30211 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
30212 This fixes build on Cygwin.
30213
3834887f 302142009-05-14 Pavel Roskin <proski@gnu.org>
30215
30216 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
30217 jump. This saves two bytes, so the typical case of 2 swapped
30218 drives would fit 32 bytes.
30219
8090fc01 302202009-05-13 Pavel Roskin <proski@gnu.org>
30221
ac963883 30222 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
30223 grub_uint32_t to avoid a warning.
30224
8090fc01 30225 * loader/i386/linux.c (allocate_pages): When assigning
30226 real_mode_mem, cast through grub_size_t to fix a warning. The
30227 code already makes sure that the value would fit a pointer.
30228 (grub_linux_setup_video): Cast render_target->data to
30229 grub_size_t to fix a warning.
30230
18f547ad 302312009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 30232
30233 * commands/i386/pc/drivemap.c: New file - implement drivemap
30234 command.
30235 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
30236 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
30237
6f6a8b28 302382009-05-13 Pavel Roskin <proski@gnu.org>
30239
30240 * util/i386/pc/grub-setup.c (setup): Remove unused variable
30241 embedding_area_exists.
30242
15fbf4c4 302432009-05-13 Robert Millan <rmh.grub@aybabtu.com>
30244
30245 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
30246 it easier to understand / work with.
59978c8a 30247 Improve warning messages for cases where there's no embedding area,
30248 or when it is too small (or core.img too large).
15fbf4c4 30249
238e871f 302502009-05-13 Pavel Roskin <proski@gnu.org>
30251
0ab3a9a4 30252 * loader/i386/pc/multiboot2.c: Add necessary includes for
30253 grub_multiboot2_real_boot().
30254
a2c8c5f8 30255 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
30256 PX record is always little-endian. We only need the lower 2
30257 bytes of the mode.
30258
faec96af 30259 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
30260 facilitate code reuse.
30261 (grub_cpio_mount): Use "struct head", not a char buffer. This
30262 fixes a warning reported by gcc 4.4.
30263
238e871f 30264 * kernel/disk.c (grub_disk_read): Use void pointer for the
30265 buffer.
30266 (grub_disk_write): Use const void pointer for the buffer.
30267 Adjust all callers. Remove unnecessary casts.
30268
901d2f0c 302692009-05-10 Robert Millan <rmh.grub@aybabtu.com>
30270
30271 * util/i386/pc/grub-install.in: Update copyright year.
30272
18f547ad 302732009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 30274
30275 gptsync
30276
30277 * commands/gptsync.c: new file
30278 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
30279 (gptsync_mod_SOURCES): new variable
30280 (gptsync_mod_CFLAGS): likewise
30281 (gptsync_mod_LDFLAGS): likewise
18f547ad 30282 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 30283 new definition
30284 (GRUB_PC_PARTITION_TYPE_HFS): likewise
30285 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
30286 * conf/i386-ieee1275.rmk: likewise
30287 * conf/i386-pc.rmk: likewise
30288 * conf/powerpc-ieee1275.rmk: likewise
30289
b4ba690a 302902009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
30291
30292 Fixed grub-emu
30293
30294 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
30295 (grub_dl_ref): likewise
30296
317e1a44 302972009-05-08 Robert Millan <rmh.grub@aybabtu.com>
30298
30299 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
30300 split in two functions (one for msdos and one for gpt).
30301
041b8094 303022009-05-08 Pavel Roskin <proski@gnu.org>
30303
752473c2 30304 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
30305 not modified.
30306
041b8094 30307 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
30308 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
30309 Initialize them with -1. Add sanity check for bad1. Eliminate
30310 nerr variable.
30311
172800ce 303122009-05-08 David S. Miller <davem@davemloft.net>
30313
30314 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
30315
29aa5e81 303162009-05-06 Robert Millan <rmh.grub@aybabtu.com>
30317
30318 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 30319 existence.
29aa5e81 30320
96613b62 303212009-05-05 Felix Zielcke <fzielcke@z-51.de>
30322
30323 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 30324 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 30325
eef73c8a 303262009-05-05 David S. Miller <davem@davemloft.net>
30327
30328 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
30329
119494b5 303302009-05-05 Pavel Roskin <proski@gnu.org>
30331
30332 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
30333 of grub_dl_ref() and grub_dl_unref().
30334 * commands/parttool.c: Remove preprocessor conditionals around
30335 grub_dl_ref() and grub_dl_unref().
30336 * fs/affs.c: Likewise.
30337 * fs/afs.c: Likewise.
30338 * fs/cpio.c: Likewise.
30339 * fs/ext2.c: Likewise.
30340 * fs/fat.c: Likewise.
30341 * fs/hfs.c: Likewise.
30342 * fs/hfsplus.c: Likewise.
30343 * fs/iso9660.c: Likewise.
30344 * fs/jfs.c: Likewise.
30345 * fs/minix.c: Likewise.
30346 * fs/ntfs.c: Likewise.
30347 * fs/reiserfs.c: Likewise.
30348 * fs/sfs.c: Likewise.
30349 * fs/udf.c: Likewise.
30350 * fs/ufs.c: Likewise.
30351 * fs/xfs.c: Likewise.
30352 * include/grub/dl.h: Likewise.
30353 * loader/xnu.c: Likewise.
30354
de5fd76e 303552009-05-04 Pavel Roskin <proski@gnu.org>
30356
30357 * commands/acpi.c: Remove unused variable my_mod.
30358 * partmap/amiga.c: Likewise.
30359 * partmap/apple.c: Likewise.
30360 * partmap/gpt.c: Likewise.
30361 * partmap/pc.c: Likewise.
30362 * partmap/sun.c: Likewise.
30363 * term/gfxterm.c: Likewise.
30364 * term/i386/pc/vesafb.c: Likewise.
30365 * term/i386/pc/vga.c: Likewise.
30366
983598ad 303672009-05-04 David S. Miller <davem@davemloft.net>
30368
30369 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
30370 pointer args to grub_ieee1275_get_property().
30371
8aadec43 30372 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
30373
9554b15e 30374 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
30375 devices, and do not traverse down under controller nodes.
30376
67e23c90 30377 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
30378 (grub_ofdisk_open): Use it to un-escape "," characters.
30379 * kern/disk.c (find_part_sep): New.
30380 (grub_disk_open): Use it to find the first non-escaped ','
30381 character in the disk name.
30382 * util/ieee1275/devicemap.c (escape_of_path): New.
30383 (grub_util_emit_devicemap_entry): Use it.
30384 * util/sparc64/ieee1275/grub-install.in: Update script to
30385 strip partition specifiers properly by not triggering on
30386 '\' escaped ',' characters.
30387
74bfdd2f 303882009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30389
30390 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
30391 to 0x300.
30392 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
30393 resolutions.
30394 (linux_vesafb_modes): Add a lot of additional modes to the list (based
30395 on documentation from Wikipedia).
30396
4241d2b1 303972009-05-04 Pavel Roskin <proski@gnu.org>
30398
30399 * disk/ata.c: Spelling fixes.
30400 * disk/raid.c: Likewise.
30401 * disk/usbms.c: Likewise.
30402 * disk/dmraid_nvidia.c: Likewise.
30403 * kern/ieee1275/openfw.c: Likewise.
30404 * kern/ieee1275/init.c: Likewise.
30405 * kern/ieee1275/cmain.c: Likewise.
30406 * boot/i386/pc/cdboot.S: Likewise.
30407 * video/readers/png.c: Likewise.
30408 * video/i386/pc/vbe.c: Likewise.
30409 * fs/udf.c: Likewise.
30410 * fs/hfs.c: Likewise.
30411 * fs/reiserfs.c: Likewise.
30412 * efiemu/runtime/efiemu.c: Likewise.
30413 * efiemu/main.c: Likewise.
30414 * efiemu/mm.c: Likewise.
30415 * include/grub/elf.h: Likewise.
30416 * include/grub/xnu.h: Likewise.
30417 * include/grub/usbdesc.h: Likewise.
30418 * include/grub/usb.h: Likewise.
30419 * include/grub/script_sh.h: Likewise.
30420 * include/grub/lib/LzmaEnc.h: Likewise.
30421 * include/grub/efiemu/efiemu.h: Likewise.
30422 * include/grub/command.h: Likewise.
30423 * normal/menu.c: Likewise.
30424 * normal/main.c: Likewise.
30425 * normal/datetime.c: Likewise.
30426 * bus/usb/uhci.c: Likewise.
30427 * mmap/i386/uppermem.c: Likewise.
30428 * mmap/mmap.c: Likewise.
30429 * commands/acpi.c: Likewise.
30430 * commands/test.c: Likewise.
30431 * partmap/apple.c: Likewise.
30432 * font/font.c: Likewise.
30433 * loader/sparc64/ieee1275/linux.c: Likewise.
30434 * loader/macho.c: Likewise.
30435 * loader/i386/bsd_trampoline.S: Likewise.
30436 * loader/i386/bsd.c: Likewise.
30437 * loader/xnu.c: Likewise.
30438 * term/i386/pc/vesafb.c: Likewise.
30439 * term/usb_keyboard.c: Likewise.
30440 * util/resolve.c: Likewise.
30441 * util/getroot.c: Likewise.
30442
0cfc0083 304432009-05-04 Felix Zielcke <fzielcke@z-51.de>
30444
30445 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
30446
7c1d00cd 304472009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30448
30449 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
30450 build error.
30451
b01f0548 304522009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30453
30454 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
30455 parameter only available on BIOS.
30456
ecc3eb22 304572009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
30458
30459 Removed wrong semicolon in declaration
30460
30461 * grub/misc.h (grub_dprintf): remove semicolon
30462
112972a9 304632009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30464
30465 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
30466 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
30467 is done by grub_cmd_linux() now).
30468 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
30469 restore video to text mode.
30470 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
30471 indicates lack of "vga=" parameter. "vga=0" is mapped to
30472 `GRUB_LINUX_VID_MODE_NORMAL'.
30473
afd5c115 304742009-05-04 Felix Zielcke <fzielcke@z-51.de>
30475
30476 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
30477 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
30478 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 30479 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 30480 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
30481 `grub_script.tab.c'.
30482
30483 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30484 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
30485 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30486 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
30487 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
30488
faa517ce 30489 * Makefile.in: Remove duplicated 2008 in Copyright line.
30490
ae0c0bdc 304912009-05-04 Robert Millan <rmh.grub@aybabtu.com>
30492
473d1e45 30493 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 30494 unconditionally.
30495 * include/grub/util/misc.h (grub_util_warn): New declaration.
30496
30497 * util/i386/pc/grub-install.in: Understand --force and pass it down
30498 to grub-setup.
30499
30500 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
30501 down to setup().
30502 (setup): Improve error messages and add warnings when requested to
30503 install in odd layouts. Refuse to install using blocklists unless
30504 --force was set.
30505
18f547ad 305062009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 30507
30508 * disk/raid.c (grub_raid_scan_device): Improve debug message.
30509
6d260daa 305102009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
30511
30512 Updated copyright year
30513
30514 * fs/hfsplus.c: updated copyright year
18f547ad 30515
69f853f8 305162009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
30517
30518 HFS+ UUID
30519
18f547ad 30520 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 30521 in the space previously used by unused3
30522 (grub_hfsplus_uuid): new function
30523 (grub_hfsplus_fs): added uuid field
30524
4c402e73 305252009-05-03 Pavel Roskin <proski@gnu.org>
30526
30527 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
30528 suppress warnings. It's no longer needed.
30529 * disk/host.c: Likewise.
30530 * disk/ata_pthru.c: Likewise.
30531 * disk/loopback.c: Likewise.
30532 * hook/datehook.c: Likewise.
30533 * parttool/pcpart.c: Likewise.
30534 * fs/i386/pc/pxe.c: Likewise.
30535 * fs/ntfscomp.c: Likewise.
30536 * efiemu/main.c: Likewise.
30537 * mmap/mmap.c: Likewise.
30538 * commands/crc.c: Likewise.
30539 * commands/hexdump.c: Likewise.
30540 * commands/hdparm.c: Likewise.
30541 * commands/acpi.c: Likewise.
30542 * commands/echo.c: Likewise.
30543 * commands/minicmd.c: Likewise.
30544 * commands/blocklist.c: Likewise.
30545 * commands/memrw.c: Likewise.
30546 * commands/loadenv.c: Likewise.
30547 * commands/usbtest.c: Likewise.
30548 * commands/lsmmap.c: Likewise.
30549 * commands/boot.c: Likewise.
30550 * commands/parttool.c: Likewise.
30551 * commands/configfile.c: Likewise.
30552 * commands/search.c: Likewise.
30553 * commands/ieee1275/suspend.c: Likewise.
30554 * commands/cat.c: Likewise.
30555 * commands/i386/pc/pxecmd.c: Likewise.
30556 * commands/i386/pc/play.c: Likewise.
30557 * commands/i386/pc/halt.c: Likewise.
30558 * commands/i386/pc/vbeinfo.c: Likewise.
30559 * commands/i386/pc/vbetest.c: Likewise.
30560 * commands/lspci.c: Likewise.
30561 * commands/date.c: Likewise.
30562 * commands/handler.c: Likewise.
30563 * commands/ls.c: Likewise.
30564 * commands/test.c: Likewise.
30565 * commands/cmp.c: Likewise.
30566 * commands/efi/loadbios.c: Likewise.
30567 * commands/efi/fixvideo.c: Likewise.
30568 * commands/halt.c: Likewise.
30569 * commands/help.c: Likewise.
30570 * commands/reboot.c: Likewise.
30571 * hello/hello.c: Likewise.
30572 * script/sh/main.c: Likewise.
30573 * loader/xnu.c: Likewise.
30574 * term/terminfo.c: Likewise.
30575 * term/i386/pc/serial.c: Likewise.
30576 * term/usb_keyboard.c: Likewise.
30577
515b5079 305782009-05-03 David S. Miller <davem@davemloft.net>
30579
30580 * normal/menu.c: Include grub/parser.h
30581
dfc31a22 305822009-05-03 Pavel Roskin <proski@gnu.org>
30583
2fee74f1 30584 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
30585 not char*.
30586 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
30587 Suggested by Javier Martín <lordhabbit@gmail.com>
30588
dfc31a22 30589 * util/i386/pc/grub-mkrescue.in: Allow for the case when
30590 efiemu??.o doesn't exist.
30591 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
30592 copying.
30593
18f547ad 305942009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 30595
30596 FreeBSD 64-bit support
30597
18f547ad 30598 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 30599 and loader/i386/bsd_trampoline.S
30600 (bsd_mod_ASFLAGS): new variable
30601 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
30602 (FREEBSD_MODTYPE_KERNEL64): likewise
30603 (grub_bsd64_trampoline_start): likewise
30604 (grub_bsd64_trampoline_end): likewise
30605 (grub_bsd64_trampoline_selfjump): likewise
30606 (grub_bsd64_trampoline_gdt): likewise
30607 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
30608 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
30609 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
30610 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 30611 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 30612 of "attrib" member
30613 * loader/i386/bsd_pagetable.c: new file
30614 * loader/i386/bsd_trampoline.S: likewise
30615 * loader/i386/bsd.c (ALIGN_QWORD): new macro
30616 (ALIGN_VAR): likewise
30617 (entry_hi): new variable
30618 (kern_end_mdofs): likewise
30619 (is_64bit): likewise
30620 (grub_freebsd_add_meta): use ALIGN_VAR
30621 (grub_e820_mmap): new declaration
30622 (grub_freebsd_add_mmap): new function
30623 (grub_freebsd_add_meta_module): support 64 bit kernels
30624 (grub_freebsd_list_modules): use ALIGN_VAR
30625 (gdt_descriptor): new declaration
30626 (grub_freebsd_boot): support 64 bit kernels
30627 (grub_bsd_elf64_hook): new function
30628 (grub_bsd_load_elf): support elf64
30629
038c5720 306302009-05-03 Bean <bean123ch@gmail.com>
30631
30632 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
30633 after we get the result of if statement.
30634
fc45fb58 306352009-05-03 Bean <bean123ch@gmail.com>
30636
30637 * Makefile.in (enable_efiemu): New variable.
30638
30639 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
30640 set.
30641 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
30642 path.
30643 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
30644 path, add -mno-red-zone option.
30645 (efiemu64_s.o): Likewise.
30646 (efiemu64.o): Use macro $^ for source file.
30647
30648 * configure.ac (--enable-efiemu): New option.
30649
bbee0f2b 306502009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
30651
30652 xnu support
30653
30654 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
30655 (pkglib_MODULES): add xnu.mod
30656 (xnu_mod_SOURCES): new variable
30657 (xnu_mod_CFLAGS): likewise
30658 (xnu_mod_LDFLAGS): likewise
30659 (xnu_mod_ASFLAGS): likewise
30660 * conf/i386-pc.rmk: likewise
30661 * conf/x86_64-efi.rmk: likewise
7dd4a573 30662 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 30663 new declaration
30664 * include/grub/i386/macho.h: new file
30665 * include/grub/i386/xnu.h: likewise
30666 * include/grub/macho.h: likewise
30667 * include/grub/machoload.h: likewise
30668 * include/grub/x86_64/macho.h: likewise
30669 * include/grub/x86_64/xnu.h: likewise
30670 * include/grub/xnu.h: likewise
30671 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
30672 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
30673 * loader/i386/efi/xnu.c: new file
30674 * loader/i386/pc/xnu.c: likewise
30675 * loader/i386/xnu.c: likewise
30676 * loader/i386/xnu_helper.S: likewise
30677 * loader/macho.c: likewise
30678 * loader/xnu.c: likewise
30679 * loader/xnu_resume.c: likewise
30680 * util/grub-dumpdevtree: likewise
30681 * include/grub/i386/pit.h: include grub/err.h
30682 (grub_pit_wait): export
30683 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 30684
5caf964d 306852009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
30686
30687 Efiemu
7dd4a573 30688
5caf964d 30689 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 30690 _linux_efi, linux_efi.
30691 new files in grub-emu
5caf964d 30692 new targets efiemu32.o and efiemu64.o
30693 * loader/linux_normal_efiemu.c: likewise
30694 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 30695 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 30696 files to copy
30697 * include/grub/autoefi.h: new file
7dd4a573 30698 * include/grub/i386/efiemu.h: likewise
5caf964d 30699 * include/grub/i386/pc/efiemu.h: likewise
30700 * include/grub/efi/api.h: add LL suffix when necessary
30701 new definitions relating to tables
30702 * include/grub/efiemu/efiemu.h: new file
30703 * include/grub/efiemu/runtime.h: likewise
30704 * efiemu/prepare.c: likewise
30705 * efiemu/loadcore_common.c: likewise
30706 * efiemu/loadcore64.c: likewise
30707 * efiemu/runtime/efiemu.sh: likewise
30708 * efiemu/runtime/efiemu.S: likewise
30709 * efiemu/runtime/efiemu.c: likewise
30710 * efiemu/runtime/config.h: likewise
30711 * efiemu/prepare32.c: likewise
30712 * efiemu/main.c: likewise
30713 * efiemu/modules/pnvram.c: likewise
30714 * efiemu/modules/i386: likewise
30715 * efiemu/modules/i386/pc: likewise
30716 * efiemu/modules/acpi.c: likewise
30717 * efiemu/i386/pc/cfgtables.c: likewise
30718 * efiemu/i386/loadcore64.c: likewise
30719 * efiemu/i386/loadcore32.c: likewise
30720 * efiemu/prepare64.c: likewise
30721 * efiemu/loadcore.c: likewise
30722 * efiemu/symbols.c: likewise
30723 * efiemu/mm.c: likewise
30724 * efiemu/loadcore32.c: likewise
7dd4a573 30725
307262009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 30727
30728 ACPI spoofing
30729
30730 * commands/acpi.c: new file
30731 * commands/i386/pc/acpi.c: likewise
30732 * commands/efi/acpi.c: likewise
30733 * include/grub/acpi.h: likewise
30734 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
30735 (acpi_mod_SOURCES): new variable
30736 (acpi_mod_CFLAGS): likewise
30737 (acpi_mod_LDFLAGS): likewise
30738 * conf/i386-efi.rmk: likewise
30739 * conf/x86_64-efi.rmk: likewise
30740
7dd4a573 307412009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 30742
30743 Missing part from mmap patch
30744
30745 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
30746 (grub_mmap_unregister)
30747 (grub_mmap_free_and_unregister): use grub_mmap_register
30748
7dd4a573 307492009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 30750
30751 Mmap services
30752
30753 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
30754 * loader/i386/linux.c (find_mmap_size): likewise
30755 (allocate_pages): likewise
30756 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
30757 (grub_fill_multiboot_mmap): likewise
30758 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
30759 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
30760 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
30761 (OPENBSD_MMAP_RESERVED): likewise
30762 * include/grub/i386/pc/memory.h: include grub/memory.h
30763 (grub_lower_mem): removed
30764 (grub_upper_mem): likewise
30765 (GRUB_MACHINE_MEMORY_ACPI): new definition
30766 (GRUB_MACHINE_MEMORY_NVS): likewise
30767 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
30768 (GRUB_MACHINE_MEMORY_HOLE): likewise
30769 (grub_machine_mmap_register): likewise
30770 (grub_machine_mmap_unregister): likewise
30771 (grub_machine_get_upper): likewise
30772 (grub_machine_get_lower): likewise
30773 (grub_machine_get_post64): likewise
30774 * include/grub/i386/efi/memory.h: new file
30775 * include/grub/x86_64/efi/memory.h: likewise
30776 * include/grub/efi/memory.h: likewise
30777 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
30778 (mmap_mod_SOURCES): new variable
30779 (mmap_mod_LDFLAGS): likewise
30780 (mmap_mod_ASFLAGS): likewise
30781 * conf/i386-coreboot.rmk: likewise
30782 * conf/i386-ieee1275.rmk: likewise
30783 * conf/i386-efi.rmk: likewise
30784 * conf/x86_64-efi.rmk: likewise
30785 * include/grub/types.h (UINT_TO_PTR): new macro
30786 (PTR_TO_UINT32): likewise
30787 (PTR_TO_UINT64): likewise
30788 * include/grub/memory.h: new file
30789 * mmap/i386/pc/mmap.c: likewise
30790 * mmap/i386/pc/mmap_helper.S: likewise
30791 * mmap/i386/uppermem.c: likewise
30792 * mmap/mmap.c: likewise
30793 * mmap/efi/mmap.c: likewise
7dd4a573 30794 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 30795 grub_upper_mem
30796 * kern/i386/pc/init.c (grub_lower_mem): removed variable
30797 (grub_upper_mem): likewise
30798 (grub_machine_init): don't use grub_upper_mem,
30799 make grub_lower_mem local
30800 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
30801 grub_mmap_iterate and grub_mmap_get_upper
30802 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
30803
d558e6b5 308042009-05-02 Bean <bean123ch@gmail.com>
30805
30806 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
30807 script/sh/parser.y.
30808 (pkglib_MODULES): Add normal.mod and sh.mod.
30809 (normal_SOURCES): New variable.
30810 (normal_mod_CFLAGS): Likewise.
30811 (normal_mod_LDFLAGS): Likewise.
30812 (sh_mod_SOURCES): Likewise.
30813 (sh_mod_CFLAGS): Likewise.
30814 (sh_mod_LDFLAGS): Likewise.
30815
30816 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
30817 script/sh/lexer.c_DEPENDENCIES.
30818 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
30819 kern/rescue_reader.c and kern/rescue_parser.c.
30820 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
30821 (grub_emu_SOURCES): Change source files.
30822 (pkglib_MODULES): Remove normal.mod.
30823 (normal_SOURCES): Removed.
30824 (normal_mod_CFLAGS): Likewise.
30825 (normal_mod_LDFLAGS): Likewise.
30826 * conf/i386-coreboot.rmk: Likewise.
30827 * conf/i386-efi.rmk: Likewise.
30828 * conf/i386-ieee1276.rmk: Likewise.
30829 * conf/powerpc-ieee1275.rmk: Likewise.
30830 * conf/sparc64-ieee1275.rmk: Likewise.
30831 * conf/x86_64-efi.rmk: Likewise.
30832
30833 * include/grub/command.h (grub_command_execute): New inline function.
30834
30835 * include/grub/menu.h (grub_menu_entry): Removed commands field.
30836
30837 * include/grub/normal.h: Remove <grub/setjmp.h>.
30838 (grub_fs_module_list): Moved to normal/autofs.c.
30839 (grub_exit_env): Removed.
30840 (grub_command_execute): Likewise.
30841 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
30842 parameter script.
30843 (read_command_list): New function declaration.
30844 (read_fs_list): Likewise.
30845
30846 * include/parser.h: Include <grub/reader.h>.
30847 (grub_parser_split_cmdline): Change type of getline parameter.
30848 (grub_parser): New structure.
30849 (grub_parser_class): New variable.
30850 (grub_parser_execute): New function declaration.
30851 (grub_register_rescue_parser): Likewise.
30852 (grub_parser_register): New inline function.
30853 (grub_parser_unregister): Likewise.
30854 (grub_parser_get_current): Likewise.
30855 (grub_parser_set_current): Likewise.
30856
30857 * include/grub/reader.h: New file.
30858 * kern/reader.c: Likewise.
30859 * kern/rescue_parser.c: Likewise.
30860 * kern/rescue_reader.c: Likewise.
30861 * normal/autofs.c: Likewise.
30862 * normal/dyncmd.c: Likewise.
30863
30864 * include/grub/rescue.h: Removed.
30865 * normal/command.h: Likewise.
30866
30867 * include/grub/script.h: Moved to ...
30868 * include/grub/script_sh.h: ... Moved here.
30869 * normal/execute.c: Moved to ...
30870 * script/sh/execute.c: ... Moved here.
30871 * normal/function.c: Moved to ...
30872 * script/sh/function.c: ... Moved here.
30873 * normal/lexer.c: Moved to ...
30874 * script/sh/lexer.c: ... Moved here.
30875 * normal/parser.y: Moved to ...
30876 * script/sh/parser.y: ... Moved here.
30877 * normal/script.c: Moved to ...
30878 * script/sh/script.c: ... Moved here.
30879
30880 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
30881 <grub/reader.h>.
30882 (grub_exit_env): Removed.
30883 (fs_module_list): Moved to normal/autofs.c.
30884 (grub_file_getline): Don't handle comment here.
30885 (free_menu): Skip removed field entry->commands.
30886 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
30887 script parameter.
30888 (read_config_file): Removed nested parameter, change getline function.
30889 (grub_enter_normal_mode): Removed.
30890 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
30891 (read_command_list): Likewise.
30892 (autoload_fs_module): Moved to normal/autofs.c.
30893 (read_fs_list): Likewise.
30894 (reader_nested): New variable.
30895 (grub_normal_execute): Run parser.sh to switch to sh parser.
30896 (grub_cmd_rescue): Removed.
30897 (cmd_normal): Removed.
30898 (grub_cmd_normal): Unregister itself at the beginning. Don't register
30899 rescue command.
30900 (grub_cmdline_run): New function.
30901 (grub_normal_reader_init): Likewise.
30902 (grub_normal_read_line): Likewise.
30903 (grub_env_write_pager): Likewise.
30904 (cmdline): New variable.
30905 (grub_normal_reader): Likewise.
30906 (GRUB_MOD_INIT): Register normal reader and set as current, register
30907 pager hook, register normal command with grub_register_command_prio,
30908 so that it won't show up in command.lst.
30909 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
30910 grub_fs_autoload_hook.
30911
30912 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
30913 (grub_menu_execute_entry): Replace grub_script_execute with
30914 grub_parser_execute, change parameter to grub_command_execute.
30915
30916 * normal/menu_text.c: Remove <grub/script.h>.
30917
30918 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
30919 and <grub/parser.h>.
30920 (run): Change editor_getline to use new parser interface. Change
30921 parameter to grub_command_execute.
30922
30923 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
30924 <grub/reader.h> and <grub/parser.h>.
30925 (grub_load_normal_mode): Execute normal command.
30926 (grub_main): Call grub_register_core_commands,
30927 grub_register_rescue_parser and grub_register_rescue_reader, use
30928 grub_reader_loop to enter input loop.
30929
7dd4a573 30930 * kern/parser.c (grub_parser_split_cmdline): Change type of
30931 getline parameter.
d558e6b5 30932 (grub_parser_class): New variable.
30933 (grub_parser_execute): New function.
30934
30935 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
30936 * loader/multiboot2.c: Likewise.
30937 * loader/sparc64/ieee1275/linux.c: Likewise.
30938
30939 * util/grub-emu.c (read_command_list): New dummy function.
30940
18db813d 309412009-05-02 Robert Millan <rmh.grub@aybabtu.com>
30942
30943 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
30944 count to 16 for CCISS and IDA.
30945
6c67de15 309462009-05-02 Robert Millan <rmh.grub@aybabtu.com>
30947
30948 * normal/menu_text.c (grub_wait_after_message): Print a newline
30949 after waiting for user input.
30950
30951 * loader/i386/linux.c: Include `<grub/normal.h>'.
30952 (grub_cmd_linux): Improve the error message about `ask' mode, by
30953 waiting for user input so it's not missed (we can do this, since
30954 user requested interaction).
30955
d9dc87b0 309562009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
30957
30958 Added missing lst to grub-mkrescue
30959
30960 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
30961 and ${input_dir}/parttool.lst
30962
ac8a2baa 309632009-04-30 David S. Miller <davem@davemloft.net>
30964
ad22a610 30965 * util/hostdisk.c (device_is_wholedisk): New function.
30966 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
30967 zero only if device_is_wholedisk() returns true.
30968
6966215d 30969 * util/hostdisk.c (convert_system_partition_to_system_disk):
30970 Handle virtual disk devices named /dev/vdiskX as found on sparc
30971 and powerpc.
30972
ac8a2baa 30973 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
30974 lettered partition specifier is found, convert to numbered.
30975
979b4fb4 309762009-04-29 David S. Miller <davem@davemloft.net>
30977
e2bf39b2 30978 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
30979 * include/grub/sparc64/ieee1275/memory.h: Likewise.
30980
3c64e104 30981 * normal/command.c: Add missing newline at end of file.
30982
979b4fb4 30983 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
30984 warnings.
30985 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
30986 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
30987 grub_ofdisk_read): Likewise, and deal similarly with the fact that
30988 ihandles have a 32-bit type but need to be stored in a "void *".
30989
136d9f82 309902009-04-28 Pavel Roskin <proski@gnu.org>
30991
9459c306 30992 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
30993 not disk. Adjust all dependencies.
2e08a26a 30994 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 30995 grub_disk_close().
30996
136d9f82 30997 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
30998 parent's partition, don't copy it by reference, as it gets freed
30999 on close.
31000
7dd4a573 310012009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 31002
31003 Preboot hooks support
31004
31005 * commands/boot.c (struct grub_preboot_t): new declaration
31006 (preboots_head): new variable
31007 (preboots_tail): likewise
31008 (grub_loader_register_preboot_hook): new function
31009 (grub_loader_unregister_preboot_hook): likewise
31010 (grub_loader_set): launch preboot hooks
31011 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
31012 (grub_loader_register_preboot_hook): new declaration
31013 (grub_loader_unregister_preboot_hook): likewise
31014
5af922b5 310152009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
31016
31017 Warning fix
31018
7dd4a573 31019 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 31020 calling grub_dprintf
31021
a5562c30 310222009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
31023
31024 Bug and warning fixes
31025
7dd4a573 31026 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 31027 declaration
31028 * commands/test.c (test_parse): fixed bug with file tests and corrected
31029 declaration of find_file
31030
4006f85c 310312009-04-26 Pavel Roskin <proski@gnu.org>
31032
31033 * Makefile.in: Don't install empty manual pages if help2man is
31034 missing. Use help2man option for output, not shell redirection.
31035
5c77c3de 310362009-04-26 David S. Miller <davem@davemloft.net>
31037
31038 * util/grub-mkdevicemap.c (make_device_map): Add missing
31039 NESTED_FUNC_ATTR to process_device().
31040
033b10a8 310412009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
31042
31043 Test command
31044
31045 * commands/test.c: rewritten to use bash-like test
31046
e4343593 310472009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
31048
31049 Parttool autoloading and improvements
31050
7dd4a573 31051 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 31052 (parttool.lst): new target
31053 * genmk.rb: generate parttool-*
31054 (CLEANFILES): add #{parttool}
31055 (PARTTOOLFILES): new variable
31056 * genparttoollist.sh: new file
7dd4a573 31057 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 31058 (grub_pcpart_type): likewise
31059 * commands/parttool.c (helpmsg): new variable
31060 (grub_cmd_parttool): output help if not enough arguments are supplied
31061 autoload modules
31062 (GRUB_MOD_INIT(parttool)): use helpmsg
31063
0d312500 310642009-04-24 David S. Miller <davem@davemloft.net>
31065
7dd4a573 31066 Avoiding opening same device multiple times in device iterator.
0d312500 31067
31068 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 31069 and use it to build a list of partitions in iterate_disk() and
0d312500 31070 iterate_partition().
31071
ac20caff 31072 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
31073 on disk->data.
31074
0dcf7495 31075 * disk/ieee1275/nand.c (grub_nand_iterate): Return
31076 grub_devalias_iterate() result instead of unconditional 0.
31077 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
31078 Also, capture hook return value, either directly or via
31079 grub_children_iterate(), and propagate to caller.
31080 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
31081 grub_children_iterate): Return value is now 'int' instead of
31082 'grub_err_t'.
31083 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
31084 like a proper iterator, stopping when hooks return non-zero.
31085 (grub_devalias_iterate): Likewise.
31086
c8c08833 310872009-04-23 David S. Miller <davem@davemloft.net>
31088
31089 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
31090
f01005a8 310912009-04-22 David S. Miller <davem@davemloft.net>
31092
31093 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
31094 is larger than address_cells, use that value for address_cells too.
31095
4e8269da 31096 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
31097 IEEE1275_MAX_PATH_LEN): Define.
31098 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
31099 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
31100 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
31101 'devtype'. Explicitly NULL terminate devalias expansion.
31102
a1447506 31103 * util/sparc64/ieee1275/misc.c: New file.
31104 * util/sparc64/ieee1275/grub-setup.c: New file.
31105 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
31106 * util/sparc64/ieee1275/grub-mkimage.c: New file.
31107 * util/sparc64/ieee1275/grub-install.in: New file.
31108 * util/ieee1275/ofpath.c: New file.
31109 * util/ieee1275/devicemap.c: New file.
31110 * util/devicemap.c: New file.
31111 * util/deviceiter.c: New file.
31112 * kern/sparc64/ieee1275/init.c: New file.
31113 * include/grub/util/ofpath.h: New file.
31114 * include/grub/util/deviceiter.h: New file.
31115 * util/grub-mkdevicemap.c: Include deviceiter.h.
31116 Implement using grub_util_emit_devicemap_entry and
31117 grub_util_iterate_devices.
31118 * conf/i386-corebook.rmk: Build util/deviceiter.c and
31119 util/devicemap.c into grub-mkdevicemap
31120 * conf/i386-efi.rmk: Likewise.
31121 * conf/i386-ieee1275.rmk: Likewise.
31122 * conf/i386-pc.rmk: Likewise.
31123 * conf/powerpc-ieee1275.rmk: Likewise.
31124 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
31125 images and installation utilities. Build kernel as image
31126 instead of as elf binary. Use common rules as much as possible.
31127
7dd4a573 311282009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 31129
31130 Correct GPT definition
31131
7dd4a573 31132 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 31133 of "attrib" member
31134
c6c5219f 311352009-04-19 Felix Zielcke <fzielcke@z-51.de>
31136
31137 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
31138
0552ff9f 311392009-04-19 David S. Miller <davem@davemloft.net>
31140
31141 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
31142 (grub_rescue_cmd_linux): Rename to...
31143 (grub_cmd_linux): and fix prototype.
31144 (grub_rescue_cmd_initrd): Rename to...
31145 (grub_cmd_initrd): and fix prototype.
31146 (cmd_linux, cmd_initrd): New.
31147 (GRUB_MOD_INIT(linux)): Use grub_register_command().
31148 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
31149
d1a282fc 311502009-04-17 Pavel Roskin <proski@gnu.org>
31151
07c5039f 31152 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
31153 format.
31154 (grub_ohci_transfer): Likewise.
31155
b012002d 31156 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
31157
1bc09c35 31158 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
31159 return without a value. Fix inconsistent indentation.
31160
e0ff9126 31161 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
31162 match struct grub_fs.
31163
d1a282fc 31164 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
31165 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
31166 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
31167 * commands/lspci.c (grub_lspci_iter): Likewise.
31168
a96df3f2 311692009-04-16 Bean <bean123ch@gmail.com>
31170
31171 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
31172 value.
31173
41bb0fe9 311742009-04-15 Pavel Roskin <proski@gnu.org>
31175
31176 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
31177 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
31178 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
31179 definitions.
31180
596c6970 311812009-04-15 Felix Zielcke <fzielcke@z-51.de>
31182
31183 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 31184 that no multiple data or metadata areas are supported and `Unknown
596c6970 31185 metadata header'.
31186
7dd4a573 311872009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 31188
31189 Move loader out of the kernel
31190
31191 * kern/loader.c: moved to ...
31192 * commands/boot.c: ... moved here
31193 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
31194 * commands/boot.c (grub_cmd_boot): moved here. All users updated
31195 * include/grub/kernel.h (grub_machine_fini): export
31196 * include/grub/loader.h (grub_loader_is_loaded): update declaration
31197 (grub_loader_set): likewise
31198 (grub_loader_unset): likewise
31199 (grub_loader_boot): likewise
31200 * conf/common.rmk: new module boot.mod
31201 (pkglib_MODULES): add boot.mod
31202 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
31203 (grub_emu_SOURCES): likewise
31204 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
31205 (grub_emu_SOURCES): likewise
31206 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
31207 (grub_emu_SOURCES): likewise
31208 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
31209 (grub_emu_SOURCES): likewise
31210 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
31211 (grub_emu_SOURCES): likewise
7dd4a573 31212 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
31213 (grub_emu_SOURCES): likewise
0d5d5653 31214 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 31215 (grub_emu_SOURCES): likewise
0d5d5653 31216
7dd4a573 312172009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 31218
31219 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 31220
5999d619 31221 * kern/misc.c (grub_itoa): Removed function
31222 (grub_ltoa): likewise
31223 (grub_vsprintf): use grub_lltoa
31224
7dd4a573 312252009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 31226
31227 Restore grub-emu
31228
31229 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
31230 * conf/i386-coreboot.rmk: likewise
31231 * conf/i386-ieee1275.rmk: likewise
31232 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 31233
20318222 312342009-04-15 Felix Zielcke <fzielcke@z-51.de>
31235
31236 * INSTALL: Add that `./autogen.sh' needs to be run before
31237 `./configure.'.
31238
d05f0df3 312392009-04-14 Bean <bean123ch@gmail.com>
31240
31241 * Makefile.in (pkglib_DATA): Add handler.lst.
31242 (handler.lst): New rule.
31243
31244 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
31245 * conf/i386-coreboot.rmk: Likewise.
31246 * conf/i386-ieee1275.rmk: Likewise.
31247 * conf/i386-efi.rmk: Likewise.
31248 * conf/x86_64-efi.rmk: Likewise.
31249 * conf/powerpc-ieee1275.rmk: Likewise.
31250 * conf/sparc64-ieee1275.rmk: Likewise.
31251
31252 * genhandlerlist.sh: New file.
31253
31254 * genmk.rb: Add rules to generate handler.lst.
31255
31256 * include/grub/normal.h (grub_file_getline): New function definition.
31257 (read_handler_list): Likewise.
31258 (free_handler_list): Likewise.
31259
31260 * include/grub/term.h (grub_term_register_input): Add name parameter
31261 for auto generation of handler.lst.
31262 (grub_term_register_output): Likewise.
31263
31264 * normal/handler.c: New file.
31265
31266 * normal/main.c (get_line): Renamed to grub_file_getline.
31267 (read_config_file): Use the newly renamed grub_file_getline.
31268 (read_command_list): Likewise.
31269 (read_fs_list): Likewise.
31270 (grub_normal_execute): Call read_handler_list to parse handler.lst.
31271 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
31272
31273 * term/efi/console.c (grub_console_init): Add name parameter for auto
31274 generation of handler.lst.
31275 * term/gfxterm.c: Likewise.
31276 * term/i386/pc/at_keyboard.c: Likewise.
31277 * term/i386/pc/console.c: Likewise.
31278 * term/i386/pc/serial.c: Likewise.
31279 * term/i386/pc/vesafb.c: Likewise.
31280 * term/i386/pc/vga.c: Likewise.
31281 * term/i386/pc/vga_text.c: Likewise.
31282 * term/ieee1275/ofconsole.c: Likewise.
31283 * term/usb_keyboard.c: Likewise.
31284
33c846be 312852009-04-14 Bean <bean123ch@gmail.com>
31286
31287 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
31288 properly with null character.
31289
4484e01e 312902009-04-14 Felix Zielcke <fzielcke@z-51.de>
31291
31292 * configure: Remove.
31293 * config.h.in: Likewise.
f93d668e 31294 * stamp-h.in: Likewise.
4484e01e 31295 * DISTLIST: Likewise.
31296 * conf/common.mk: Likewise.
31297 * conf/i386-coreboot.mk: Likewise.
31298 * conf/i386-efi.mk: Likewise.
31299 * conf/i386-ieee1275.mk: Likewise.
31300 * conf/i386.mk: Likewise.
31301 * conf/i386-pc.mk: Likewise.
31302 * conf/powerpc-ieee1275.mk: Likewise.
31303 * conf/sparc64-ieee1275.mk: Likewise.
31304 * conf/x86_64-efi.mk: Likewise.
31305
31306 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
31307 develop on GRUB.
31308
7dd4a573 313092009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 31310 David S. Miller <davem@davemloft.net>
31311
31312 * util/hostdisk.c (make_device_name): Fix buffer length
31313 calculations.
31314
e25b5a8c 313152009-04-14 Felix Zielcke <fzielcke@z-51.de>
31316
31317 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
31318 <sys/param.h> and <sys/sysctl.h>.
31319 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
31320 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
31321 opening the device and reset them afterwards.
31322
1f1f580c 313232009-04-13 Pavel Roskin <proski@gnu.org>
31324
31325 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
31326 Reported by John Stanley <jpsinthemix@verizon.net>
31327
7ebc2d6b 313282009-04-13 Robert Millan <rmh@aybabtu.com>
31329
31330 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 31331 that name for menuentries when appropriate.
7ebc2d6b 31332
d8ba3667 313332009-04-13 Felix Zielcke <fzielcke@z-51.de>
31334
31335 * util/grub.d/10_freebsd.in: Add a missing `fi'.
31336
cba416eb 313372009-04-13 Robert Millan <rmh@aybabtu.com>
31338
31339 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
31340 to Linux, simply abort telling the user it's no longer supported.
31341
a547a745 313422009-04-13 Felix Zielcke <fzielcke@z-51.de>
31343
31344 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 31345 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 31346 `freebsd_loadenv' only when devices.hints exist.
31347
232a769c 313482009-04-13 Pavel Roskin <proski@gnu.org>
31349
31350 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
31351
c3012039 313522009-04-13 Felix Zielcke <fzielcke@z-51.de>
31353
31354 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
31355 partition number.
31356 (grub_drive): Likewise.
31357
234022fe 313582009-04-13 David S. Miller <davem@davemloft.net>
31359
31360 * kern/sparc64/ieee1275/ieee1275.c: New file.
31361 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
31362 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
31363 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
31364 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
31365 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
31366 grub_ieee1275_alloc_physmem): Declare new exported functions.
31367
d8e1836c 31368 * include/grub/sparc64/ieee1275/loader.h: New file.
31369 * include/grub/sparc64/ieee1275/memory.h: Likewise.
31370 * include/grub/sparc64/kernel.h: Likewise.
31371 * loader/sparc64/ieee1275/linux.c: Likewise.
31372
96bd81ec 31373 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
31374 (grub_fstest_SOURCES): Likewise.
31375
6a4737e5 31376 * util/hostdisk.c (make_device_name): Do not make any assumptions
31377 about the length of drive names.
31378
1d7a72fd 31379 * kern/dl.c (grub_dl_load_file): Close file immediately when
31380 we are done using it.
31381
56bc2471 313822009-04-12 David S. Miller <davem@davemloft.net>
31383
31384 * kern/misc.c (grub_ltoa): Fix cast when handling negative
31385 values. Noticed by Pavel Roskin.
31386
df38d0bb 31387 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
31388 target compiler.
7dd4a573 31389
e382e93a 31390 * genmk.rb: Add more flexible image type specification, also
31391 pass --strip-unneeded to objcopy.
31392 * conf/i386-pc.rmk: Use *_FORMAT.
31393 * conf/i386-pc.mk: Rebuilt.
31394
f5dbbca9 31395 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
31396 (OFDISK_HASH_SZ): Define.
31397 (ofdisk_hash): New hash table.
31398 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
31399 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
31400 instead of device phandle which is not unique.
31401
91c88b12 31402 * kern/sparc64/ieee1275/init.c: Delete, replace with...
31403 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
31404 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
31405 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
31406 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
31407 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
31408 GRUB_KERNEL_MACHINE_DATA_END): Define.
31409 (grub_kernel_image_size, grub_total_module_size): Declare.
31410
5b5d4aa5 314112009-04-12 Pavel Roskin <proski@gnu.org>
31412
7dd4a573 31413 * configure.ac: Change the logic when we check for target tools.
31414 Do it when the target is specified and it's different from the
31415 specified value of the host.
5b5d4aa5 31416
c91e1793 314172009-04-11 Felix Zielcke <fzielcke@z-51.de>
31418
31419 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
31420 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
31421 GNU/kFreeBSD. Check if a device is a character device. Use
31422 DIOCGMEDIASIZE to get the size.
31423 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
31424 support for GNU/kFreeBSD.
31425 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
31426 is a character device instead of a block device. Add support for
31427 FreeBSD device names.
31428
31429 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
31430 is a character device instead of a block device.
31431
31432 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
31433 is a character device instead of a block device.
31434
b1ac8644 314352009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
31436
31437 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
31438 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
31439 FreeBSD. Check if a device is a character device. Use
31440 DIOCGMEDIASIZE to get the size.
31441 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
31442 support for FreeBSD.
31443 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
31444 is a character device instead of a block device. Add support for
31445 FreeBSD device names.
31446
31447 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
31448 a character device instead of a block device.
31449 (grub_util_check_char_device): New function.
31450
31451 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
31452 a character device instead of a block device.
31453
31454 * include/grub/util/getroot.h (grub_util_check_char_device): New
31455 prototype.
31456
a3f7515a 314572009-04-11 David S. Miller <davem@davemloft.net>
31458
31459 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
31460 static libgcc.
31461 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
31462 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
31463 function, if present.
31464 (__bswapdi2): Likewise.
31465
0d44993d 31466 * include/grub/sparc64/ieee1275/boot.h: New file.
31467 * boot/sparc64/ieee1275/boot.S: Likewise.
31468 * boot/sparc64/ieee1275/diskboot.S: Likewise.
31469
ed3d2bc2 31470 * kern/misc.c (grub_ltoa): New function.
31471 (grub_vsprintf): Use it to format 'long' integers.
31472
d3bfb59c 314732009-04-10 David S. Miller <davem@davemloft.net>
31474
31475 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
31476 slots are of type grub_ieee1275_cell_t.
31477 (grub_nand_read): Likewise.
31478 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
31479 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
31480 macros are used to compare values in arg/ret block of the call.
31481 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
31482 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
31483 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
31484 grub_ieee1275_instance_to_path, grub_ieee1275_write,
31485 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
31486 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
31487 grub_ieee1275_close, grub_ieee1275_set_property,
31488 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
31489 grub_ieee1275_cell_t.
31490 * kern/ieee1275/openfw.c (grub_map): Likewise.
31491 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
31492 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
31493
450e2238 31494 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
31495 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
31496 (grub_devalias_iterate): Likewise.
31497
7dd4a573 314982009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 31499
31500 UFS improvements
31501
31502 * fs/ufs.c (INODE_NBLOCKS): new definition
31503 (struct grub_ufs_dirent): added fields for non-BSD dirents
31504 (grub_ufs_get_file_block): fixed double indirect handling
31505 (grub_ufs_lookup_symlink): use more robust way to determine whether
31506 symlink is inline
31507 (grub_ufs_find_file): support for non-BSD dirents
31508 (grub_ufs_dir): support for non-BSD dirents
31509
e7e6862a 315102009-04-10 Bean <bean123ch@gnail.com>
31511
31512 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
31513 attribute, otherwise the size would be wrong for i386 platform.
31514
31515 * include/grub/pci.h (grub_pci_read_word): New inline function.
31516 (grub_pci_read_byte): Likewise.
31517 (grub_pci_write): Likewise.
31518 (grub_pci_write_word): Likewise.
31519 (grub_pci_write_byte): Likewise.
31520
31521 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
31522
31523 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
31524 (find_framebuf): Scan pci to locate the frame buffer address.
31525
31526 * commands/efi/fixvideo.c: New file.
31527
31528 * commands/efi/loadbios.c: Likewise.
31529
31530 * commands/memrw.c: Likewise.
31531
31532 * util/grub-dumpbios.in: Likewise.
31533
31534 * conf/common.rmk (grub-dumpbios): New utility.
31535 (pkglib_MODULES): New module memrw.mod.
31536 (memrw_mod_SOURCE): New macro.
31537 (memrw_mod_CFLAGS): Likewise.
31538 (memrw_mod_LDFLAGS): Likewise.
31539
7dd4a573 31540 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 31541 fixvideo.mod.
31542 (loadbios_mod_SOURCE): New macro.
31543 (loadbios_mod_CFLAGS): Likewise.
31544 (loadbios_mod_LDFLAGS): Likewise.
31545 (fixvideo_mod_SOURCE): Likewise.
31546 (fixvideo_mod_CFLAGS): Likewise.
31547 (fixvideo_mod_LDFLAGS): Likewise.
31548
7dd4a573 31549 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 31550 fixvideo.mod.
31551 (loadbios_mod_SOURCE): New macro.
31552 (loadbios_mod_CFLAGS): Likewise.
31553 (loadbios_mod_LDFLAGS): Likewise.
31554 (fixvideo_mod_SOURCE): Likewise.
31555 (fixvideo_mod_CFLAGS): Likewise.
31556 (fixvideo_mod_LDFLAGS): Likewise.
31557
af63ada2 315582009-04-08 Felix Zielcke <fzielcke@z-51.de>
31559
31560 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
31561
c2cdde70 315622009-04-07 David S. Miller <davem@davemloft.net>
31563
31564 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
31565 support for R_SPARC_OLO10 relocations. Fix compile warning for
31566 R_SPARC_WDISP30 case.
ea3f72cf 31567 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 31568
761319cf 315692009-04-06 Pavel Roskin <proski@gnu.org>
31570
1007d1f5 31571 * include/grub/misc.h (ARRAY_SIZE): New macro.
31572 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
31573 New macro.
31574 * loader/i386/linux.c (allocate_pages): Use free_pages().
31575 (grub_linux_unload): Don't use free_pages().
31576 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
31577 wrong index. Treat all other modes as text modes.
31578 (grub_cmd_linux): Initialize vid_mode unconditionally to
31579 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
31580
761319cf 31581 * commands/help.c (print_command_help): Use cmd->prio, not
31582 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
31583
ea761d40 315842009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 31585
ea761d40 31586 Parttool
31587
31588 * parttool/pcpart.c: new file
31589 * commands/parttool.c: likewise
31590 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
31591 (parttool_mod_SOURCES): new variable
31592 (parttool_mod_CFLAGS): likewise
31593 (parttool_mod_LDFLAGS): likewise
31594 (pcpart_mod_SOURCES): likewise
31595 (pcpart_mod_CFLAGS): likewise
31596 (pcpart_mod_LDFLAGS): likewise
7dd4a573 31597 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 31598 and parttool/pcpart.c
31599 * conf/i386-efi.rmk: likewise
31600 * conf/i386-ieee1275.rmk: likewise
31601 * conf/i386-pc.rmk: likewise
31602 * conf/powerpc-ieee1275.rmk: likewise
31603 * conf/sparc64-ieee1275.rmk: likewise
31604 * conf/x86_64-ieee1275.rmk: likewise
31605
05aaebfb 316062009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
31607
31608 Support for mtime and further expandability of dir command
31609
31610 * include/grub/lib/datetime.h: moved to ...
7dd4a573 31611 * include/grub/datetime.h: ... moved here and added
05aaebfb 31612 declaration of grub_unixtime2datetime. All users updated
7dd4a573 31613 * include/grub/fs.h: new syntax for dir and mtime functions in
31614 struct grub_fs
05aaebfb 31615 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
31616 and GRUB_FSHELP_FLAGS_MASK
31617 * commands/ls.c (grub_ls_list_files): Write mtime in long format
31618 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
31619 (grub_ext2_mtime): new function
31620 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
31621 (grub_hfsplus_mtime): new function
31622 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
31623 (GRUB_UFS_ATTR_FILE): likewise
31624 (GRUB_UFS_ATTR_LNK): likewise
31625 (struct grub_ufs_sblock): new fields mtime
31626 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
31627 all users updated
31628 (grub_ufs_dir): mtime support
31629 (grub_ufs_mtime): new function
31630 * fs/affs.c (grub_affs_dir): use new dir syntax
31631 * fs/afs.c (grub_afs_dir): likewise
31632 * fs/cpio.c (grub_cpio_dir): likewise
31633 * fs/fat.c (grub_fat_find_dir): likewise
31634 * fs/hfs.c (grub_hfs_dir): likewise
31635 * fs/iso9660.c (grub_iso9660_dir): likewise
31636 * fs/jfs.c (grub_jfs_dir): likewise
31637 * fs/minix.c (grub_minix_dir): likewise
31638 * fs/ntfs.c (grub_ntfs_dir): likewise
31639 * fs/reiserfs.c (grub_reiserfs_dir): likewise
31640 * fs/sfs.c (grub_sfs_dir): likewise
31641 * fs/xfs.c (grub_xfs_dir): likewise
31642 * util/hostfs.c (grub_hostfs_dir): likewise
31643 * lib/datetime.c: moved to ...
31644 * normal/datetime.c: ... moved here
31645 (grub_unixtime2datetime): new function
31646 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 31647 * normal/completion.c (iterate_dir): use new dir syntax
31648 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 31649 last modification time of a volume
7dd4a573 31650 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 31651 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 31652 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 31653 (normal_mod_SOURCES): likewise
31654 (datetime_mod_SOURCES): Removed lib/datetime.c
31655 * conf/i386-efi.rmk: likewise
7dd4a573 31656 * conf/i386-ieee1275.rmk: likewise
05aaebfb 31657 * conf/i386-pc.rmk: likewise
31658 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 31659 * conf/sparc64-ieee1275.rmk: likewise
31660 * conf/x86_64-efi.rmk: likewise
05aaebfb 31661
8a7e1a14 316622009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
31663
31664 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 31665
31666 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 31667 on grub_fat_find_dir
31668 (grub_fat_find_dir): use grub_fat_iterate_dir
31669 (grub_fat_label): likewise
31670
04186a9c 316712009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
31672
7dd4a573 31673 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 31674 and command.h
31675 remove extraneous kernel_elf_HEADERS
31676
da4c0bb6 316772009-04-04 Bean <bean123ch@gnail.com>
31678
31679 * include/grub/util/misc.h: Add dummy function fsync for mingw.
31680
31681 * util/misc.c: Likewise.
31682
54ad9555 316832009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
31684
31685 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
31686 instead of grub_printf.
31687
7a6bf9f2 316882009-04-03 Robert Millan <rmh@aybabtu.com>
31689
31690 * loader/i386/linux.c (grub_linux_setup_video): Fill
31691 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
31692 values from `mode info' structure instead of hardcoded
31693 values.
31694
3fcc2083 316952009-04-01 Pavel Roskin <proski@gnu.org>
31696
31697 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
31698 unused now.
31699 * genmk.rb: Likewise.
31700 * configure.ac: Likewise.
31701
5ec9740b 317022009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
31703
31704 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
31705 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
31706
5270cec8 317072009-04-01 David S. Miller <davem@davemloft.net>
31708
31709 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 31710 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 31711 (grub_setjmp): Mark with 'returns_twice' attribute.
31712 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
31713 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
31714 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
31715
9c3dd854 317162009-04-01 Robert Millan <rmh@aybabtu.com>
31717
31718 Reapply fix from 2008-07-28 which was accidentally reverted; also
31719 perform the same fix to a similar check in same function.
31720
31721 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
31722 with the same number are found, just use issue a warning with
31723 grub_dprintf(), as this error has been reported to be non-fatal.
31724
0d818b7e 317252009-03-31 Pavel Roskin <proski@gnu.org>
31726
31727 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
31728 for cross-compilation.
31729
95646d92 317302009-03-30 Robert Millan <rmh@aybabtu.com>
31731
31732 Fix i386-ieee1275 build.
31733
31734 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
31735 Remove declaration.
31736
6a003ed1 317372009-03-30 Pavel Roskin <proski@gnu.org>
31738
31739 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
31740 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
31741 zero-terminated, rely only on the strlen value. Fix comparison
31742 of strings differing in length.
31743
92f33540 317442009-03-30 Robert Millan <rmh@aybabtu.com>
31745
31746 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
31747 checking for abi version. Improve error messages on BIOS to notify
31748 user about `linux16' command.
31749
a8c48fd5 317502009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
31751
f968172e 31752 Leak fixes
a8c48fd5 31753
f968172e 31754 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
31755 in case of collision
31756 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 31757
9c323f09 317582009-03-29 Robert Millan <rmh@aybabtu.com>
31759
31760 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
31761 set `vid_mode' accordingly.
31762 (grub_linux_boot): Process `vid_mode' and set video mode.
31763
ae68f423 317642009-03-29 Robert Millan <rmh@aybabtu.com>
31765
31766 * util/grub.d/10_linux.in (linux_entry): New function.
31767 Factorize generation of Linux boot entries.
31768
5709cfc4 317692009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
31770
31771 Make the format of Environment Block plain text. The boot loader
31772 part is not tested well yet.
7dd4a573 31773
5709cfc4 31774 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
31775 (buffer): Removed.
31776 (envblk): Likewise.
31777 (usage): Remove "info" and "clear". Add "unset". Update the
31778 description of "set", as this does not delete variables any
31779 longer.
31780 (create_envblk_file): Complete rewrite.
31781 (open_envblk_file): Likewise.
31782 (cmd_info): Removed.
31783 (cmd_list): Likewise.
31784 (cmd_set): Likewise.
31785 (cmd_clear): Likewise.
31786 (list_variables): New function.
31787 (write_envblk): Likewise.
31788 (set_variables): Likewise.
31789 (unset_variables): Likewise.
31790 (main): Complete rewrite.
31791
31792 * commands/loadenv.c (buffer): Removed.
31793 (envblk): Likewise.
31794 (open_envblk_file): New function.
31795 (read_envblk_file): Complete rewrite.
31796 (grub_cmd_load_env): Likewise.
31797 (grub_cmd_list_env): Likewise.
31798 (struct blocklist): New struct.
31799 (free_blocklists): New function.
31800 (check_blocklists): Likewise.
31801 (write_blocklists): Likewise.
31802 (grub_cmd_save_env): Complete rewrite.
31803
31804 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
31805 a plain text signature.
31806 (GRUB_ENVBLK_MAXLEN): Removed.
31807 (struct grub_envblk): Complete rewrite.
31808 (grub_envblk_find): Removed.
31809 (grub_envblk_insert): Likewise.
31810 (grub_envblk_open): New prototype.
31811 (grub_envblk_set): Likewise.
31812 (grub_envblk_delete): Put const to VALUE.
31813 (grub_envblk_iterate): Put const to NAME and VALUE.
31814 (grub_envblk_close): New prototype.
31815 (grub_envblk_buffer): New inline function.
31816 (grub_envblk_size): Likewise.
31817
31818 * lib/envblk.c: Include grub/mm.h.
31819 (grub_env_find): Removed.
31820 (grub_envblk_open): New function.
31821 (grub_envblk_close): Likewise.
31822 (escaped_value_len): Likewise.
31823 (find_next_line): Likewise.
31824 (grub_envblk_insert): Removed.
31825 (grub_envblk_set): New function.
31826 (grub_envblk_delete): Complete rewrite.
31827 (grub_envblk_iterate): Likewise.
31828
a9368fd3 318292009-03-28 Robert Millan <rmh@aybabtu.com>
31830
31831 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
31832 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
31833 variables. Use 16-bit loader.
31834 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
31835 loader.
31836 * kern/i386/loader.S (grub_linux_boot): Rename to ...
31837 (grub_linux16_boot): ... this. Update all users.
31838 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
31839 (grub_linux_boot): ... this. Update all users.
31840
31841 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
31842 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
31843 commands to `linux16' and `initrd16'.
31844 (GRUB_MOD_FINI(linux)): Rename to ...
31845 (GRUB_MOD_FINI(linux16)): ... this.
31846
e4dd5a7e 318472009-03-24 Pavel Roskin <proski@gnu.org>
31848
31849 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
31850 not just for compilation.
31851
c04d6e05 318522009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
31853
31854 Move multiboot helper out of kernel
31855
31856 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
31857 `loader/i386/multiboot_helper.S'.
31858 * conf/i386-coreboot.rmk: Likewise
31859 * conf/i386-ieee1275.rmk: Likewise
31860
31861 * kern/i386/loader.S: Move multiboot helpers from here...
31862 * loader/i386/multiboot_helper.S: ...moved here
31863 * include/grub/i386/loader.h: Move declarations of multiboot
31864 helpers from here...
31865 * include/grub/i386/multiboot.h: ...moved here
31866 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
31867
42a5b3fc 318682009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
31869
31870 * kern/env.c (grub_env_context_open): Added an argument to specify
31871 whether a new context inherits exported variables from current
31872 one. This is useful when making a sandbox to interpret a config
31873 file.
31874 All callers updated.
31875
31876 * include/grub/env.h (grub_env_context_open): Updated the prototype.
31877
b28bbc4e 318782009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
31879
31880 * kern/env.c (grub_env_context_close): Fix memory leaks.
31881
f04f02e4 318822009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
31883
31884 * normal/main.c (grub_normal_execute): Added an argument
31885 BATCH to specify if an interactive interface should be provided
31886 after reading a config file.
31887 All callers updated.
31888 (read_command_list): Prevent being executed twice.
31889 (read_fs_list): Likewise.
31890
42a5b3fc 31891 * include/grub/normal.h (grub_normal_execute): Updated the
31892 prototype.
f04f02e4 31893
41473ac2 318942009-03-22 Pavel Roskin <proski@gno.org>
31895
fbc00b0c 31896 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
31897 _start.
31898 * kern/i386/pc/startup.S: Likewise.
31899 * kern/i386/efi/startup.S: Likewise.
31900 * kern/i386/ieee1275/startup.S: Likewise.
31901 * kern/i386/coreboot/startup.S: Likewise.
31902 * kern/x86_64/efi/startup.S: Likewise.
31903
41473ac2 31904 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
31905 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
31906 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
31907
2274cc8f 319082009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
31909
31910 Bugfixes in multiboot for bugs uncovered by solaris kernel.
31911
31912 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
31913 limit detection.
31914 Use vaddr of correct segment for entry_point.
31915
b1b797cb 319162009-03-21 Bean <bean123ch@gmail.com>
31917
31918 * commands/blocklist.c: Add include file <grub/command.h>, remove
31919 <grub/normal.h> and <grub/arg.h>.
31920 (grub_cmd_blocklist): Use the new command interface.
31921 (GRUB_MOD_INIT): Likewise.
31922 (GRUB_MOD_FINI): Likewise.
31923 * commands/boot.c: Likewise.
31924 * commands/cat.c: Likewise.
31925 * commands/cmp.c: Likewise.
31926 * commands/configfile.c: Likewise.
31927 * commands/crc.c: Likewise.
31928 * commands/echo.c: Likewise.
31929 * commands/halt.c: Likewise.
31930 * commands/handler.c: Likewise.
31931 * commands/hdparm.c: Likewise.
31932 * commands/help.c: Likewise.
31933 * commands/hexdump.c: Likewise.
31934 * commands/loadenv.c: Likewise.
31935 * commands/ls.c: Likewise.
31936 * commands/lsmmap.c: Likewise.
31937 * commands/lspci.c: Likewise.
31938 * commands/loadenv.c: Likewise.
31939 * commands/read.c: Likewise.
31940 * commands/reboot.c: Likewise.
31941 * commands/search.c: Likewise.
31942 * commands/sleep.c: Likewise.
31943 * commands/test.c: Likewise.
31944 * commands/usbtest.c: Likewise.
31945 * commands/videotest.c: Likewise.
31946 * commands/i386/cpuid.c: Likewise.
31947 * commands/i386/pc/halt.c: Likewise.
31948 * commands/i386/pc/play.c: Likewise.
31949 * commands/i386/pc/pxecmd.c: Likewise.
31950 * commands/i386/pc/vbeinfo.c: Likewise.
31951 * commands/i386/pc/vbetest.c: Likewise.
31952 * commands/ieee1275/suspend.c: Likewise.
31953 * disk/loopback.c: Likewise.
31954 * font/font_cmd.c: Likewise.
31955 * hello/hello.c: Likewise.
31956 * loader/efi/appleloader.c: Likewise.
31957 * loader/efi/chainloader.c: Likewise.
31958 * loader/i386/bsd.c: Likewise.
31959 * loader/i386/efi/linux.c: Likewise.
31960 * loader/i386/ieee1275/linux.c: Likewise.
31961 * loader/i386/linux.c: Likewise.
31962 * loader/i386/pc/chainloader.c: Likewise.
31963 * loader/i386/pc/linux.c: Likewise.
31964 * loader/powerpc/ieee1275/linux.c: Likewise.
31965 * loader/multiboot_loader.c: Likewise.
31966 * term/gfxterm.c: Likewise.
31967 * term/i386/pc/serial.c: Likewise.
31968 * term/terminfo.c: Likewise.
31969
31970 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
31971 * term/i386/pc/vga.c: Likewise.
31972 * video/readers/jpeg.c: Likewise.
31973 * video/readers/png.c: Likewise.
31974 * video/readers/tga.c: Likewise.
31975
31976 * util/grub-fstest (cmd_loopback): Removed.
31977 (cmd_blocklist): Likewise.
31978 (cmd_ls): Likewise.
31979 (grub_register_command): Likewise.
31980 (grub_unregister_command): Likewise.
31981 (execute_command): Use grub_command_find to locate command and execute
31982 it.
31983
31984 * include/grub/efi/chainloader.h: Removed.
31985 * loader/efi/chainloader_normal.c: Likewise.
31986 * loader/i386/bsd_normal.c: Likewise.
31987 * loader/i386/pc/chainloader_normal.c: Likewise.
31988 * loader/i386/pc/multiboot_normal.c: Likewise.
31989 * loader/linux_normal.c: Likewise.
31990 * loader/multiboot_loader_normal.c: Likewise.
31991 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
31992
31993 * gencmdlist.sh: Scan new registration command grub_register_extcmd
31994 and grub_register_command_p1.
31995
31996 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
31997 kern/command.c, lib/arg.c and commands/extcmd.c.
31998 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
31999 (minicmd_mod_SOURCES): New variable.
32000 (minicmd_mod_CFLAGS): Likewise.
32001 (minicmd_mod_LDFLAGS): Likewise.
32002 (extcmd_mod_SOURCES): Likewise.
32003 (extcmd_mod_CFLAGS): Likewise.
32004 (extcmd_mod_LDFLAGS): Likewise.
32005 (boot_mod_SOURCES): Removed.
32006 (boot_mod_CFLAGS): Likewise.
32007 (boot_mod_LDFLAGS): Likewise.
32008
32009 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
32010 kern/corecmd.c.
32011 (kernel_img_HEADERS): Add command.h.
32012 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
32013 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
32014 and lib/arg.c.
32015 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
32016 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
32017 remove the corresponding normal mode command.
32018 (normal_mod_SOURCES): Remove normal/arg.c.
32019 * conf/i386-coreboot.rmk: Likewise.
32020 * conf/i386-efi.rmk: Likewise.
32021 * conf/i386-ieee1275.rmk: Likewise.
32022 * conf/powerpc-ieee1275.rmk: Likewise.
32023 * conf/x86_64-efi.rmk: Likewise.
32024
32025 * include/grub/arg.h: Move from here ...
32026 * include/grub/lib/arg.h: ... to here.
32027
32028 * normal/arg.c: Move from here ...
32029 * lib/arg.c: ... to here.
32030
32031 * commands/extcmd.c: New file.
32032 * commands/minicmd.c: Likewise.
32033 * include/grub/command.h: Likewise.
32034 * include/grub/extcmd.h: Likewise.
32035 * kern/command.c: Likewise.
32036 * kern/corecmd.c: Likewise.
32037
32038 * kern/list.c (grub_list_iterate): Return int instead of void.
32039 (grub_list_insert): New function.
32040 (grub_prio_list_insert): Likewise.
32041
32042 * kern/rescue.c (grub_rescue_command): Removed.
32043 (grub_rescue_command_list): Likewise.
32044 (grub_rescue_register_command): Likewise.
32045 (grub_rescue_unregister_command): Likewise.
32046 (grub_rescue_cmd_boot): Move to minicmd.c
32047 (grub_rescue_cmd_help): Likewise.
32048 (grub_rescue_cmd_info): Likewise.
32049 (grub_rescue_cmd_boot): Likewise.
32050 (grub_rescue_cmd_testload): Likewise.
32051 (grub_rescue_cmd_dump): Likewise.
32052 (grub_rescue_cmd_rmmod): Likewise.
32053 (grub_rescue_cmd_lsmod): Likewise.
32054 (grub_rescue_cmd_exit): Likewise.
32055 (grub_rescue_print_devices): Moved to corecmd.c.
32056 (grub_rescue_print_files): Likewise.
32057 (grub_rescue_cmd_ls): Likewise.
32058 (grub_rescue_cmd_insmod): Likewise.
32059 (grub_rescue_cmd_set): Likewise.
32060 (grub_rescue_cmd_unset): Likewise.
7d074e3c 32061 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 32062 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 32063 commands, remove grub_rescue_register_command calls.
b1b797cb 32064
7d074e3c 32065 * normal/command.c (grub_register_command): Removed.
b1b797cb 32066 (grub_unregister_command): Likewise.
32067 (grub_command_find): Likewise.
32068 (grub_iterate_commands): Likewise.
32069 (rescue_command): Likewise.
32070 (export_command): Moved to corecmd.c.
32071 (set_command): Removed.
32072 (unset_command): Likewise.
32073 (insmod_command): Likewise.
32074 (rmmod_command): Likewise.
32075 (lsmod_command): Likewise.
32076 (grub_command_init): Likewise.
32077
32078 * normal/completion.c (iterate_command): Use cmd->prio to check for
32079 active command.
32080 (complete_arguments): Use grub_extcmd_t structure to find options.
32081 (grub_normal_do_completion): Change function grub_iterate_commands to
32082 grub_command_iterate.
32083
32084 * normal/execute.c (grub_script_execute_cmd): No need to parse
32085 argument here.
32086
32087 * normal/main.c (grub_dyncmd_dispatcher): New function.
32088 (read_command_list): Register unload commands as dyncmd.
32089 (grub_cmd_normal): Use new command interface, register rescue,
32090 unregister normal at entry, register normal, unregister rescue at exit.
32091
32092 * include/grub/list.h (grub_list_test_t): New type.
32093 (grub_list_iterate): Return int instead of void.
32094 (grub_list_insert): New function.
32095 (GRUB_AS_NAMED_LIST_P): New macro.
32096 (GRUB_AS_PRIO_LIST): Likewise.
32097 (GRUB_AS_PRIO_LIST_P): Likewise.
32098 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
32099 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
32100 (grub_prio_list): New structure.
32101 (grub_prio_list_insert): New function.
32102 (grub_prio_list_remove): New inline function.
32103
32104 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
32105 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
32106 (GRUB_COMMAND_FLAG_MENU): Likewise.
32107 (GRUB_COMMAND_FLAG_BOTH): Likewise.
32108 (GRUB_COMMAND_FLAG_TITLE): Likewise.
32109 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
32110 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
32111 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
32112 (grub_command): Likewise.
32113 (grub_register_command): Likewise.
32114 (grub_command_find): Likewise.
32115 (grub_iterate_commands): Likewise.
32116 (grub_command_init): Likewise.
32117 (grub_arg_parse): Likewise.
32118 (grub_arg_show_help): Likewise.
32119
32120 * include/grub/rescue.h (grub_rescue_register_command): Removed.
32121 (grub_rescue_unregister_command): Likewise.
32122
32123 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
32124 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
32125 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
32126
32127 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
32128 grub_rescue_cmd_initrd.
32129 * include/grub/i386/loader.h: Likewise.
32130 * include/grub/x86_64/loader.h: Likewise.
32131
32132 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
32133
1f4147aa 321342009-03-21 Bean <bean123ch@gmail.com>
32135
32136 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
32137 instead of stat in mingw environment.
32138
32139 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
32140
32141 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
32142
32143 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
32144 AC_CONFIG_LINKS.
32145
2156d5ba 321462009-03-21 Bean <bean123ch@gmail.com>
32147
32148 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
32149 out of range error.
32150
177b82ca 321512009-03-18 Michel Dänzer <michel@daenzer.net>
32152
32153 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
32154 checking inode flags for EXT4_EXTENTS_FLAG.
32155
14aad807 321562009-03-18 Robert Millan <rmh@aybabtu.com>
32157
32158 * loader/i386/linux.c: Include `<grub/video.h>' and
32159 `<grub/i386/pc/vbe.h>'..
32160 (grub_linux_setup_video): New function. Loosely based on the EFI one.
32161 (grub_linux32_boot): Attempt to configure video settings with
32162 grub_linux_setup_video().
32163 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
32164 to avoid grub_console_fini() which would step out of graphical mode
32165 unconditionally.
32166
8cf83a27 321672009-03-14 Robert Millan <rmh@aybabtu.com>
32168
32169 Fix build on powerpc.
32170 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
32171
40164e75 321722009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
32173
32174 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
32175 background image command.
32176
c58bc32a 321772009-03-12 Colin D Bennett <colin@gibibit.com>
32178
32179 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
32180 (grub_gfxterm_putchar): Extract pairs of identical calls to
32181 draw_cursor out of conditional blocks.
32182
5415144a 321832009-03-11 Pavel Roskin <proski@gnu.org>
32184
32185 * fs/hfs.c (grub_hfs_strncasecmp): New function.
32186 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
32187
6394042e 321882009-03-11 Robert Millan <rmh@aybabtu.com>
32189
32190 * loader/i386/multiboot_elfxx.c
32191 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
32192
b7b50e5f 321932009-03-11 Felix Zielcke <fzielcke@z-51.de>
32194
32195 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
32196 `kern/handler.c'.
32197
1ca7fc96 321982009-03-11 Robert Millan <rmh@aybabtu.com>
32199
32200 * loader/i386/multiboot.c (code_size): New variable.
32201 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 32202 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 32203 4-byte alignment to MBI and others by increasing
7d074e3c 32204 `boot_loader_name_length' appropriately.
1ca7fc96 32205
32206 * loader/i386/multiboot_elfxx.c
32207 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
32208
a83ea1d2 322092009-03-09 Felix Zielcke <fzielcke@z-51.de>
32210
32211 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
32212 `fs/ext2.c'.
32213
aa9f3bff 322142009-03-08 Robert Millan <rmh@aybabtu.com>
32215
32216 Make loader/i386/linux.c usable on i386-pc again.
32217
32218 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
32219 memory to heap.
32220 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
32221 `#error' stanza.
32222
d8b3b60e 322232009-03-07 Bean <bean123ch@gmail.com>
32224
32225 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
32226 allocation.
32227
b362c9e9 322282009-03-06 Robert Millan <rmh@aybabtu.com>
32229
32230 Fix display issue on terminals with screen size other than 80x25
32231 (e.g. gfxterm with resolution higher than 640x480).
32232
32233 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 32234 position relative to the center of the terminal instead of relying
b362c9e9 32235 on a hardcoded offset.
32236
9304eef1 322372009-03-04 Robert Millan <rmh@aybabtu.com>
32238
32239 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
32240 installed.
32241
32242 * Makefile.in (host_kernel): New variable.
32243 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
32244 scripts instead of just the windows one.
32245 * configure.ac: Initialize and AC_SUBST `host_kernel'.
32246
eabc95fb 322472009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 32248
32249 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
32250 `kern/handler.c'.
32251 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32252 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32253 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32254 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32255 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32256 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32257
ceb1223c 322582009-03-04 Felix Zielcke <fzielcke@z-51.de>
32259
32260 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
32261 or if there's no space for the disk label and print the partition number on a
32262 invalid magic.
32263
4910684a 322642009-03-04 Felix Zielcke <fzielcke@z-51.de>
32265
32266 * util/misc.c: Include <time.h>.
32267 (grub_millisleep): New function.
32268
7e9ca17a 322692009-03-04 Bean <bean123ch@gmail.com>
32270
32271 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
32272 another option -mno-red-zone.
32273
32274 * commands/handler.c: Change module description.
32275
32276 * kern/handler.c: Add missing space at the end of description line.
32277
32278 * kern/list.c: Likewise.
32279
f501677c 322802009-03-03 Robert Millan <rmh@aybabtu.com>
32281
32282 Move more components to the relocation area, and fix mbi pointer
32283 handling to use the destination rather than the origin (thanks to
32284 Vladimir Serbinenko for spotting).
32285
32286 * loader/i386/multiboot.c (mbi_dest): New variable.
32287 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
32288 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
32289 relocation area.
32290
9902d047 322912009-03-01 Bean <bean123ch@gmail.com>
32292
50fb7002 32293 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 32294 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
32295 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
32296 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
32297
32298 * loader/i386/efi/linux.c (acpi_guid): New variable.
32299 (acpi_guid): Likewise.
32300 (EBDA_SEG_ADDR): New constant.
32301 (LOW_MEM_ADDR): Likewise.
32302 (FAKE_EBDA_SEG): Likewise.
32303 (fake_bios_data): New function.
32304 (grub_linux_boot): Call fake_bios_data.
32305
71b9f361 323062009-03-01 Bean <bean123ch@gmail.com>
32307
32308 * commands/terminal.c: Removed.
32309
32310 * commands/handler.c: New file.
32311
32312 * include/grub/list.h: Likewise.
32313
32314 * include/grub/handler.h: Likewise.
32315
32316 * kern/list.c: Likewise.
32317
32318 * kern/handler.c: Likewise.
32319
32320 * kern/term.h: Include header file <grub/handler.h>.
32321 (grub_term_input): Move next field to the beginning.
32322 (grub_term_output): Likewise.
32323 (grub_term_input_class): New variable.
32324 (grub_term_output_class): Likewise.
32325 (grub_term_register_input): Changed to inline function.
32326 (grub_term_register_output): Likewise.
32327 (grub_term_unregister_input): Likewise.
32328 (grub_term_unregister_output): Likewise.
32329 (grub_term_set_current_input): Likewise.
32330 (grub_term_set_current_output): Likewise.
32331 (grub_term_get_current_input): Likewise.
32332 (grub_term_get_current_output): Likewise.
32333 (grub_term_iterate_input): Removed.
32334 (grub_term_iterate_output): Likewise.
32335
32336 * kern/term.c (grub_term_list_input): Removed.
32337 (grub_term_list_output): Likewise.
32338 (grub_term_input_class): New variable.
32339 (grub_term_output_class): Likewise.
50fb7002 32340 (grub_cur_term_input): Change variable as macro.
71b9f361 32341 (grub_cur_term_output): Likewise.
32342 (grub_term_register_input): Removed.
32343 (grub_term_register_output): Likewise.
32344 (grub_term_unregister_input): Likewise.
32345 (grub_term_unregister_output): Likewise.
32346 (grub_term_set_current_input): Likewise.
32347 (grub_term_set_current_output): Likewise.
32348 (grub_term_iterate_input): Likewise.
32349 (grub_term_iterate_output): Likewise.
32350 (grub_term_get_current_input): Likewise.
32351 (grub_term_get_current_output): Likewise.
32352
32353 * util/grub-editenv.c: Include header file <grub/handler.h>.
32354 (grub_term_get_current_input): Removed.
32355 (grub_term_get_current_output): Likewise.
32356 (grub_term_input_class): New variable.
50fb7002 32357 (grub_term_output_class): Likewise.
71b9f361 32358
32359 * util/grub-fstest.c (grub_term_get_current_input): Removed.
32360 (grub_term_get_current_output): Likewise.
32361 (grub_term_input_class): New variable.
50fb7002 32362 (grub_term_output_class): Likewise.
71b9f361 32363
32364 * util/grub-probe.c (grub_term_get_current_input): Removed.
32365 (grub_term_get_current_output): Likewise.
32366 (grub_term_input_class): New variable.
50fb7002 32367 (grub_term_output_class): Likewise.
71b9f361 32368
32369 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
32370 (grub_term_get_current_output): Likewise.
32371 (grub_term_input_class): New variable.
50fb7002 32372 (grub_term_output_class): Likewise.
71b9f361 32373
32374 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
32375 (terminal_mod_SOURCES): Likewise.
32376 (terminal_mod_CFLAGS): Likewise.
32377 (terminal_mod_LDFLAGS): Likewise.
32378
32379 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
32380 handler.c.
32381 (kernel_img_SOURCES): Add list.c and handler.c.
32382 (kernel_img_HEADERS): Add list.h and handler.h.
32383
32384 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
32385 handler.c.
32386 (kernel_mod_SOURCES): Add list.c and handler.c.
32387 (kernel_mod_HEADERS): Add list.h and handler.h.
32388
32389 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
32390 handler.c.
32391 (kernel_elf_SOURCES): Add list.c and handler.c.
32392 (kernel_elf_HEADERS): Add list.h and handler.h.
32393
32394 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
32395 handler.c.
32396 (kernel_elf_SOURCES): Add list.c and handler.c.
32397 (kernel_elf_HEADERS): Add list.h and handler.h.
32398
32399 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
32400 handler.c.
32401 (kernel_mod_SOURCES): Add list.c and handler.c.
32402 (kernel_mod_HEADERS): Add list.h and handler.h.
32403
32404 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
32405 handler.c.
32406 (kernel_elf_SOURCES): Add list.c and handler.c.
32407 (kernel_elf_HEADERS): Add list.h and handler.h.
32408
8a31787f 324092009-02-27 Robert Millan <rmh@aybabtu.com>
32410
32411 Factorize elf32 / elf64 code in Multiboot loader. This will
32412 prevent it from getting out of sync again.
32413
32414 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
32415 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
32416 grub_multiboot_load_elf64): Move from here ...
32417 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
32418 grub_multiboot_load_elf): ... to here (new file).
32419
51cd3dfc 324202009-02-27 Robert Millan <rmh@aybabtu.com>
32421
32422 * util/grub.d/10_linux.in: Rename "single-user mode" to
32423 "recovery mode".
32424
6e8c9c3a 324252009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
32426
32427 Don't leak in SCSI code.
32428 * disk/scsi.c (grub_scsi_close): free `scsi'.
32429
4b6bf4f9 324302009-02-27 Robert Millan <rmh@aybabtu.com>
32431
32432 * loader/i386/pc/multiboot.c: Move from here ...
32433 * loader/i386/multiboot.c: ... to here. Update all users.
32434
b9413424 324352009-02-27 Robert Millan <rmh@aybabtu.com>
32436
32437 Patch from Alexandre Bique <bique.alexandre@gmail.com>
32438 * util/i386/pc/grub-setup.c (setup): Fix directory path.
32439
50fb7002 324402009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 32441
32442 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
32443 b-tree.
32444
8cc50345 324452009-02-27 Robert Millan <rmh@aybabtu.com>
32446
32447 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
32448 `0x' qualifier as 0 when base is specified as parameter).
32449
6e09b8b7 324502009-02-24 Bean <bean123ch@gmail.com>
32451
32452 * configure.ac: Check for -mcmodel=large in x86_64 target.
32453
32454 * include/grub/efi/api.h (efi_call_10): New macro.
32455 (efi_wrap_10): New function.
32456
32457 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
32458 (GRUB_PE32_REL_BASED_HIGH): Likewise.
32459 (GRUB_PE32_REL_BASED_LOW): Likewise.
32460 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
32461 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
32462 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
32463 (GRUB_PE32_REL_BASED_SECTION): Likewise.
32464 (GRUB_PE32_REL_BASED_REL): Likewise.
32465 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
32466 (GRUB_PE32_REL_BASED_DIR64): Likewise.
32467 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
32468
32469 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
32470 issue.
32471
32472 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
32473 (efi_wrap_10): New function.
32474
32475 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
32476
32477 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
32478 MB/MBP model (NV chipset).
32479 (devdata_devs): Add devpath_5 to the list.
32480
32481 * load/i386/efi/linux.c (video_base): Remove variable.
32482 (RGB_MASK): New macro.
32483 (RGB_MAGIC): Likewise.
32484 (LINE_MIN): Likewise.
32485 (LINE_MAX): Likewise.
32486 (FBTEST_STEP): Likewise.
32487 (FBTEST_COUNT): Likewise.
32488 (fb_list): New variable.
32489 (grub_find_video_card): Remove function.
32490 (find_framebuf): New function.
32491 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
32492 line length.
32493
32494 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
32495 problem for x86_64.
32496
74b21bee 324972009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
32498
32499 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
32500
32501 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
32502 coding tool name.
32503
a455f472 325042009-02-22 Robert Millan <rmh@aybabtu.com>
32505
32506 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
32507 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
32508 in our relocation, instead of using it directly from heap. Also
32509 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
32510
6374daf3 325112009-02-21 Robert Millan <rmh@aybabtu.com>
32512
32513 Implement USB keyboard support (based on patch by Marco Gerards)
32514
32515 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
32516 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
32517 (usb_keyboard_mod_LDFLAGS): New variables.
32518
32519 * term/usb_keyboard.c: New file.
32520
8fa4ea70 325212009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
32522
32523 Corrected wrong declaration
32524
32525 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
32526
353976ac 325272009-02-14 Christian Franke <franke@computer.org>
32528
32529 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
32530 (grub_lspci_iter): Print class code and programming interface byte.
32531
6aa1169b 325322009-02-14 Christian Franke <franke@computer.org>
32533
32534 * gendistlist.sh: Ignore `.svn' directories.
32535
265372ca 325362009-02-14 Felix Zielcke <fzielcke@z-51.de>
32537
32538 * fs/fat.c: Add 2009 to Copyright line.
32539
9ff516f3 325402009-02-14 Christian Franke <franke@computer.org>
32541
32542 * commands/hdparm.c: New file. Provides `hdparm' command
32543 which sends ATA commands via grub_disk_ata_pass_through ().
32544
32545 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
32546
32547 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
32548 and <grub/cpu/io.h> to include/grub/ata.h.
32549 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
32550 (GRUB_CDROM_SECTOR_SIZE): Remove.
32551 (GRUB_ATA_*): Move to include/grub/ata.h.
32552 (GRUB_ATAPI_*): Likewise.
32553 (enum grub_ata_commands): Likewise.
32554 (enum grub_ata_timeout_milliseconds): Likewise.
32555 (struct grub_ata_device): Likewise.
32556 (grub_ata_regset): Likewise.
32557 (grub_ata_regget): Likewise.
32558 (grub_ata_regset2): Likewise.
32559 (grub_ata_regget2): Likewise.
32560 (grub_ata_check_ready): Likewise.
32561 (grub_ata_wait_not_busy): Remove static, exported in
32562 include/grub/ata.h.
32563 (grub_ata_wait_drq): Likewise.
32564 (grub_ata_pio_read): Likewise.
32565
32566 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
32567 function for hdparm.mod.
32568
32569 * include/grub/ata.h: New file, contains declarations from
32570 disk/ata.c.
32571 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
32572
32573 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
32574 (grub_disk_ata_pass_through): New exported variable.
32575
32576 * kern/disk.c (grub_disk_ata_pass_through): New variable.
32577
772e23da 325782009-02-13 Colin D Bennett <colin@gibibit.com>
32579
32580 Support multiple fallback entries, and provide an API to support
32581 executing default+fallback menu entries. Renamed the `terminal' menu
32582 viewer to `text'.
32583
32584 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
32585 variable declaration.
32586 (grub_menu_execute_callback): New structure declaration.
32587 (grub_menu_execute_callback_t): New typedef.
32588 (grub_menu_execute_with_fallback): New function declaration.
32589 (grub_menu_get_entry): Likewise.
32590 (grub_menu_get_timeout): Likewise.
32591 (grub_menu_set_timeout): Likewise.
32592
32593 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
32594
32595 * normal/menu.c (grub_wait_after_message): Moved to
32596 `normal/menu_text.c'.
32597 (draw_border): Likewise.
32598 (print_message): Likewise.
32599 (print_entry): Likewise.
32600 (print_entries): Likewise.
32601 (grub_menu_init_page): Likewise.
32602 (get_entry_number): Likewise.
32603 (print_timeout): Likewise.
32604 (run_menu): Likewise.
32605 (grub_menu_execute_entry): Likewise.
32606 (show_text_menu): Likewise.
32607 (get_and_remove_first_entry_number): New function.
32608 (grub_menu_execute_with_fallback): Likewise.
32609 (get_entry): Renamed to ...
32610 (grub_menu_get_entry): .. this and made it global.
32611 (get_timeout): Renamed to ...
32612 (grub_menu_get_timeout): ... this and made it global.
32613 (set_timeout): Renamed to ...
32614 (grub_menu_set_timeout): ... this and made it global.
32615 (grub_normal_terminal_menu_viewer): Renamed to ...
32616 (grub_normal_text_menu_viewer): ... this.
32617
32618 * normal/menu_text.c: New file. Extracted text-menu-specific code
32619 from normal/menu.c.
32620
32621 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
32622 (normal_mod_SOURCES): Likewise.
32623
32624 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32625 (normal_mod_SOURCES): Likewise.
32626
32627 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32628 (normal_mod_SOURCES): Likewise.
32629
32630 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
32631 (normal_mod_SOURCES): Likewise.
32632
32633 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32634 (normal_mod_SOURCES): Likewise.
32635
32636 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32637 (normal_mod_SOURCES): Likewise.
32638
32639 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32640 (normal_mod_SOURCES): Likewise.
32641
16ac430e 326422009-02-11 Robert Millan <rmh@aybabtu.com>
32643
32644 * util/grub.d/00_header.in: Update old reference to `font' command.
32645
06ff20fc 326462009-02-10 Felix Zielcke <fzielcke@z-51.de>
32647
32648 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
32649
32650 Based on patch from Javier Martín.
32651
96da9407 326522009-02-09 Felix Zielcke <fzielcke@z-51.de>
32653
32654 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 32655 to avoid false positives with FAT.
96da9407 32656 (grub_fstest_SOURCES): Likewise.
32657 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
32658 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32659 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32660 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32661 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32662 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32663
6dca6fe4 326642009-02-09 Felix Zielcke <fzielcke@z-51.de>
32665
06ff20fc 32666 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 32667 bpb.version_specific.fat12_or_fat16.fstype and
32668 bpb.version_specific.fat32.fstype.
32669
2550c62f 326702009-02-08 Robert Millan <rmh@aybabtu.com>
32671
be110b30 32672 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 32673
56978920 326742009-02-08 Robert Millan <rmh@aybabtu.com>
32675
32676 * Makefile.in (host_os, host_cpu): New variables.
32677 (target_os): Remove. Update all users.
32678
d64399b5 326792009-02-08 Marco Gerards <marco@gnu.org>
32680
32681 * Makefile.in (enable_grub_emu_usb): New variable.
32682 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
32683 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
32684 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
32685 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
32686 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
32687 `usbtest.mod' and `usbms.mod'.
32688 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
32689 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
32690 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
32691 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
32692 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
32693 variables.
32694
32695 * disk/usbms.c: New file.
32696
32697 * include/grub/usb.h: Likewise.
32698
32699 * include/grub/usbtrans.h: Likewise.
32700
32701 * include/grub/usbdesc.h: Likewise.
32702
32703 * bus/usb/usbtrans.c: Likewise.
32704
32705 * bus/usb/ohci.c: Likewise.
32706
32707 * bus/usb/uhci.c: Likewise.
32708
32709 * bus/usb/usbhub.c: Likewise.
32710
32711 * bus/usb/usb.c: Likewise.
32712
32713 * commands/usbtest.c: Likewise.
32714
32715 * util/usb.c: Likewise.
50fb7002 32716
d64399b5 32717 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
32718
32719 * configure.ac: Test for libusb presence.
50fb7002 32720
d64399b5 32721 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
32722
2b40d6bb 327232009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
32724
32725 * kern/mm.c: Add more comments.
32726
73a4ce81 327272009-02-08 Robert Millan <rmh@aybabtu.com>
32728
32729 Patch from Javier Martín.
32730 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
32731 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
32732
f821ce59 327332009-02-08 Robert Millan <rmh@aybabtu.com>
32734
32735 * fs/cpio.c: Split tar functionality to ...
32736 * fs/tar.c: ... here (new file). Update all users.
32737
aebfc4b0 327382009-02-07 Robert Millan <rmh@aybabtu.com>
32739
32740 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
32741 backward-incompatible features.
32742
32743 Based on patch from Javier Martín, with some adjustments.
32744
50fb7002 327452009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 32746
32747 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
32748
0bb5115e 327492009-02-07 Robert Millan <rmh@aybabtu.com>
32750
32751 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
32752 position of `disk/lvm.c' to ensure grub_init_all() always picks it
32753 after the RAID stuff.
32754
38a0f8e7 327552009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
32756
50fb7002 32757 Fixes problem when running vbetest command as reported by
38a0f8e7 32758 Vladimir Serbinenko <phcoder@gmail.com>.
32759
32760 * (grub_vbe_set_video_mode): Fixed problem with text modes.
32761
3143cc1c 327622009-02-04 Felix Zielcke <fzielcke@z-51.de>
32763
32764 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
32765 /dev/md/NpN style mdraid devices.
32766
9cba6fce 327672009-02-03 Felix Zielcke <fzielcke@z-51.de>
32768
32769 * util/unifont2pff.rb: Remove.
32770
e507a2c1 327712009-02-03 Felix Zielcke <fzielcke@z-51.de>
32772
32773 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
32774 `#'.
32775
d2c2b4cd 327762009-02-03 Felix Zielcke <fzielcke@z-51.de>
32777
32778 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
32779 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
32780 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
32781 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
32782 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32783 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32784 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
32785
b4315fb0 327862009-02-02 Christian Franke <franke@computer.org>
32787
32788 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
32789
de3aa260 327902009-02-01 Felix Zielcke <fzielcke@z-51.de>
32791
7c3ff286 32792 * INSTALL: Note that we now require at least autoconf 2.59 and
32793 that LZO is optional.
de3aa260 32794
825a182b 327952009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
32796
32797 Base on patch on bug #24154 created by Tomas Tintera
32798 <trosos@seznam.cz>.
32799
32800 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
32801
a69ef770 328022009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
32803
7c3ff286 32804 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 32805 <bero@arklinux.org>.
32806
32807 * normal/parser.y (script_init): Add missing semicolon.
32808
6fa42fa6 328092009-01-31 Colin D Bennett <colin@gibibit.com>
32810
7c3ff286 32811 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 32812 (free_menu_entry_classes): Added.
32813 (grub_normal_menu_addentry): Added class property handling.
32814 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
32815 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
32816
32817 * normal/menu_viewer.c: New file.
32818
32819 * normal/menu.c (run_menu_entry): Renamed to ...
32820 (grub_menu_execute_entry): ... this and made it as global.
32821 (grub_menu_run): Renamed to ...
32822 (show_text_menu): ... this and made it local.
32823 (show_text_menu): Adapt to new function names.
32824 (grub_normal_terminal_menu_viewer): New global variable.
32825
32826 * include/grub/menu.h: New file.
32827
32828 * include/grub/menu_viewer.h: New file.
32829
32830 * include/grub/normal.h: Added include to grub/menu.h.
32831 (grub_menu_entry): Moved to include/grub/menu.h.
32832 (grub_menu_entry_t): Likewise.
32833 (grub_menu): Likewise.
32834 (grub_menu_t): Likewise.
32835 (grub_normal_terminal_menu_viewer): Added.
32836 (grub_menu_execute_entry): Likewise.
32837 (grub_menu_run): Removed.
32838
32839 * DISTLIST: Added include/grub/menu.h.
32840 Added include/grub/menu_viewer.h.
32841 Added normal/menu_viewer.c.
32842
328432009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
32844
32845 * normal/execute.c (grub_script_execute_menuentry): Changed to use
32846 arglist for menutitle arguments.
32847
32848 * normal/main.c (grub_normal_menu_addentry): Likewise.
32849
32850 * normal/parser.y (menuentry): Likewise.
32851
32852 * normal/script.c (grub_script_create_cmdmenu): Likewise.
32853
32854 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
32855 (grub_script_create_cmdmenu): Likewise.
32856
32857 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
32858
32859 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
32860 changes.
32861
32862 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
32863
32864 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
32865
32866 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
32867
32868 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
32869
32870 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
32871
32872 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
32873
56192c23 328742009-01-30 Christian Franke <franke@computer.org>
32875
32876 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
32877 in option help text.
32878
d72521b3 328792009-01-27 Pavel Roskin <proski@gnu.org>
32880
32881 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
32882
994b5e84 328832009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
32884
32885 * commands/lsmmap.c: Add include to grub/machine/memory.h.
32886
32887 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
32888
32889 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
32890 unregister function.
32891
6a7eab2c 328922009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
32893
32894 * disk/scsi.c (grub_scsi_read): Fix sign problem.
32895
32896 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
32897
32898 * util/grub-mkfont.c (usage): Fix typo.
32899
32900 * util/elf/grub-mkimage.c (load_modules): Fix warning.
32901
1806b56e 329022009-01-26 Daniel Mierswa <impulze@impulze.org>
32903
3fb18f09 32904 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
32905
336e1fb9 32906 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
32907
1806b56e 32908 * kern/misc.c (grub_strcasecmp): New function.
32909 (grub_strcasecmp): Use grub_size_t instead of int for length.
32910 Fix return value.
32911 * include/grub/misc.h: Update function prototypes.
32912
580b2a0f 329132009-01-26 Robert Millan <rmh@aybabtu.com>
32914
32915 * configure.ac: Fix cross-compilation check.
ef257b36 32916
d31c24f1 329172009-01-22 Christian Franke <franke@computer.org>
32918
32919 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
32920 (precision) digit string. Allow `.format2' without `format1' (width).
32921 Limit input chars for `%s' output to `format2' if specified. This is
32922 compatible with standard printf ().
32923
3138b44c 329242009-01-22 Christian Franke <franke@computer.org>
32925
32926 * disk/ata.c (grub_ata_wait_status): Replace by ...
32927 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
32928 other status bits may be invalid while BSY is asserted.
32929 (grub_ata_check_ready): New function.
32930 (grub_ata_cmd): Removed.
32931 (grub_ata_wait_drq): New function.
32932 (grub_ata_strncpy): Remove inline.
32933 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
32934 and error check now done by grub_ata_wait_drq ().
32935 (grub_ata_pio_write): Likewise.
32936 (grub_atapi_identify): Set DEV before check for !BSY. Use
32937 grub_ata_wait_drq () to wait for data.
32938 (grub_ata_device_initialize): Add status register check to
32939 detect missing SATA slave devices. Add debug messages.
32940 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
32941 (grub_atapi_packet): Set DEV before check for !BSY. Replace
32942 transfer loop by grub_ata_pio_write ().
32943 (grub_ata_identify): Set DEV before check for !BSY. Use
32944 grub_ata_wait_drq () to wait for data.
ef257b36 32945 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 32946 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
32947 read/write in one loop. Fix invalid command on write. Fix incomplete
32948 command on (size % batch) == 0. Add missing error check after write of
32949 last block. Add debug messages.
32950 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
32951
59a64ef6 329522009-01-19 Christian Franke <franke@computer.org>
32953
32954 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
32955 (GRUB_ATAPI_IREASON_*): Likewise.
32956 (grub_ata_pio_write): Fix timeout error return.
32957 (grub_atapi_identify): Add grub_ata_wait () after cmd.
32958 (grub_atapi_wait_drq): New function.
32959 (grub_atapi_packet): New parameter `size'.
32960 Use grub_atapi_wait_drq () and direct write instead of
32961 grub_ata_pio_write ().
32962 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
32963 reads the number of bytes requested by the device for each DRQ
32964 assertion.
32965 (grub_atapi_write): Remove old implementation, return not
32966 implemented instead.
32967
1cfe20b3 329682009-01-19 Christian Franke <franke@computer.org>
32969
32970 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
32971 of 512 to calculate data size.
32972 (grub_scsi_read12): Likewise.
32973 (grub_scsi_write10): Likewise.
32974 (grub_scsi_write12): Likewise.
32975 (grub_scsi_read): Adjust size according to blocksize.
32976 Add checks for invalid blocksize and unaligned transfer.
32977
bee5fe5d 329782009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
32979
32980 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
32981
ef257b36 32982 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 32983 width glyphs.
32984
3e643f8c 329852009-01-19 Robert Millan <rmh@aybabtu.com>
32986
32987 * config.guess: Update to latest version from config git.
32988 * config.sub: Likewise.
32989
4fa80998 329902009-01-17 Felix Zielcke <fzielcke@z-51.de>
32991
32992 * Makefile.in: Change font compilation to use new grub-mkfont instead
32993 of java version.
32994
32995 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
32996 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
32997 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
32998 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
32999 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
33000 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
33001 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
33002 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
33003 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
33004
7086085b 330052009-01-16 Christian Franke <franke@computer.org>
33006
33007 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
33008 (enum grub_ata_timeout_milliseconds): New enum.
33009 (grub_ata_wait_status): Add parameter milliseconds.
33010 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
33011 recovery from timed-out commands.
33012 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
33013 return grub_errno instead of REG_ERROR.
33014 (grub_ata_pio_write): Add parameter milliseconds.
33015 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
33016 Pass milliseconds to grub_ata_wait_status () and
33017 grub_ata_pio_read ().
33018 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
33019 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
33020 grub_ata_wait_status (). Fix IDENTIFY timeout check.
33021 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
33022 It is not suitable for device detection, because DEV bit is ignored,
33023 the command may run too long, and not all devices set the signature
33024 properly.
33025 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
33026 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
33027 Fix device selection, DEV bit must be set first to address the registers
33028 of the correct device.
33029 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
33030 grub_ata_pio_read/write ().
33031 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
33032 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
33033
4a412913 330342009-01-13 Carles Pina i Estany <carles@pina.cat>
33035
33036 * util/grub-editenv.c (main): Use fseeko(), not fseek().
33037
7795c55e 330382009-01-13 Bean <bean123ch@gmail.com>
d913988c 33039
33040 * util/grub-mkfont.c (write_font): forget to remove some debug code.
33041
7795c55e 330422009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 33043
33044 * Makefile.in: (enable_grub_mkfont): New variable.
33045 (freetype_cflags): Likewise.
33046 (freetype_libs): Likewise.
33047
33048 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
33049 (grub_mkfont_SOURCES): New variable.
33050 (grub_mkfont_CFLAGS): Likewise.
33051 (grub_mkfont_LDFLAGS): Likewise.
33052
33053 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
33054 library if `--enable-grub-mkfont' is requested.
33055 (enable_grub_mkfont): New variable.
33056 (freetype_cflags): Likewise.
33057 (freetype_libs): Likewise.
33058
33059 * util/grub-mkfont.c: New file.
33060
093af1fe 330612009-01-12 Christian Franke <franke@computer.org>
33062
33063 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
33064 mode check. Fix setting of compat_use[].
33065
f36cc108 330662009-01-10 Robert Millan <rmh@aybabtu.com>
33067
33068 Update a few copyright years which we forgot to do in 2008 (only for
33069 files whose changes made in 2008 were copyright-significant)
33070
33071 * Makefile.in: Add 2008 to Copyright line.
33072 * disk/ieee1275/ofdisk.c: Likewise.
33073 * disk/efi/efidisk.c: Likewise.
33074 * kern/dl.c: Likewise.
33075 * kern/sparc64/ieee1275/init.c: Likewise.
33076 * kern/mm.c: Likewise.
33077 * kern/efi/mm.c: Likewise.
33078 * boot/i386/pc/boot.S: Likewise.
33079 * genfslist.sh: Likewise.
33080 * fs/iso9660.c: Likewise.
33081 * fs/hfs.c: Likewise.
33082 * fs/jfs.c: Likewise.
33083 * fs/minix.c: Likewise.
33084 * fs/ufs.c: Likewise.
33085 * gensymlist.sh.in: Likewise.
33086 * genkernsyms.sh.in: Likewise.
33087 * include/grub/misc.h: Likewise.
33088 * include/grub/types.h: Likewise.
33089 * include/grub/symbol.h: Likewise.
33090 * include/grub/elf.h: Likewise.
33091 * include/grub/kernel.h: Likewise.
33092 * include/grub/disk.h: Likewise.
33093 * include/grub/dl.h: Likewise.
33094 * include/grub/i386/linux.h: Likewise.
33095 * include/grub/i386/pc/biosdisk.h: Likewise.
33096 * include/grub/efi/api.h: Likewise.
33097 * include/grub/efi/pe32.h: Likewise.
33098 * include/grub/util/misc.h: Likewise.
33099 * normal/execute.c: Likewise.
33100 * normal/arg.c: Likewise.
33101 * normal/completion.c: Likewise.
33102 * normal/lexer.c: Likewise.
33103 * normal/parser.y: Likewise.
33104 * normal/misc.c: Likewise.
33105 * commands/i386/pc/vbeinfo.c: Likewise.
33106 * commands/hexdump.c: Likewise.
33107 * commands/terminal.c: Likewise.
33108 * commands/ls.c: Likewise.
33109 * commands/help.c: Likewise.
33110 * partmap/pc.c: Likewise.
33111 * loader/efi/chainloader.c: Likewise.
33112 * loader/multiboot_loader.c: Likewise.
33113 * loader/i386/pc/multiboot2.c: Likewise.
33114 * term/efi/console.c: Likewise.
33115 * term/i386/pc/serial.c: Likewise.
33116 * util/lvm.c: Likewise.
33117 * util/console.c: Likewise.
33118 * util/i386/efi/grub-mkimage.c: Likewise.
33119 * util/raid.c: Likewise.
33120
7f02114b 331212009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
33122
33123 * commands/videotest.c: Removed include to grub/machine/memory.h.
33124
33125 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
33126 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
33127 (video_mod_SOURCES): Removed.
33128 (video_mod_CFLAGS): Likewise.
33129 (video_mod_LDFLAGS): Likewise.
33130 (gfxterm_mod_SOURCES): Likewise.
33131 (gfxterm_mod_CFLAGS): Likewise.
33132 (gfxterm_mod_LDFLAGS): Likewise.
33133 (videotest_mod_SOURCES): Likewise.
33134 (videotest_mod_CFLAGS): Likewise.
33135 (videotest_mod_LDFLAGS): Likewise.
33136 (bitmap_mod_SOURCES): Likewise.
33137 (bitmap_mod_CFLAGS): Likewise.
33138 (bitmap_mod_LDFLAGS): Likewise.
33139 (tga_mod_SOURCES): Likewise.
33140 (tga_mod_CFLAGS): Likewise.
33141 (tga_mod_LDFLAGS): Likewise.
33142 (jpeg_mod_SOURCES): Likewise.
33143 (jpeg_mod_CFLAGS): Likewise.
33144 (jpeg_mod_LDFLAGS): Likewise.
33145 (png_mod_SOURCES): Likewise.
33146 (png_mod_CFLAGS): Likewise.
33147 (png_mod_LDFLAGS): Likewise.
33148
33149 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
33150 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
33151 (video_mod_SOURCES): Added.
33152 (video_mod_CFLAGS): Likewise.
33153 (video_mod_LDFLAGS): Likewise.
33154 (videotest_mod_SOURCES): Likewise.
33155 (videotest_mod_CFLAGS): Likewise.
33156 (videotest_mod_LDFLAGS): Likewise.
33157 (bitmap_mod_SOURCES): Likewise.
33158 (bitmap_mod_CFLAGS): Likewise.
33159 (bitmap_mod_LDFLAGS): Likewise.
33160 (tga_mod_SOURCES): Likewise.
33161 (tga_mod_CFLAGS): Likewise.
33162 (tga_mod_LDFLAGS): Likewise.
33163 (jpeg_mod_SOURCES): Likewise.
33164 (jpeg_mod_CFLAGS): Likewise.
33165 (jpeg_mod_LDFLAGS): Likewise.
33166 (png_mod_SOURCES): Likewise.
33167 (png_mod_CFLAGS): Likewise.
33168 (png_mod_LDFLAGS): Likewise.
33169 (gfxterm_mod_SOURCES): Likewise.
33170 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 33171 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 33172
33173 * term/gfxterm.c: Removed include to grub/machine/memory.h,
33174 grub/machine/console.h.
33175
644fff97 331762009-01-04 Jerone Young <jerone@gmail.com>
33177
33178 Make on screen instructions clearer
33179
33180 Based on patch created by Jidanni <jidanni@jidanni.org>
33181
33182 * normal/menu.c: print clearer instructions on the screen
33183
1e901a75 331842009-01-02 Colin D Bennett <colin@gibibit.com>
33185
33186 New font engine.
34c44600 33187
1e901a75 33188 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
33189 build system and fixed gfxterm.c to work with different sized fonts.
33190
33191 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 33192
1e901a75 33193 * configure: Re-generated.
34c44600 33194
1e901a75 33195 * DISTLIST: Removed font/manager.c.
33196 Added font/font.c.
33197 Added font/font_cmd.c.
34c44600 33198
1e901a75 33199 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
33200 compilation.
34c44600 33201
1e901a75 33202 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 33203
33204 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 33205
33206 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 33207
1e901a75 33208 * normal/menu.c: Likewise.
34c44600 33209
1e901a75 33210 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
33211 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 33212
1e901a75 33213 * include/grub/font.h: Replaced with new file.
34c44600 33214
1e901a75 33215 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
33216 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
33217 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
33218 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
33219 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 33220 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 33221 fg_red, fg_green, fg_blue, fg_alpha.
33222 (grub_video_adapter): Removed blit_glyph.
34c44600 33223 (grub_video_blit_glyph): Removed.
33224
1e901a75 33225 * font/manager.c: Removed file.
34c44600 33226
33227 * font/font.c: New file.
33228
1e901a75 33229 * font/font_cmd.c: Likewise.
34c44600 33230
1e901a75 33231 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 33232
1e901a75 33233 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
33234 (grub_video_vbe_map_rgba): Likewise.
33235 (grub_video_vbe_unmap_color_int): Likewise.
33236 (grub_video_vbe_blit_glyph): Removed.
33237 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 33238
1e901a75 33239 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
33240 (get_pixel): Likewise.
34c44600 33241 (set_pixel): Likewise.
33242
1e901a75 33243 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 33244
1e901a75 33245 * term/gfxterm.c: Adapted to new font engine.
34c44600 33246
1e901a75 33247 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 33248
1e901a75 33249 * term/i386/pc/vga.c: Likewise.
34c44600 33250
1e901a75 33251 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 33252
1e901a75 33253 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 33254
1e901a75 33255 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 33256
1e901a75 33257 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 33258
1e901a75 33259 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 33260
1e901a75 33261 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 33262
1e901a75 33263 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 33264
1e901a75 33265 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 33266
1e901a75 33267 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
33268
33269 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 33270
1e901a75 33271 * util/grub-mkconfig_lib.in: Changed font extension.
33272
278922e8 332732008-12-28 Felix Zielcke <fzielcke@z-51.de>
33274
33275 * util/getroot.c (grub_util_get_grub_dev): Add support for
33276 /dev/md/dNNpNN style partitionable mdraid devices.
33277
3ced05cf 332782008-12-12 Alex Smith <alex@alex-smith.me.uk>
33279
33280 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
33281 at a time limit of the PXE TFTP API correctly.
33282 (grub_pxefs_close): Likewise.
33283
7fd0ee30 332842008-11-29 Robert Millan <rmh@aybabtu.com>
33285
34c44600 33286 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 33287 grub_ata_device_initialize() calls.
33288
34c44600 332892008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 33290
33291 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
33292 iteration failed.
33293 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
33294
89313780 332952008-11-28 Robert Millan <rmh@aybabtu.com>
33296
33297 Fix build on powerpc-ieee1275. Based on patch created by
33298 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
33299 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
33300 `kern/ieee1275/mmap.c'.
33301 * include/grub/powerpc/ieee1275/memory.h: New file.
33302
15257703 33303 Provide grub-install on coreboot.
33304 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
33305 (grub_install_SOURCES): New variable.
33306 * util/i386/pc/grub-install.in: Add a few condition checks to make it
33307 usable on coreboot.
33308
9fc5388a 333092008-11-25 Felix Zielcke <fzielcke@z-51.de>
33310
33311 * util/grub-fstest.c (grub_term_get_current_input): Change return type
33312 to `grub_term_input_t'.
33313 (grub_term_get_current_output): Change return type to
33314 `grub_term_output_t'.
33315
bc3a2f31 333162008-11-22 Robert Millan <rmh@aybabtu.com>
33317
34c44600 33318 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 33319 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
33320 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
33321 grub_vga_text_cls().
33322
80fc88f2 33323 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 33324 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 33325
cbf36fd3 33326 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
33327 to 0x200000 (avoids trouble with some OFW implementations, and matches
33328 with the one in Yaboot).
33329 Reported by Manoel Abranches
33330
73e8e268 333312008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 33332
33333 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
33334 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
33335
73e8e268 33336 * util/grub-mkconfig_lib.in (grub_warn): New function.
33337 (convert_system_path_to_grub_path): Use grub_warn() when issuing
33338 warnings, to obtain consistent formatting.
33339 * util/grub.d/00_header.in: Likewise.
33340 * util/update-grub_lib.in: Likewise.
33341
e94045a1 33342 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 33343 Move comment text to `#error' stanza.
e94045a1 33344
79d29fd7 33345 Harmonize ieee1275's grub_available_iterate() with the generic
33346 grub_machine_mmap_iterate() interface (fixes a recently-introduced
33347 build problem on i386-ieee1275):
33348 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
33349 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
33350 parameter `type'. Update all users of this function.
33351 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
33352 `kern/ieee1275/mmap.c'.
33353 * kern/ieee1275/init.c
33354 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
33355 with ...
33356 (grub_machine_mmap_iterate): ... this.
33357 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
33358 return type to `grub_err_t'. Update all implementations of this
33359 function prototype.
33360 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
33361 Likewise.
33362
60d6b16e 33363 Add `lsmmap' command (lists firmware-provided memory map):
33364 * commands/lsmmap.c: New file.
33365 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
33366 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
33367 variables.
33368 * conf/powerpc-ieee1275.rmk: Likewise.
33369 * conf/i386-coreboot.rmk: Likewise.
33370 * conf/i386-ieee1275.rmk: Likewise.
33371
ebaaf49b 333722008-11-19 Robert Millan <rmh@aybabtu.com>
33373
33374 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 33375 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
33376 constraints to initrd allocation (based on code from
33377 loader/i386/pc/linux.c). Without them, initrd was allocated too high
33378 for Linux to find it.
ebaaf49b 33379
dfab719f 333802008-11-14 Robert Millan <rmh@aybabtu.com>
33381
33382 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
33383 order to cope with duplicate slashes.
33384
10fc3eb9 333852008-11-14 Robert Millan <rmh@aybabtu.com>
33386
33387 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
33388 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
33389 don't want to mess with lower memory, because it is used in the Linux
33390 loader.
33391
33392 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 33393 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 33394 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
33395 is in our heap (probably as a result of it being corrupted during
2f2a3442 33396 decompression). Add #error instance with comment to explain why this
33397 loader isn't currently usable on PC/BIOS.
10fc3eb9 33398
e2e07847 333992008-11-14 Robert Millan <rmh@aybabtu.com>
33400
33401 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 33402 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 33403
fe8e8d69 334042008-11-12 Robert Millan <rmh@aybabtu.com>
33405
33406 Make loader/i386/linux.c buildable on i386-pc (although disabled).
33407
33408 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
33409 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
33410 from here ...
33411 * include/grub/i386/pc/memory.h: ... to here.
33412
976b07d0 334132008-11-12 Robert Millan <rmh@aybabtu.com>
33414
33415 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
33416 split).
33417
33418 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
33419 (grub_console_cur_color, grub_console_real_putchar)
33420 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
33421 (grub_console_setcolorstate, grub_console_setcolor)
33422 (grub_console_getcolor): Move from here ...
33423 * include/grub/i386/vga_common.h: ... to here (new file).
33424
33425 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
33426 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
33427 `<grub/i386/io.h>'.
33428 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
33429 `<grub/i386/vga_common.h>'.
33430
76679cd3 334312008-11-12 Robert Millan <rmh@aybabtu.com>
33432
33433 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
33434 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
33435 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
33436 variables.
33437 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
33438 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
33439
33440 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
33441 grub_console_init() with call to grub_vga_text_init().
33442 (grub_machine_fini): Replace call to
33443 grub_console_fini() with call to grub_vga_text_fini() and
33444 grub_at_keyboard_fini().
33445
33446 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
33447 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
33448 (grub_console_setcolorstate, grub_console_setcolor)
33449 (grub_console_getcolor): New function prototypes.
33450
33451 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
33452 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
33453 (grub_vga_text_setcursor): Static-ize.
33454 (grub_vga_text_term): New structure.
33455 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
33456
33457 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
33458 (grub_console_cur_color, grub_console_standard_color)
33459 (grub_console_normal_color, grub_console_highlight_color)
33460 (map_char, grub_console_putchar, grub_console_getcharwidth)
33461 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
33462 (grub_console_getcolor): Move from here ...
33463 * term/i386/vga_common.c: ... to here (same function names).
33464
95b841d3 334652008-11-12 Robert Millan <rmh@aybabtu.com>
33466
33467 Use newly-added Multiboot support in coreboot.
33468
33469 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
33470 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
33471
33472 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
33473 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
33474 (codestart): Store the MBI in `startup_multiboot_info' when we're
33475 being loaded using Multiboot.
33476
33477 * kern/i386/coreboot/init.c (grub_machine_init): Move
33478 grub_at_keyboard_init() call to beginning of function (useful for
33479 debugging). Call grub_machine_mmap_init() before attempting to use
33480 grub_machine_mmap_iterate().
33481 (grub_lower_mem, grub_upper_mem): Move from here ...
33482 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
33483 here (new file).
33484
33485 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
33486 function prototype.
33487
761ca975 334882008-11-12 Robert Millan <rmh@aybabtu.com>
33489
33490 Fix a regression introduced by the at_keyboard.mod split. Because
33491 some terminals are default on some platforms and non-default on
33492 others, the first terminal being registered determines which is
33493 going to be default.
33494
33495 * kern/term.c (grub_term_register_input): If this is the first
33496 terminal being registered, set it as the current one.
33497 (grub_term_register_output): Likewise.
33498
33499 * term/efi/console.c (grub_console_init): Do not call
33500 grub_term_set_current_output() or grub_term_set_current_input().
33501 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
33502 * term/i386/pc/console.c (grub_console_init): Likewise.
33503 (grub_console_fini): Do not call grub_term_set_current_input()
33504 (but leave grub_term_set_current_output() to restore text mode).
33505
6c529df7 335062008-11-10 Robert Millan <rmh@aybabtu.com>
33507
33508 * util/grub.d/00_header.in: Add backward compatibility check for
33509 versions of terminal.mod that don't understand `terminal_input' or
33510 `terminal_output'.
33511
132e4113 335122008-11-09 Robert Millan <rmh@aybabtu.com>
33513
33514 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
33515 `terminal_input' / `terminal_output', not `terminal'.
33516
ac293d50 335172008-11-08 Robert Millan <rmh@aybabtu.com>
33518
33519 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 33520 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 33521
0025933a 335222008-11-08 Robert Millan <rmh@aybabtu.com>
33523
33524 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 33525 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 33526 members. Update all users.
33527 * util/console.c (grub_ncurses_term): Split in ...
33528 (grub_ncurses_term_input): ... this, and ...
33529 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 33530 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 33531
37c86336 335322008-11-08 Robert Millan <rmh@aybabtu.com>
33533
33534 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
33535 (PKGDATA): Add $(pkgdata_SRCDIR).
33536 (pkglib_BUILDDIR): New variable.
33537 (pkgdata_SRCDIR): New variable.
33538 (build_env.mk): New target.
33539 (include_DATA): New variable.
33540 (install-local): Install $(include_DATA) files in $(includedir).
33541
b6c15a2d 335422008-11-07 Pavel Roskin <proski@gnu.org>
33543
d99d46f1 33544 * gendistlist.sh: Use C locale for sorting to ensure consistent
33545 output on all systems.
33546
b6c15a2d 33547 * util/grub.d/00_header.in: Remove incorrect space before
33548 "serial".
33549
c32ee8c9 335502008-11-07 Robert Millan <rmh@aybabtu.com>
33551
33552 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
33553 per specification.
33554 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
33555 * loader/multiboot_loader.c (find_multi_boot2_header): New function
33556 (based on find_multi_boot1_header).
33557 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
33558 using find_multi_boot2_header(), and abort if neither Multiboot or
33559 Multiboot headers were found.
33560
651c29b7 335612008-11-07 Robert Millan <rmh@aybabtu.com>
33562
33563 Modularize at_keyboard.mod:
33564
33565 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
33566 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
33567 (at_keyboard_mod_LDFLAGS): New variables.
33568
33569 Actual terminal split:
33570
33571 * include/grub/term.h (struct grub_term): Split in ...
33572 (struct grub_term_input): ... this, and ...
33573 (struct grub_term_output): ... this. Update all users.
33574 (grub_term_set_current): Split in ...
33575 (grub_term_set_current_input): ... this, and ...
33576 (grub_term_set_current_output): ... this.
33577 (grub_term_get_current): Split in ...
33578 (grub_term_get_current_input): ... this, and ...
33579 (grub_term_get_current_output): ... this.
33580 (grub_term_register): Split in ...
33581 (grub_term_register_input): ... this, and ...
33582 (grub_term_register_output): ... this.
33583 (grub_term_unregister): Split in ...
33584 (grub_term_unregister_input): ... this, and ...
33585 (grub_term_unregister_output): ... this.
33586 (grub_term_iterate): Split in ...
33587 (grub_term_iterate_input): ... this, and ...
33588 (grub_term_iterate_output): ... this.
33589
33590 * kern/term.c (grub_term_list): Split in ...
33591 (grub_term_list_input): ... this, and ...
33592 (grub_term_list_output): ... this. Update all users.
33593 (grub_cur_term): Split in ...
33594 (grub_cur_term_input): ... this, and ...
33595 (grub_cur_term_output): ... this. Update all users.
33596 (grub_term_set_current): Split in ...
33597 (grub_term_set_current_input): ... this, and ...
33598 (grub_term_set_current_output): ... this.
33599 (grub_term_get_current): Split in ...
33600 (grub_term_get_current_input): ... this, and ...
33601 (grub_term_get_current_output): ... this.
33602 (grub_term_register): Split in ...
33603 (grub_term_register_input): ... this, and ...
33604 (grub_term_register_output): ... this.
33605 (grub_term_unregister): Split in ...
33606 (grub_term_unregister_input): ... this, and ...
33607 (grub_term_unregister_output): ... this.
33608 (grub_term_iterate): Split in ...
33609 (grub_term_iterate_input): ... this, and ...
33610 (grub_term_iterate_output): ... this.
33611
33612 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
33613 a check for input and one for output (and only attempt to get keys
33614 from user when input works).
33615
33616 * util/grub-probe.c (grub_term_get_current): Split in ...
33617 (grub_term_get_current_input): ... this, and ...
33618 (grub_term_get_current_output): ... this.
33619 * util/grub-fstest.c: Likewise.
33620 * util/i386/pc/grub-setup.c: Likewise.
33621 * util/grub-editenv.c: Likewise.
33622
33623 Portability adjustments:
33624
33625 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
33626 `term/i386/pc/at_keyboard.c'.
33627 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
33628 grub_keyboard_controller_init() (now handled by terminal .init).
33629 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
33630 grub_at_keyboard_init().
33631 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
33632 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
33633 at_keyboard.mod via input terminal interface).
33634 * include/grub/i386/coreboot/console.h: Convert into a stub for
33635 `<grub/i386/pc/console.h>'.
33636
33637 Migrate full terminals to new API:
33638
33639 * term/efi/console.c (grub_console_term): Split into ...
33640 (grub_console_term_input): ... this, and ...
33641 (grub_console_term_output): ... this. Update all users.
33642 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
33643 (grub_ofconsole_init): Split into ...
33644 (grub_ofconsole_init_input): ... this, and ...
33645 (grub_ofconsole_init_output): ... this.
33646 (grub_ofconsole_term): Split into ...
33647 (grub_ofconsole_term_input): ... this, and ...
33648 (grub_ofconsole_term_output): ... this. Update all users.
33649 * term/i386/pc/serial.c (grub_serial_term): Split into ...
33650 (grub_serial_term_input): ... this, and ...
33651 (grub_serial_term_output): ... this. Update all users.
33652 * term/i386/pc/console.c (grub_console_term): Split into ...
33653 (grub_console_term_input): ... this, and ...
33654 (grub_console_term_output): ... this. Update all users.
33655 (grub_console_term_input): Only enable it on PC/BIOS platform.
33656 (grub_console_init): Remove grub_keyboard_controller_init() call.
33657
33658 Migrate input terminals to new API:
33659
33660 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
33661 `i386' and `i386/pc' to enable build on x86_64 (this driver is
33662 i386-specific anyway).
33663 (grub_console_checkkey): Rename to ...
33664 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
33665 users.
33666 (grub_keyboard_controller_orig): New variable.
33667 (grub_console_getkey): Rename to ...
33668 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
33669 users.
33670 (grub_keyboard_controller_init): Static-ize. Save original
33671 controller value so that it can be restored ...
33672 (grub_keyboard_controller_fini): ... here (new function).
33673 (grub_at_keyboard_term): New structure.
33674 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
33675 functions.
33676
33677 Migrate output terminals to new API:
33678
33679 * term/i386/pc/vga.c (grub_vga_term): Change type to
33680 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
33681 members. Update all users.
33682 * term/gfxterm.c (grub_video_term): Change type to
33683 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
33684 members. Update all users.
33685 * include/grub/i386/pc/console.h (grub_console_checkkey)
33686 (grub_console_getkey): Do not export (no longer needed by gfxterm,
33687 etc).
33688
33689 Migrate `terminal' command and userland tools to new API:
33690
33691 * commands/terminal.c (grub_cmd_terminal): Split into ...
33692 (grub_cmd_terminal_input): ... this, and ...
33693 (grub_cmd_terminal_output): ... this.
33694 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
33695 `terminal_input' and `terminal_output'.
33696 * util/grub.d/00_header.in: Adjust `terminal' calls to new
33697 `terminal_input' / `terminal_output' API.
33698 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
33699 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
33700 provided ${GRUB_TERMINAL}, convert it).
33701
96e5d876 337022008-11-04 Robert Millan <rmh@aybabtu.com>
33703
33704 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
33705 for FreeBSD.
33706 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
33707
556f3775 337082008-11-03 Bean <bean123ch@gmail.com>
33709
33710 * kern/elf.c (grub_elf32_load): Revert to previous code.
33711 (grub_elf64_load): Likewise.
33712
33713 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
33714
926b9823 337152008-11-01 Robert Millan <rmh@aybabtu.com>
33716
33717 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
33718 (TARGET_CPPFLAGS): Likewise.
33719 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
33720
1432e958 337212008-11-01 Carles Pina i Estany <carles@pina.cat>
33722
33723 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
33724
dba3f844 337252008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 33726
33727 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
33728 addition of objects until the code is not going to be able to fail.
33729
dba3f844 337302008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 33731
33732 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
33733 (add a missing NULL check, and correct them by moving the pointer
33734 operations after the actual check).
33735
7ab28c21 337362008-10-29 Robert Millan <rmh@aybabtu.com>
33737
33738 * util/i386/pc/grub-install.in: Handle empty string as output from
33739 make_system_path_relative_to_its_root().
33740
1b7748eb 337412008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
33742
33743 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
33744 circular metadata worst case scenario. If the metadata is circular
33745 then copy the wrap in place.
33746 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
33747 project lib/format_text/layout.h
33748 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
33749
c9618ab2 337502008-10-03 Felix Zielcke <fzielcke@z-51.de>
33751
7a36edca 33752 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 33753
bf981c62 337542008-10-03 Felix Zielcke <fzielcke@z-51.de>
33755
33756 * util/update-grub_lib.in: Mention filename in warning message.
33757
6d994591 337582008-09-29 Felix Zielcke <fzielcke@z-51.de>
33759
33760 * NEWS: Update for rename of update-grub to grub-mkconfig.
33761
18ade780 337622008-09-29 Felix Zielcke <fzielcke@z-51.de>
33763
33764 * util/update-grub_lib.in: Copy to ...
33765 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 33766 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 33767 * util/update-grub.in: Rename to ...
33768 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
33769 option. Add `--output' option to allow users to specify the generated
33770 configuration file. Default to stdout.
33771 (update_grub_dir): Rename to ...
33772 (grub_mkconfig_dir): ... this.
33773 (grub_cfg): Default to an empty string.
33774 * conf/common.rmk (update-grub): Rename to ...
33775 (grub-mkconfig): ... this.
33776 (update-grub_lib): Copy to ...
33777 (grub-mkconfig_lib): ... this.
33778 (update-grub_SCRIPTS): Copy to ...
33779 (grub-mkconfig_SCRIPTS): ... this. Update all users.
33780 (update-grub_DATA): Rename to ...
33781 (grub-mkconfig_DATA): ... this.
33782
556ce6ac 337832008-09-28 Robert Millan <rmh@aybabtu.com>
33784
33785 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
33786 to `modified'. Add the real `created' field.
33787 (grub_iso9660_uuid): Use `modified' rather than `created' for
33788 constructing the UUID.
33789
337902008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 33791
33792 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
33793 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
33794
92274e85 337952008-09-28 Bean <bean123ch@gmail.com>
33796
33797 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
33798 Thanks to Christian Franke for finding this bug.
33799
add6f17a 338002008-09-25 Robert Millan <rmh@aybabtu.com>
33801
33802 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
33803 instances of grub_util_get_disk_name() (see previous commit).
33804
d2a367b8 338052008-09-25 Robert Millan <rmh@aybabtu.com>
33806
33807 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
33808 `util/i386/get_disk_name.c'.
33809 * conf/i386-efi.rmk: Likewise.
33810 * conf/x86_64-efi.rmk: Likewise.
33811 * conf/i386-coreboot.rmk: Likewise.
33812 * conf/i386-ieee1275.rmk: Likewise.
33813 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
33814 `util/ieee1275/get_disk_name.c'.
33815 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
33816 * util/ieee1275/get_disk_name.c: Remove file.
33817 * util/i386/get_disk_name.c: Remove file.
33818 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
33819 "hd%d" for device.map entries, rather than using
33820 grub_util_get_disk_name().
33821
81a06771 338222008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 33823
33824 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
33825 warning.
33826 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
33827
5a004279 338282008-09-24 Carles Pina i Estany <carles@pina.cat>
33829
33830 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
33831 Changed to 0x5100.
33832 (GRUB_TERM_PPAGE): Changed to 0x4900.
33833
397093d3 338342008-09-24 Robert Millan <rmh@aybabtu.com>
33835
33836 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
33837 macros (they were i386-pc specific).
33838 * include/grub/sparc64/ieee1275/console.h: Likewise.
33839 * include/grub/efi/console.h: Likewise.
33840
a91b6c7c 338412008-09-22 Bean <bean123ch@gmail.com>
33842
33843 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
33844 resident and in attribute list.
33845
33846 * include/grub/ntfs.h (BMP_LEN): Removed.
33847
c40fd116 338482008-09-22 Bean <bean123ch@gmail.com>
33849
81a06771 33850 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 33851 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
33852
33853 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
33854 error occurs, as grub_disk_open will call grub_disk_close, which will
33855 call p->close (scsi).
33856
81a06771 338572008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 33858
33859 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
33860 (AC_PREREQ): Bumped to 2.59.
33861 (AC_TRY_COMPILE): Replace obsolete macro with ...
33862 (AC_COMPILE_IFELSE): ... this.
33863 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
33864 (AC_LINK_IFELSE): ... this.
33865
5dc43410 338662008-09-21 Felix Zielcke <fzielcke@z-51.de>
33867
33868 * autogen.sh: Add a call to `gendistlist.sh'.
33869
9035dce4 338702008-09-19 Christian Franke <franke@computer.org>
33871
33872 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
33873 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
33874 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
33875 Export __enable_execute_stack() to modules.
33876 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
33877 New function.
33878
7fd75377 338792008-09-09 Felix Zielcke <fzielcke@z-51.de>
33880
040030b3 33881 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
33882 Sort the list.
33883
338842008-09-09 Felix Zielcke <fzielcke@z-51.de>
33885
33886 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 33887 #include <grub/util/hostdisk.h>.
33888
89d5ffcf 338892008-09-08 Robert Millan <rmh@aybabtu.com>
33890
33891 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
33892 segments when their filesz is zero (grub_file_read() interprets
81a06771 33893 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 33894 Use `lowest_segment' rather than 0 for calculating the current
33895 segment load address.
33896
40da438f 338972008-09-08 Robert Millan <rmh@aybabtu.com>
33898
33899 * util/hostdisk.c (open_device): Replace a grub_util_info() call
33900 with grub_dprintf("hostdisk", ...), as it was so verbose that it
33901 clobbered useful information.
33902
ddbf5556 339032008-09-08 Robert Millan <rmh@aybabtu.com>
33904
33905 * include/grub/util/biosdisk.h: Move to ...
33906 * include/grub/util/hostdisk.h: ... here. Update all users.
33907 * util/biosdisk.c: Move to ...
33908 * util/hostdisk.c: ... here. Update all users.
33909
783d0f48 339102008-09-07 Robert Millan <rmh@aybabtu.com>
33911
33912 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
33913 variables.
33914 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
33915 and length can be stored directly in the `mbi->mmap_addr' and
33916 `mbi->mmap_length' struct fields.
33917
548e2ea5 339182008-09-07 Robert Millan <rmh@aybabtu.com>
33919
33920 * conf/i386.rmk: New file. Provides declaration for building
33921 `cpuid.mod'.
33922 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
33923 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
33924 variables.
33925 Include `conf/i386.mk'.
33926 * conf/i386-efi.rmk: Likewise.
33927 * conf/x86_64-efi.rmk: Likewise.
33928 * conf/i386-coreboot.rmk: Likewise.
33929 * conf/i386-ieee1275.rmk: Likewise.
33930
0ea85a37 339312008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
33932
33933 Based on patch created by Colin D Bennett <colin@gibibit.com>.
33934 Adds optimization support for BGR based modes.
33935
33936 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
33937 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
33938 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
33939 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
33940 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
33941 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
33942 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
33943 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
33944 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
33945 (grub_video_i386_vbeblit_index_index): Likewise.
33946 (grub_video_i386_vbeblit_replace_directN): Added.
33947 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
33948 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
33949 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
33950 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
33951 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
33952 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 33953 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 33954 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
33955 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
33956 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
33957 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
33958 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
33959 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
33960
33961 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
33962 (grub_video_i386_vbefill_R8G8B8): Likewise.
33963 (grub_video_i386_vbefill_index): Likewise.
33964 (grub_video_i386_vbefill_direct32): Added.
33965 (grub_video_i386_vbefill_direct24): Likewise.
33966 (grub_video_i386_vbefill_direct16): Likewise.
33967 (grub_video_i386_vbefill_direct8): Likewise.
33968
81a06771 33969 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 33970 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
33971 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
33972 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
33973 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
33974 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 33975
0ea85a37 33976 * video/video.c (grub_video_get_blit_format): Updated to use new
33977 blit formats. Added handling for 16 bit color modes.
81a06771 33978
33979 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 33980 fillers.
33981 (common_blitter): Updated to use new blitters.
33982
33983 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
33984 Removed.
33985 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
33986 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
33987 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
33988 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
33989 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
33990 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
33991 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
33992 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
33993 (grub_video_i386_vbeblit_index_index): Likewise.
33994 (grub_video_i386_vbeblit_replace_directN): Added.
33995 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
33996 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
33997 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
33998 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
33999 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
34000 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
34001 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
34002 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
34003 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
34004 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
34005 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
34006 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
34007 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 34008
0ea85a37 34009 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
34010 (grub_video_i386_vbefill_R8G8B8): Likewise.
34011 (grub_video_i386_vbefill_index): Likewise.
34012 (grub_video_i386_vbefill_direct32): Added.
34013 (grub_video_i386_vbefill_direct24): Likewise.
34014 (grub_video_i386_vbefill_direct16): Likewise.
34015 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 34016
0ea85a37 34017 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
34018 types.
81a06771 34019
0ea85a37 34020 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
34021 types.
81a06771 34022
0ea85a37 34023 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
34024 blitter types.
81a06771 34025
0ea85a37 34026 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
34027 types.
34028
e8a83df6 340292008-09-06 Felix Zielcke <fzielcke@z-51.de>
34030
34031 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
34032 RAID level 1.
34033
6bcd8ee5 340342008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 34035
6bcd8ee5 34036 * fs/iso9660.c (grub_iso9660_date): New structure.
34037 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
34038 (grub_iso9660_uuid): New function.
c375ae58 34039
59261157 340402008-09-05 Bean <bean123ch@gmail.com>
34041
34042 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
34043
34044 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
34045 insensitive bit for names in Win32 and Win32 & DOS namespace.
34046
34047 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
34048
34049 * include/grub/types.h (LONG_MAX): Likewise.
34050
58b6645a 340512008-09-04 Felix Zielcke <fzielcke@z-51.de>
34052
4ee55921 34053 * util/getroot.c: Include <config.h>.
34054 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
34055 add support for /dev/md/N devices and handle LVM double dash escaping.
34056
340572008-09-04 Felix Zielcke <fzielcke@z-51.de>
34058
34059 * config.guess: Update to latest version from config git.
34060 * config.sub: Likewise.
58b6645a 34061
9124f65d 340622008-09-03 Robert Millan <rmh@aybabtu.com>
34063
34064 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
34065 `disk->total_sectors'.
34066
81a06771 340672008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 34068
34069 * include/grub/normal.h: Fixed incorrect comment for
34070 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
34071
81a06771 340722008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 34073
34074 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
34075 values with defines.
34076
34077 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
34078 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
34079 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
34080 (GRUB_VBE_MODEATTR_COLOR): Likewise.
34081 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
34082 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
34083 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
34084 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
34085 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
34086 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
34087 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
34088 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
34089 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
34090 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
34091 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
34092 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
34093 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
34094 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
34095 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
34096
93d5cbf8 340972008-08-31 Robert Millan <rmh@aybabtu.com>
34098
34099 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
34100 declaration.
34101 (grub_multiboot): Fix a few warnings.
34102
21751d50 341032008-08-31 Robert Millan <rmh@aybabtu.com>
34104
34105 * loader/i386/pc/multiboot.c: Update comment not to say that
34106 boot_device support is unimplemented.
34107
e27a75c5 341082008-08-31 Robert Millan <rmh@aybabtu.com>
34109
34110 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
34111 or memory map support are unimplemented.
34112
81a06771 341132008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 34114
34115 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
34116
81a06771 341172008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 34118
34119 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
34120 total video memory in 'vbeinfo' output; show color format details for
34121 each video mode.
34122
7c5d8d95 341232008-08-30 Pavel Roskin <proski@gnu.org>
34124
34125 * util/genmoddep.c: Remove for real this time.
34126 * DISTLIST: Remove util/genmoddep.c.
34127
4cebd25a 341282008-08-30 Robert Millan <rmh@aybabtu.com>
34129
34130 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
34131 as required by Multiboot spec (it was already 4-byte aligned, but
34132 only by chance).
34133
b497a269 341342008-08-29 Pavel Roskin <proski@gnu.org>
34135
e3925185 34136 * kern/powerpc/ieee1275/crt0.S: Rename to ...
34137 * kern/powerpc/ieee1275/startup.S: ... this.
34138 * conf/powerpc-ieee1275.rmk: Adjust for the above.
34139 * DISTLIST: Likewise.
34140
b497a269 34141 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
34142 grub/cpu/kernel.h. Add start label for consistency with other
34143 platforms. Add grub_prefix immediately after start. Add jump
34144 to the code after grub_prefix.
34145 * include/grub/powerpc/kernel.h: Provide valid values for
34146 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
34147
6e5a42fe 341482008-08-29 Bean <bean123ch@gmail.com>
34149
34150 * configure.ac: Change host_os to cygwin for mingw.
34151 (asprintf): New check for function.
34152
34153 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
34154 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
34155
34156 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 34157 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 34158 sync, sleep and grub_util_get_disk_size for mingw.
34159
34160 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
34161 to get size in mingw.
34162 (open_device): Use flag O_BINARY if it's defined.
34163 (find_root_device): Add dummy code for mingw.
34164
34165 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
34166 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
34167 (get_scsi_disk_name): Return 0 for mingw.
34168
34169 * util/hostfs.c: #include <grub/util/misc.h>.
34170 (grub_hostfs_open): Use "rb" flag to open file, use
34171 grub_util_get_disk_size to get disk size for mingw.
34172
34173 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
34174 (asprintf): New function if HAVE_ASPRINTF is not set.
34175 (sync): New function for mingw.
34176 (sleep): Likewise.
34177 (grub_util_get_disk_size): Likewise.
34178
ab3f2673 341792008-08-28 Pavel Roskin <proski@gnu.org>
34180
34181 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
34182 kern/time.c.
34183
1c282483 341842008-08-28 Robert Millan <rmh@aybabtu.com>
34185
34186 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
34187
678e849c 341882008-08-28 Robert Millan <rmh@aybabtu.com>
34189
34190 Change find_grub_drive() syntax so it doesn't prevent it from
34191 detecting NULL names as errors.
34192
34193 * util/biosdisk.c (find_grub_drive): Move free slot search code
34194 from here ...
34195 (find_free_slot): ... to here.
34196 (read_device_map): Use find_free_slot() to search for free slots.
34197
965c75ca 341982008-08-27 Marco Gerards <marco@gnu.org>
34199
34200 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
34201 (scsi_mod_SOURCES): New variable.
34202 (scsi_mod_CFLAGS): Likewise
34203 (scsi_mod_LDFLAGS): Likewise.
34204
34205 * disk/scsi.c: New file.
34206
34207 * include/grub/scsi.h: Likewise.
34208
34209 * include/grub/scsicmd.h: Likewise.
34210
34211 * disk/ata.c: Include <grub/scsi.h>.
34212 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
34213 instead.
34214 (grub_ata_iterate): Skip ATAPI devices.
34215 (grub_ata_open): Only handle ATAPI devices.
34216 (struct grub_atapi_read): Removed.
34217 (grub_atapi_readsector): Likewise.
34218 (grub_ata_read): No longer handle ATAPI devices.
34219 (grub_ata_write): Likewise.
34220 (grub_atapi_iterate): New function.
34221 (grub_atapi_read): Likewise.
34222 (grub_atapi_write): Likewise.
34223 (grub_atapi_open): Likewise.
34224 (grub_atapi_close): Likewise.
34225 (grub_atapi_dev): New variable.
34226 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
34227 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
34228
34229 * include/grub/disk.h (enum grub_disk_dev_id): Add
34230 `GRUB_DISK_DEVICE_SCSI_ID'.
34231
c07ae501 342322008-08-26 Robert Millan <rmh@aybabtu.com>
34233
34234 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
34235 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
34236 descriptive.
34237
5ed20adc 342382008-08-23 Bean <bean123ch@gmail.com>
34239
34240 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
34241 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
34242 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
34243 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
34244 dm_nv.mod.
34245 (raid5rec_mod_SOURCES): New macro.
34246 (raid5rec_mod_CFLAGS): Likewise.
34247 (raid5rec_mod_LDFLAGS): Likewise.
34248 (raid6rec_mod_SOURCES): Likewise.
34249 (raid6rec_mod_CFLAGS): Likewise.
34250 (raid6rec_mod_LDFLAGS): Likewise.
34251 (mdraid_mod_SOURCES): Likewise.
34252 (mdraid_mod_CFLAGS): Likewise.
34253 (mdraid_mod_LDFLAGS): Likewise.
34254 (dm_nv_mod_SOURCES): Likewise.
34255 (dm_nv_mod_CFLAGS): Likewise.
34256 (dm_nv_mod_LDFLAGS): Likewise.
34257
34258 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
34259 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
34260 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
34261
34262 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
34263 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
34264
34265 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
34266
34267 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
34268
34269 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34270
34271 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
34272
34273 * disk/raid5_recover.c: New file.
34274
34275 * disk/raid6_recover.c: Likewise.
34276
34277 * disk/mdraid_linux.c: Likewise.
34278
34279 * disk/dmraid_nvidia.c: Likewise.
34280
34281 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
34282 ULONG_MAX.
34283
34284 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
34285 calculate the size of raid device.
34286 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
34287 different layout of raid5.
34288 (grub_raid_scan_device): Remove code specific to mdraid.
34289 (grub_raid_list): New variable.
34290 (free_array): New function.
34291 (grub_raid_register): Likewise.
34292 (grub_raid_unregister): Likewise.
34293 (grub_raid_rescan): Likewise.
34294 (GRUB_MOD_INIT): Don't iterate device here.
34295 (GRUB_MOD_FINI): Use free_array to release resource.
34296
34297 * include/grub/raid.h: Remove macro and structure specific to mdraid.
34298 (grub_raid5_recover_func_t): New function variable type.
34299 (grub_raid6_recover_func_t): Likewise.
34300 (grub_raid5_recover_func): New variable.
34301 (grub_raid6_recover_func): Likewise.
34302 (grub_raid_register): New function.
34303 (grub_raid_unregister): Likewise.
34304 (grub_raid_rescan): Likewise.
34305 (grub_raid_block_xor): Likewise.
34306
34307 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
34308 (CMD_CRC): New macro.
34309 (part): Removed.
34310 (read_file): Handle device as well as file.
34311 (cmd_crc): New function.
34312 (fstest): Handle multiple disks.
34313 (options): Remove part, raw and long, add root and diskcount.
34314 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 34315 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 34316 add handling for the new options, support multiple disks.
34317
34318 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
34319
29c18915 343202008-08-23 Bean <bean123ch@gmail.com>
34321
34322 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
34323
34324 * genfslist.sh: Ignore kernel.mod.
34325
34326 * genpartmaplist.sh: Likewise.
34327
8415f261 343282008-08-23 Robert Millan <rmh@aybabtu.com>
34329
34330 * util/getroot.c (find_root_device): Skip anything that starts with
34331 a dot, not just directories. This avoids things like /dev/.tmp.md0.
34332
d5a7dc5b 343332008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 34334
d5a7dc5b 34335 * util/update-grub.in (GRUB_GFXMODE): Export variable.
34336 * util/grub.d/00_header.in: Allow the administrator to change default
34337 gfxmode via ${GRUB_GFXMODE}.
34338
380cfbb4 343392008-08-21 Felix Zielcke <fzielcke@z-51.de>
34340
34341 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
34342
c9baafe7 343432008-08-21 Robert Millan <rmh@aybabtu.com>
34344
34345 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
34346 loader.
34347 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
34348 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
34349
e290bef2 343502008-08-20 Carles Pina i Estany <carles@pina.cat>
34351
34352 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
34353 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
34354
f9dbfc96 343552008-08-19 Robert Millan <rmh@aybabtu.com>
34356
34357 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
34358 (struct grub_virtual_screen): Remove `cursor_color'.
34359 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
34360 initialization.
34361 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
34362
dd6bd6ab 343632008-08-18 Robert Millan <rmh@aybabtu.com>
34364
34365 Unify (identical) linux_normal.c files.
34366 * loader/i386/efi/linux_normal.c: Move from here ...
34367 * loader/linux_normal.c: ... to here. Update all users.
34368 * loader/i386/pc/linux_normal.c: Delete. Update all users.
34369 * loader/i386/ieee1275/linux_normal.c: Likewise.
34370
7f42f83e 343712008-08-18 Robert Millan <rmh@aybabtu.com>
34372
34373 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
34374 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
34375 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
34376 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
34377 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
34378 New macros.
34379 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
34380 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
34381 (GRUB_LINUX_CL_END_OFFSET): ... to here.
34382 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
34383 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
34384 (GRUB_EFI_CL_END_OFFSET): Rename to ...
34385 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
34386 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
34387 Initialize `params->video_cursor_x' and `params->video_cursor_y'
34388 portably using grub_getxy().
34389 Replace `-EFI' with `-bzImage' in boot message.
34390
38487ddb 343912008-08-17 Robert Millan <rmh@aybabtu.com>
34392
34393 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
34394
deceb3ec 343952008-08-17 Robert Millan <rmh@aybabtu.com>
34396
34397 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
34398
34399 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
34400 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
34401 (grub_machine_mmap_iterate): New function declaration.
34402 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
34403 structure.
34404 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
34405 macros.
34406
34407 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
34408 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
34409 Move e820 parsing from here ...
34410 * kern/i386/pc/mmap.c: New file.
34411 (grub_machine_mmap_iterate): ... to here.
34412
34413 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
34414 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
34415 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
34416 (grub_available_iterate): Redeclare to return `void', and redeclare
34417 its hook to use grub_uint64_t as addr and size parameters, and rename
34418 to ...
34419 (grub_machine_mmap_iterate): ... this. Update all users.
34420
34421 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
34422 to make it more readable. Rename to ...
34423 (grub_machine_mmap_iterate): ... this.
34424
34425 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
34426 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
34427 (grub_multiboot): Allocate an extra region after the payload, and fill
34428 it with a Multiboot memory map. Adjust a.out loader to calculate size
34429 with the extra space.
34430 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
34431 with the extra space.
34432
f8aa0f43 344332008-08-17 Carles Pina i Estany <carles@pina.cat>
34434
9807deb9 34435 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 34436
605f5bb6 344372008-08-17 Felix Zielcke <fzielcke@z-51.de>
34438
34439 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
34440 mdate-sh to the list `find' searches for.
34441 * DISTLIST: Regenerated.
34442
210db6c6 344432008-08-16 Felix Zielcke <fzielcke@z-51.de>
34444
34445 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
34446 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 34447 genmoddep.awk, gensymlist.sh.in.
34448 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 34449 * DISTLIST: Regenerated.
48cdbfd4 34450 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 34451
1082b929 344522008-08-16 Robert Millan <rmh@aybabtu.com>
34453
34454 * disk/raid.c (grub_raid_init): Handle/report errors set by
34455 grub_device_iterate().
34456 * disk/lvm.c (grub_lvm_init): Likewise.
34457
42ce5170 344582008-08-15 Bean <bean123ch@gmail.com>
34459
34460 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34461 and datehook.mod.
34462 (datetime_mod_SOURCES): New macro.
34463 (datetime_mod_CFLAGS): Likewise.
34464 (datetime_mod_LDFLAGS): Likewise.
34465 (date_mod_SOURCES): Likewise.
34466 (date_mod_CFLAGS): Likewise.
34467 (date_mod_LDFLAGS): Likewise.
34468 (datehook_mod_SOURCES): Likewise.
34469 (datehook_mod_CFLAGS): Likewise.
34470 (datehook_mod_LDFLAGS): Likewise.
34471
34472 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34473 and datehook.mod.
34474 (datetime_mod_SOURCES): New macro.
34475 (datetime_mod_CFLAGS): Likewise.
34476 (datetime_mod_LDFLAGS): Likewise.
34477 (date_mod_SOURCES): Likewise.
34478 (date_mod_CFLAGS): Likewise.
34479 (date_mod_LDFLAGS): Likewise.
34480 (datehook_mod_SOURCES): Likewise.
34481 (datehook_mod_CFLAGS): Likewise.
34482 (datehook_mod_LDFLAGS): Likewise.
34483
34484 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34485 and datehook.mod.
34486 (datetime_mod_SOURCES): New macro.
34487 (datetime_mod_CFLAGS): Likewise.
34488 (datetime_mod_LDFLAGS): Likewise.
34489 (date_mod_SOURCES): Likewise.
34490 (date_mod_CFLAGS): Likewise.
34491 (date_mod_LDFLAGS): Likewise.
34492 (datehook_mod_SOURCES): Likewise.
34493 (datehook_mod_CFLAGS): Likewise.
34494 (datehook_mod_LDFLAGS): Likewise.
34495
34496 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34497 and datehook.mod.
34498 (datetime_mod_SOURCES): New macro.
34499 (datetime_mod_CFLAGS): Likewise.
34500 (datetime_mod_LDFLAGS): Likewise.
34501 (date_mod_SOURCES): Likewise.
34502 (date_mod_CFLAGS): Likewise.
34503 (date_mod_LDFLAGS): Likewise.
34504 (datehook_mod_SOURCES): Likewise.
34505 (datehook_mod_CFLAGS): Likewise.
34506 (datehook_mod_LDFLAGS): Likewise.
34507
34508 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
34509 and datehook.mod.
34510 (datetime_mod_SOURCES): New macro.
34511 (datetime_mod_CFLAGS): Likewise.
34512 (datetime_mod_LDFLAGS): Likewise.
34513 (date_mod_SOURCES): Likewise.
34514 (date_mod_CFLAGS): Likewise.
34515 (date_mod_LDFLAGS): Likewise.
34516 (datehook_mod_SOURCES): Likewise.
34517 (datehook_mod_CFLAGS): Likewise.
34518 (datehook_mod_LDFLAGS): Likewise.
34519
34520 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
34521
34522 * commands/date.c: New file.
34523
34524 * hook/datehook.c: Likewise.
34525
34526 * include/grub/lib/datetime.h: Likewise.
34527
34528 * include/grub/i386/cmos.h: Likewise.
34529
34530 * lib/datetime.c: Likewise.
34531
34532 * lib/i386/datetime.c: Likewise.
34533
34534 * lib/efi/datetime.c: Likewise.
34535
0e9242da 345362008-08-14 Robert Millan <rmh@aybabtu.com>
34537
34538 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
34539 (grub_mkelfimage_SOURCES): New variable.
34540 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
34541
34542 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
34543 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
34544 * conf/powerpc-ieee1275.rmk: Likewise.
34545 * conf/i386-ieee1275.rmk: Likewise.
34546
34547 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
34548 * kern/i386/coreboot/init.c: Likewise.
34549
34550 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
34551 with `<grub/cpu/kernel.h>'.
34552 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
34553 to ...
34554 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
34555 * kern/i386/coreboot/startup.S: Likewise.
34556
34557 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
34558 (GRUB_MOD_GAP): Remove.
34559 * include/grub/powerpc/kernel.h: New file.
34560 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
34561 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
34562 * include/grub/i386/kernel.h: New file.
34563 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
34564 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
34565 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
34566
34567 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
34568 `grub-mkelfimage'.
34569 Use --directory when invoking grub_mkimage.
34570
34571 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
34572 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
34573 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
34574 and GRUB_KERNEL_CPU_PREFIX.
34575
b86408f8 345762008-08-14 Felix Zielcke <fzielcke@z-51.de>
34577
d5e619ca 34578 * include/grub/err.h (grub_err_printf): New function prototype.
34579 * util/misc.c (grub_err_printf): New function.
34580 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
34581 grub_printf.
34582 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 34583
7161f0e0 345842008-08-13 Robert Millan <rmh@aybabtu.com>
34585
34586 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
34587
a1967522 345882008-08-13 Robert Millan <rmh@aybabtu.com>
34589
34590 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
34591 boot entry.
34592
371458b5 345932008-08-12 Robert Millan <rmh@aybabtu.com>
34594
34595 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
34596 of the relocation code from here ...
34597 (grub_multiboot): ... to here.
34598 (forward_relocator, backward_relocator): Move from here ...
34599 * kern/i386/loader.S (grub_multiboot_forward_relocator)
34600 (grub_multiboot_backward_relocator): ... to here.
34601 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
34602 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
34603 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
34604 (grub_multiboot_forward_relocator_end)
34605 (grub_multiboot_backward_relocator)
34606 (grub_multiboot_backward_relocator_end): New variables.
34607
05f9452b 346082008-08-12 Bean <bean123ch@gmail.com>
34609
34610 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
34611
20024ab0 346122008-08-11 Robert Millan <rmh@aybabtu.com>
34613
34614 * kern/i386/linuxbios/startup.S: Move from here ...
34615 * kern/i386/coreboot/startup.S: ... to here.
34616
34617 * kern/i386/linuxbios/init.c: Move from here ...
34618 * kern/i386/coreboot/init.c: ... to here.
34619
34620 * kern/i386/linuxbios/table.c: Move from here ...
34621 * kern/i386/coreboot/mmap.c: ... to here.
34622
34623 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
34624
e352e9cd 346252008-08-11 Robert Millan <rmh@aybabtu.com>
34626
34627 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
34628 errors. Leave it to the upper layer to handle them.
34629
2d05bc6a 346302008-08-09 Christian Franke <franke@computer.org>
34631
34632 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
34633 * conf/common.rmk: Install `grub-pe2elf' only if requested.
34634 Install `grub.d/10_windows' only on Cygwin.
34635 * configure.ac: Add subst of `target_os'.
34636 Check `target_os' also before setting TARGET_OBJ2ELF.
34637 Add `--enable-grub-pe2elf'.
34638
042bd419 346392008-08-08 Robert Millan <rmh@aybabtu.com>
34640
34641 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
34642 (grub_last_time): Change type to grub_uint64_t.
34643 (grub_disk_open): Migrate code from to using grub_get_time_ms().
34644 (grub_disk_close): Likewise.
34645
34646 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
34647 (run_menu): Migrate code from to using grub_get_time_ms().
34648
34649 * util/misc.c (grub_get_time_ms): New function.
34650
7f280db5 346512008-08-08 Marco Gerards <marco@gnu.org>
34652
34653 * disk/ata.c (grub_ata_regget): Change return type to
34654 `grub_uint8_t'.
34655 (grub_ata_regget2): Likewise.
34656 (grub_ata_wait_status): New function.
34657 (grub_ata_wait_busy): Removed function, updated all users to use
34658 `grub_ata_wait_status'.
34659 (grub_ata_wait_drq): Likewise.
34660 (grub_ata_cmd): New function.
34661 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
34662 error handling.
34663 (grub_ata_pio_write): Add error handling.
34664 (grub_atapi_identify): Likewise.
34665 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
34666 handling.
34667 (grub_ata_identify): Use `grub_ata_cmd' and improve error
34668 handling. Actually use the detected registers. Reorder the
34669 detection logic such that it is easier to read.
34670 (grub_ata_pciinit): Do not assign the same ID to each controller.
34671 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
34672 handling.
34673 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
34674
34675 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
34676
1fbc5e66 346772008-08-08 Marco Gerards <marco@gnu.org>
34678
34679 * NEWS: Update.
34680
819ce6c0 346812008-08-07 Bean <bean123ch@gmail.com>
34682
34683 * include/grub/x86_64/pci.h: New file.
34684
5c41d44d 346852008-08-07 Christian Franke <franke@computer.org>
34686
34687 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
34688 (TIMER2_GATE): Likewise.
34689 (grub_pit_wait): Add enable/disable of the timer2 gate
34690 bit of port 0x61. This fixes a possible infinite loop.
34691
5ebc275d 346922008-08-07 Bean <bean123ch@gmail.com>
34693
34694 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
34695 kern/i386/tsc.c and kern/i386/pit.c.
34696
34697 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
34698 x86_64 platform.
34699
34700 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
34701 <grub/i386/tsc.h>.
34702
34703 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
34704
e383b3d0 347052008-08-07 Bean <bean123ch@gmail.com>
34706
34707 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
34708
34709 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
34710
34711 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
34712 multiple inclusion. Add #include <grub/types.h>.
34713
1cbb58ac 347142008-08-06 Christian Franke <franke@computer.org>
34715
34716 * conf/common.rmk: Build and install `10_windows'.
34717 * util/grub.d/10_windows.in: New script.
34718
337f5a1e 347192008-08-06 Pavel Roskin <proski@gnu.org>
34720
34721 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
34722
057bc4ac 347232008-08-06 Robert Millan <rmh@aybabtu.com>
34724
34725 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
34726 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
34727
2b99f123 347282008-08-06 Bean <bean123ch@gmail.com>
34729
34730 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
34731 (grub_pxefs_fs_int): Remove dummy definition.
34732 (grub_pxefs_open): Use data->block_size to store the current block
34733 size setting.
34734 (grub_pxefs_read): Use block size stored in data->block_size. As the
34735 value of grub_pxe_blksize can be changed after the file is opened.
34736
9f0234cb 347372008-08-06 Bean <bean123ch@gmail.com>
34738
34739 * fs/i386/pc/pxe.c (curr_file): new variable.
34740 (grub_pxefs_open): Simply the handling of pxe file system. Don't
34741 require the dummy internal file system anymore.
34742 (grub_pxefs_read): Removed.
34743 (grub_pxefs_close): Likewise.
34744 (grub_pxefs_fs_int): Likewise.
34745 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
34746 connection when we switch file.
34747 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
34748
a55d42e0 347492008-08-06 Robert Millan <rmh@aybabtu.com>
34750
34751 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
34752 `halt.mod'.
34753 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
34754 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
34755
34756 * kern/i386/halt.c: New file.
34757 * kern/i386/reboot.c: Likewise.
34758 * include/grub/i386/reboot.h: Likewise.
34759 * include/grub/i386/halt.h: Likewise.
34760
34761 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
34762 Include `<grub/cpu/halt.h>'.
34763 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
34764 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
34765
34766 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
34767 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
34768 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
34769 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
34770 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
34771 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
34772 from here ...
34773 * include/grub/i386/at_keyboard.h: ... to here.
34774
24371d26 347752008-08-05 Robert Millan <rmh@aybabtu.com>
34776
34777 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
34778 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
34779 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
34780 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
34781 `kern/generic/millisleep.c'.
34782
34783 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
34784 instead of grub_get_rtc().
34785 (grub_tsc_init): Initialize `tsc_boot_time'.
34786
34787 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
34788 (grub_machine_init): Use grub_tsc_init() rather than
34789 installing an RTC-based handler via grub_install_get_time_ms().
34790
34791 * kern/i386/pit.c: New file.
34792 * include/grub/i386/pit.h: Likewise.
34793
9e7007b3 347942008-08-05 Bean <bean123ch@gmail.com>
34795
34796 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
34797
34798 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
34799 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
34800 (pxe_mod_SOURCES): New macro.
34801 (pxe_mod_CFLAGS): Likewise.
34802 (pxe_mod_LDFLAGS): Likewise.
34803 (pxecmd_mod_SOURCES): Likewise.
34804 (pxecmd_mod_CFLAGS): Likewise.
34805 (pxecmd_mod_LDFLAGS): Likewise.
34806
34807 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
34808 (grub_pxe_call): Likewise.
34809
34810 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
34811
34812 * commands/i386/pc/pxecmd.c: New file.
34813
9f0234cb 34814 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 34815
34816 * include/grub/i386/pc/pxe.h: Likewise.
34817
6977d49f 348182008-08-05 Bean <bean123ch@gmail.com>
34819
34820 * util/console.c (grub_console_cur_color): New variable.
34821 (grub_console_standard_color): Likewise.
34822 (grub_console_normal_color): Likewise.
34823 (grub_console_highlight_color): Likewise.
34824 (color_map): Likewise.
34825 (use_color): Likewise.
34826 (NUM_COLORS): New macro.
34827 (grub_ncurses_setcolorstate): Handle color properly.
34828 (grub_ncurses_setcolor): Don't change color here, just remember the
34829 settings, color will be set in grub_ncurses_setcolorstate.
34830 (grub_ncurses_getcolor): New function.
34831 (grub_ncurses_init): Initialize color pairs.
34832 (grub_ncurses_term): New member grub_ncurses_getcolor.
34833
9c2ff3ee 348342008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 34835
9c2ff3ee 34836 High resolution timer support. Implemented for x86 CPUs using TSC.
34837 Extracted generic grub_millisleep() so it's linked in only as needed.
34838 This requires a Pentium compatible CPU; if the RDTSC instruction is
34839 not supported, then it falls back on the generic grub_get_time_ms()
34840 implementation that uses the machine's RTC.
34841
34842 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
34843 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
34844 `kern/generic/millisleep.c'.
34845
34846 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
34847 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
34848
34849 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
34850 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
34851
34852 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
34853
34854 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
34855 `kern/generic/millisleep.c'.
34856
34857 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
34858
34859 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
34860
34861 * kern/generic/rtc_get_time_ms.c: New file.
34862
34863 * kern/generic/millisleep.c: New file.
337f5a1e 34864
9c2ff3ee 34865 * kern/misc.c: Don't include
34866 <kern/time.h> anymore.
34867 (grub_millisleep_generic): Removed.
34868
34869 * commands/sleep.c (grub_interruptible_millisleep): Uses
34870 grub_get_time_ms() instead of grub_get_rtc().
34871
34872 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
34873 function.
34874 (grub_cpu_is_cpuid_supported): New inline function.
34875 (grub_cpu_is_tsc_supported): New inline function.
34876 (grub_tsc_init): New function prototype.
34877 (grub_tsc_get_time_ms): New function prototype.
34878
34879 * kern/i386/tsc.c (grub_get_time_ms): New file.
34880
34881 * include/grub/time.h: Include <grub/types.h.
34882 (grub_millisleep_generic): Removed.
34883 (grub_get_time_ms): New prototype.
34884 (grub_install_get_time_ms): New prototype.
34885 (grub_rtc_get_time_ms): New prototype.
34886
34887 * kern/time.c (grub_get_time_ms): New function.
34888 (grub_install_get_time_ms): New function.
34889
34890 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
34891 <grub/time.h> anymore.
34892 (grub_millisleep): Removed.
34893 (grub_machine_init): Call grub_tsc_init.
34894
34895 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
34896 get_time_ms() implementation.
34897
34898 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
34899 (ieee1275_get_time_ms): New function.
34900 (grub_machine_init): Install get_time_ms() implementation.
34901
34902 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
34903 (grub_machine_init): Call grub_tsc_init().
34904 (grub_millisleep): Removed.
bf06a93f 34905
9c2ff3ee 34906 * kern/ieee1275/init.c (grub_millisleep): Removed.
34907 (grub_machine_init): Install ieee1275_get_time_ms()
34908 implementation.
34909 (ieee1275_get_time_ms): New function.
34910 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
34911 real work.
34912
9ec92aaf 349132008-08-05 Marco Gerards <marco@gnu.org>
34914
34915 * disk/ata.c: Include <grub/pci.h>.
34916 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
34917 (grub_ata_initialize): Rewritten.
34918 (grub_ata_device_initialize): New function.
34919
8d23f507 349202008-08-04 Pavel Roskin <proski@gnu.org>
34921
34922 * kern/main.c: Include grub/mm.h.
34923
5e15ee3d 349242008-08-04 Robert Millan <rmh@aybabtu.com>
34925
34926 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
34927 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
34928 corruption problem).
34929
a9053f8f 349302008-08-04 Robert Millan <rmh@aybabtu.com>
34931
34932 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
34933 warnings introduced in my last commit.
34934
dd19c7d7 349352008-08-03 Robert Millan <rmh@aybabtu.com>
34936
34937 Make PCI available on all i386 architectures.
34938
34939 * include/grub/i386/pc/pci.h: Move from here ...
34940 * include/grub/i386/pci.h: ... to here.
34941
34942 * include/grub/i386/pc/pci.h: Remove.
34943 * include/grub/i386/efi/pci.h: Remove.
34944 * include/grub/x86_64/efi/pci.h: Remove.
34945
34946 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
34947 `<grub/cpu/pci.h>'.
34948
34949 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
34950 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
34951 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
34952
34953 * conf/i386-ieee1275.rmk: Likewise.
34954
e14a6184 349552008-08-03 Robert Millan <rmh@aybabtu.com>
34956
34957 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
34958 (grub_console_setcursor): Make it possible to set cursor off.
34959
52768e37 349602008-08-03 Robert Millan <rmh@aybabtu.com>
34961
34962 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
34963 of modules instead of assuming which platform provides what.
34964 * util/update-grub.in: Likewise.
34965
2d52f57f 349662008-08-03 Robert Millan <rmh@aybabtu.com>
34967
34968 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
34969 instead of `grub_install_dos_part' to determine whether a drive needs
34970 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 34971 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 34972
2a5cd121 349732008-08-02 Robert Millan <rmh@aybabtu.com>
34974
34975 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
34976
93808428 349772008-08-02 Robert Millan <rmh@aybabtu.com>
34978
34979 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
34980 of informational grub_dprintf() calls.
34981
3bd0a12a 349822008-08-02 Robert Millan <rmh@aybabtu.com>
34983
34984 * disk/memdisk.c (memdisk_size): Don't initialize.
34985 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
34986
34987 * include/grub/i386/pc/kernel.h
34988 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
34989 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
34990 (grub_memdisk_image_size, grub_arch_memdisk_addr)
34991 (grub_arch_memdisk_size): Remove.
34992
34993 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
34994 field (was only used to transfer a constant). Add `type' field to
34995 support multiple module types.
34996 (grub_module_iterate): New function.
34997
34998 * kern/device.c (grub_device_open): Do not hide error messages
34999 when grub_disk_open() fails. Use grub_print_error() instead.
35000
35001 * kern/i386/pc/init.c (grub_arch_modules_addr)
35002 (grub_arch_memdisk_size): Remove functions.
35003 (grub_arch_modules_addr): Return the module address in high memory
35004 (now that it isn't copied anymore).
35005
35006 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
35007 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
35008 decompression routine (grub_total_module_size already includes that
35009 now). Don't copy modules back to low memory.
35010
35011 * kern/main.c: Include `<grub/mm.h>'.
35012 (grub_load_modules): Split out (and use) ...
35013 (grub_module_iterate): ... this function, which iterates through
35014 module objects and runs a hook.
35015 Comment out grub_mm_init_region() call, as it would cause non-ELF
35016 modules to be overwritten.
35017
35018 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
35019 the memdisk image in its own region, make it part of the module list.
35020 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
35021 (main): Parse --memdisk|-m option, and pass user-provided path as
35022 parameter to generate_image().
35023 (add_segments): Pass `memdisk_path' down to load_modules().
35024 (load_modules): Embed memdisk image in module section when requested.
35025 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
35026 `header.type' instead of `header.offset'.
35027
35028 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
35029 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
35030 (memdisk_mod_LDFLAGS): New variables.
35031 * conf/i386-coreboot.rmk: Likewise.
35032 * conf/i386-ieee1275.rmk: Likewise.
35033
a927cc73 350342008-08-02 Robert Millan <rmh@aybabtu.com>
35035
35036 * loader/i386/pc/multiboot.c (playground, forward_relocator)
35037 (backward_relocator): New variables. Used to allocate and relocate
35038 the payload, respectively.
35039 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 35040 address, install the appropriate relocator code in each bound of
a927cc73 35041 the payload, and set the entry point such that
35042 grub_multiboot_real_boot() will jump to one of them.
35043
35044 * kern/i386/loader.S (grub_multiboot_payload_size)
35045 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
35046 (grub_multiboot_payload_entry_offset): New variables.
35047 (grub_multiboot_real_boot): Set cpu context to what the relocator
35048 expects, and jump to the relocator instead of the payload.
35049
35050 * include/grub/i386/loader.h (grub_multiboot_payload_size)
35051 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
35052 (grub_multiboot_payload_entry_offset): Export.
35053
b15d8a0c 350542008-08-01 Bean <bean123ch@gmail.com>
35055
35056 * normal/menu_entry.c (editor_getline): Don't return the original
35057 string as result, as it will be released by lexer once it has done
35058 using it.
35059
cdfb3d22 350602008-08-01 Robert Millan <rmh@aybabtu.com>
35061
35062 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
35063 within menuentries, not before them.
35064 util/grub.d/10_hurd.in: Likewise.
35065
9175e93d 350662008-08-01 Bean <bean123ch@gmail.com>
35067
35068 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
35069 (bufio_mod_SOURCES): New macro.
35070 (bufio_mod_CFLAGS): Likewise.
35071 (bufio_mod_LDFLAGS): Likewise.
35072
35073 * include/grub/bufio.h: New file.
35074
35075 * io/bufio.c: Likewise.
35076
35077 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
35078 (grub_video_reader_png): Use grub_buffile_open to open file.
35079
35080 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
35081 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
35082
35083 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
35084 (grub_video_reader_tga): Use grub_buffile_open to open file.
35085
35086 * font/manager.c: Include <grub/bufio.h>.
35087 (add_font): Use grub_buffile_open to open file.
35088
3d8383e7 350892008-07-31 Robert Millan <rmh@aybabtu.com>
35090
35091 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
35092 ELF segments, use a macro for arbitrarily accessing any of them instead
35093 of preparing a pointer that allows access to one at a time.
35094 (grub_multiboot_load_elf64): Likewise.
35095
16e641b6 350962008-07-31 Bean <bean123ch@gmail.com>
35097
35098 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
35099 GRUB_KERNEL_MACHINE_DATA_END.
35100
59198b72 351012008-07-30 Robert Millan <rmh@aybabtu.com>
35102
35103 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
35104 Increase from 0x50 to 0x60.
35105 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
35106 use UUIDs to identify the root drive for them. If that's not
35107 possible, abort.
35108 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
35109 check, for cross-disk installs.
35110
ae88bca3 351112008-07-30 Robert Millan <rmh@aybabtu.com>
35112
35113 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
35114 is non-empty, use it to set the `prefix' environment variable instead
35115 of the usual approach.
35116 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
35117 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
35118 environment variable instead of dummy make_install_device().
35119
35120 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
35121 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 35122 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 35123
35124 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
35125 New variable reference.
35126 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
35127 New macro. Defines offset of `grub_prefix' within startup.S (relative
35128 to `start').
35129 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
35130 section within startup.S (relative to `start').
35131 * include/grub/i386/coreboot/kernel.h: Likewise.
35132
35133 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
35134 Overwrite grub_prefix with its contents, at the beginning of the
35135 first segment.
35136 (main): Understand -p|--prefix.
35137
14f41dd1 351382008-07-30 Robert Millan <rmh@aybabtu.com>
35139
35140 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
35141
4ca049a3 351422008-07-30 Robert Millan <rmh@aybabtu.com>
35143
35144 * term/i386/pc/vga_text.c (grub_console_cls): Use
35145 grub_console_gotoxy() to go back to beginning of the screen.
35146 Found by Patrick Georgi <patrick.georgi@coresystems.de>
35147
2921d337 351482008-07-29 Christian Franke <franke@computer.org>
35149
35150 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
35151 Add conversion of emulated mount points on Cygwin.
35152
b609876d 351532008-07-29 Christian Franke <franke@computer.org>
35154
35155 * util/update-grub.in: Add a check for admin
35156 group on Cygwin.
35157 Remove old `grub.cfg.new' before creation.
35158 Add `-f' to `mv' to handle the different filesystem
35159 semantics of Windows.
35160
e93e4679 351612008-07-29 Bean <bean123ch@gmail.com>
35162
35163 * normal/main.c (get_line): Fix buffer overflow bug.
35164
41694fd0 351652008-07-28 Robert Millan <rmh@aybabtu.com>
35166
35167 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
35168 (struct grub_apple_header): New struct. Describes the layout of
35169 the partmap header.
35170 (apple_partition_map_iterate): Check the header magic as well as the
35171 partition magic (which was already being checked).
35172
cfd0b4e6 351732008-07-28 Pavel Roskin <proski@gnu.org>
35174
35175 * genmk.rb: Add a warning to the beginning of the output that
35176 it's a generated file and should not be edited.
35177
93cce016 351782008-07-28 Robert Millan <rmh@aybabtu.com>
35179
35180 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
35181 with the same number are found, just use issue a warning with
35182 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 35183
cd1df915 351842008-07-27 Robert Millan <rmh@aybabtu.com>
35185
35186 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
35187 information.
35188
b70a8427 351892008-07-27 Bean <bean123ch@gmail.com>
35190
35191 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
35192 (grub_fat_find_dir): Ignore case when comparing filename.
35193
8f5e379f 351942008-07-27 Bean <bean123ch@gmail.com>
35195
35196 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
35197 smallino, as it's more descriptive, and i8count can be confused with
35198 the other field count.
35199 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
35200 inode type.
35201
a85cd5a0 352022008-07-27 Bean <bean123ch@gmail.com>
35203
35204 * commands/crc.c: New file.
35205
35206 * lib/crc.c: Likewise.
35207
35208 * include/grub/lib/crc.h: Likewise.
35209
35210 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
35211
35212 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
35213 (hexdump): Move this function to ...
35214
35215 * lib/hexdump.c: ... here.
35216
35217 * include/grub/hexdump.h: Renamed to ...
35218
35219 * include/grub/lib/hexdump.h: ... this.
35220
35221 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
35222
35223 * util/grub-editenv.c: Likewise.
35224
35225 * include/envblk.h: Renamed to ...
35226
35227 * include/lib/envblk.h: ... this.
35228
35229 * util/envblk.c: Renamed to ...
35230
35231 * lib/envblk.c: ... this.
35232
35233 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
35234 lib/hexdump.c.
35235 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
35236 (pkglib_MODULES): Add crc.mod.
35237 (hexdump_mod_SOURCES): Add lib/hexdump.c.
35238 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
35239 (crc_mod_SOURCES): New macro.
35240 (crc_mod_CFLAGS): Likewise.
35241 (crc_mod_LDFLAGS): Likewise.
35242
35243 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
35244
35245 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
35246
35247 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
35248
35249 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
35250
35251 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
35252
c298def0 352532008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 35254
35255 * commands/help.c: Include <grub/term.h>.
35256 (TERM_WIDTH): Removed. Updated all users.
35257
cc349fb3 352582008-07-27 Pavel Roskin <proski@gnu.org>
35259
35260 * util/getroot.c (find_root_device): Rephrase a comment to avoid
35261 spurious warnings about a comment within a comment.
35262
9051607e 352632008-07-25 Robert Millan <rmh@aybabtu.com>
35264
35265 * util/getroot.c (find_root_device): Skip devices that match
35266 /dev/dm-[0-9]. This lets the real device be found for any type of
35267 abstraction (LVM, EVMS, RAID..).
35268 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
35269 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
35270 device is found first, find_root_device() will now skip it.
35271
01453bfc 352722008-07-24 Pavel Roskin <proski@gnu.org>
35273
35274 * include/grub/types.h: Use __builtin_bswap32() and
35275 __builtin_bswap64() with gcc 4.3 and newer.
35276
6af9849f 352772008-07-24 Christian Franke <franke@computer.org>
35278
3a0fa256 35279 * util/i386/pc/grub-install.in: If `--debug' is specified,
35280 pass `--verbose' to grub-setup.
35281 Abort script if make_system_path_relative_to_its_root() fails.
35282
7810e747 352832008-07-24 Bean <bean123ch@gmail.com>
35284
35285 * configure.ac: Fixed a bug caused by the previous cygwin patch,
35286 variable `target_platform' should be `platform'.
35287
42290e17 352882008-07-24 Bean <bean123ch@gmail.com>
35289
51cc5193 35290 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 35291 (grub_png_init_fixed_block): New function.
35292 (grub_png_decode_image_data): Handle fixed huffman code compression.
35293
2a8a80e4 352942008-07-24 Bean <bean123ch@gmail.com>
35295
35296 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
35297 (grub_pe2elf_SOURCES): New macro.
35298 (CLEANFILES): Add grub-pe2elf.
35299
35300 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
35301 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
35302 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
35303 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
35304 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
35305 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
35306 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
35307 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
35308 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
35309 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
35310 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
35311 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
35312 (GRUB_PE32_DT_FUNCTION): Likewise.
35313 (GRUB_PE32_REL_I386_DIR32): Likewise.
35314 (GRUB_PE32_REL_I386_REL32): Likewise.
35315 (grub_pe32_symbol): New structure.
35316 (grub_pe32_reloc): Likewise.
35317
35318 * util/grub-pe2elf.c: New file.
35319
35320 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
35321 start symbol in non pc platform.
35322
35323 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
35324
35325 The following patches are from Christian Franke.
35326
35327 * include/grub/dl.h: Remove .previous, gas supports this only
35328 for ELF format.
35329
35330 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
35331 Remove .type, gas supports this only for ELF format.
35332
35333 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
35334 nullbytes in symbol table. This fixes an infinite loop if table is
35335 zero filled.
35336
35337 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
35338 TARGET_IMG_LDFLAGS and EXEEXT.
35339
35340 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
35341 TARGET_IMG_LDFLAGS_AC.
35342 (grub_CHECK_STACK_ARG_PROBE): New function.
35343
35344 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
35345
35346 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
35347
35348 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
35349 to set TARGET_IMG_LD* accordingly.
35350 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
35351 Add call to grub_CHECK_STACK_ARG_PROBE.
35352 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
35353
35354 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
35355
35356 * genmk.rb: Add EXEEXT to CLEANFILES.
35357
12ccdb75 353582008-07-23 Robert Millan <rmh@aybabtu.com>
35359
35360 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
35361 define the codes for arrows and lines used for the menu).
35362 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
35363 as well.
35364
35365 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
35366 fonts, because the latter are too slow.
35367
18eeaf04 353682008-07-21 Bean <bean123ch@gmail.com>
35369
35370 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
35371 a20. Run keyboard test last, as it will cause macbook to halt.
35372
b095e2ad 353732008-07-18 Pavel Roskin <proski@gnu.org>
35374
35375 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
35376 load foreign architecture modules correctly anyway. Keep
35377 support for loading host architecture modules, whether we
35378 compile them or not.
35379
737feb35 353802008-07-17 Pavel Roskin <proski@gnu.org>
35381
3f4ce737 35382 * configure.ac: Use -m32 or -m64 regardless of whether we had to
35383 change target_cpu. The compiler default can mismatch target_cpu
35384 in any case.
35385
4ad2d049 35386 * disk/efi/efidisk.c: Fix format warnings on x86_64.
35387 * kern/efi/efi.c: Likewise.
35388
f6130a12 35389 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
35390 target compiler is functional.
35391 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
35392 are set up.
35393
58393a2d 35394 * configure.ac: Default to efi platform for x86_64-apple. Allow
35395 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
35396 adjustments from the rest, only do them if target is not
35397 explicitly given. Merge other adjustments with the final sanity
35398 check. Remove an extraneous check for supported CPU. Be
35399 specific which CPU and which platform is not supported.
35400
737feb35 35401 * configure.ac: Default to pc platform for x86_64.
35402
546f966a 354032008-07-17 Robert Millan <rmh@aybabtu.com>
35404
35405 Partial LinuxBIOS -> Coreboot rename.
35406
35407 * conf/i386-linuxbios.rmk: Renamed to ...
35408 * conf/i386-coreboot.rmk: ... this.
35409 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
35410 * configure.ac: Accept "coreboot" as input platform (but maintain
35411 compatibility with "linuxbios").
35412 * include/grub/i386/linuxbios: Renamed to ...
35413 * include/grub/i386/coreboot: ... this.
35414
20011694 354152008-07-17 Bean <bean123ch@gmail.com>
35416
35417 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 35418 (appleldr_mod_SOURCE): New variable.
20011694 35419 (appleldr_mod_CFLAGS): Likewise.
35420 (appleldr_mod_LDFLAGS): Likewise.
35421 (pci_mod_SOURCES): Likewise.
35422 (pci_mod_CFLAGS): Likewise.
35423 (pci_mod_LDFLAGS): Likewise.
35424 (lspci_mod_SOURCES): Likewise.
35425 (lspci_mod_CFLAGS): Likewise.
35426 (lspci_mod_LDFLAGS): Likewise.
35427
35428 * conf/x86_64-efi.rmk: New file.
35429
35430 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
35431 macro.
35432 (grub_efidisk_write): Likewise.
35433
35434 * include/efi/api.h (efi_call_0): New macro.
35435 (efi_call_1): Likewise.
35436 (efi_call_2): Likewise.
35437 (efi_call_3): Likewise.
35438 (efi_call_4): Likewise.
35439 (efi_call_5): Likewise.
35440 (efi_call_6): Likewise.
35441
35442 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
35443 grub_rescue_cmd_chainloader.
35444
35445 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
35446 (grub_pe32_optional_header): Change some fields based on i386 or
35447 x86_64 platform.
35448 (GRUB_PE32_PE32_MAGIC): Likewise.
35449
35450 * include/grub/efi/uga_draw.h: New file.
35451
35452 * include/grub/elf.h (STN_ABS): New constant.
35453 (R_X86_64_NONE): Relocation constant for x86_64.
35454 (R_X86_64_64): Likewise.
35455 (R_X86_64_PC32): Likewise.
35456 (R_X86_64_GOT32): Likewise.
35457 (R_X86_64_PLT32): Likewise.
35458 (R_X86_64_COPY): Likewise.
35459 (R_X86_64_GLOB_DAT): Likewise.
35460 (R_X86_64_JUMP_SLOT): Likewise.
35461 (R_X86_64_RELATIVE): Likewise.
35462 (R_X86_64_GOTPCREL): Likewise.
35463 (R_X86_64_32): Likewise.
35464 (R_X86_64_32S): Likewise.
35465 (R_X86_64_16): Likewise.
35466 (R_X86_64_PC16): Likewise.
35467 (R_X86_64_8): Likewise.
35468 (R_X86_64_PC8): Likewise.
35469
35470 * include/grub/i386/efi/pci.h: New file.
35471
35472 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
35473 Change it value based on platform.
35474 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
35475 (GRUB_E820_RAM): Likewise.
35476 (GRUB_E820_RESERVED): Likewise.
35477 (GRUB_E820_ACPI): Likewise.
35478 (GRUB_E820_NVS): Likewise.
35479 (GRUB_E820_EXEC_CODE): Likewise.
35480 (GRUB_E820_MAX_ENTRY): Likewise.
35481 (grub_e820_mmap): New structure.
35482 (linux_kernel_header): Change the efi field according to different
35483 kernel version, also field from linux_kernel_header.
35484
35485 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
35486
35487 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
35488 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
35489 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
35490 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
35491 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
35492 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
35493 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
35494 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
35495 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
35496 (GRUB_PCI_ADDR_IO_MASK): Likewise.
35497
35498 * include/grub/x86_64/efi/kernel.h: New file.
35499
35500 * include/grub/x86_64/efi/loader.h: Likewise.
35501
35502 * include/grub/x86_64/efi/machine.h: Likewise.
35503
35504 * include/grub/x86_64/efi/pci.h: Likewise.
35505
35506 * include/grub/x86_64/efi/time.h: Likewise.
35507
35508 * include/grub/x86_64/linux.h: Likewise.
35509
35510 * include/grub/x86_64/setjmp.h: Likewise.
35511
35512 * include/grub/x86_64/time.h: Likewise.
35513
35514 * include/grub/x86_64/types.h: Likewise.
35515
35516 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
35517 GRUB_TARGET_SIZEOF_VOID_P.
35518
35519 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
35520 (grub_efi_locate_handle): Likewise.
35521 (grub_efi_open_protocol): Likewise.
35522 (grub_efi_set_text_mode): Likewise.
35523 (grub_efi_stall): Likewise.
35524 (grub_exit): Likewise.
35525 (grub_reboot): Likewise.
35526 (grub_halt): Likewise.
35527 (grub_efi_exit_boot_services): Likewise.
35528 (grub_get_rtc): Likewise.
35529
35530 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
35531 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
35532 (grub_efi_allocate_pages): Wrap efi calls.
35533 (grub_efi_free_pages): Wrap efi calls.
35534 (grub_efi_get_memory_map): Wrap efi calls.
35535
35536 * kern/x86_64/dl.c: New file.
35537
35538 * kern/x86_64/efi/callwrap.S: Likewise.
35539
35540 * kern/x86_64/efi/startup.S: Likewise.
35541
35542 * loader/efi/appleloader.c: Likewise.
35543
35544 * loader/efi/chainloader.c (cmdline): New variable.
35545 (grub_chainloader_unload): Wrap efi calls.
35546 (grub_chainloader_boot): Likewise.
35547 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
35548 command line.
35549
35550 * loader/efi/chainloader_normal.c (chainloader_command):
35551 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
35552 command line.
35553
35554 * loader/i386/efi/linux.c (allocate_pages): Change allocation
35555 method.
35556 (grub_e820_add_region): New function.
35557 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
35558 booting.
35559 (grub_find_video_card): New function.
35560 (grub_linux_setup_video): New function.
35561 (grub_rescue_cmd_linux): Probe for video information.
35562
35563 * normal/x86_64/setjmp.S: New file.
35564
35565 * term/efi/console.c (map_char): New function.
35566 (grub_console_putchar): Map unicode char.
35567 (grub_console_checkkey): Wrap efi calls.
35568 (grub_console_getkey): Likewise.
35569 (grub_console_getwh): Likewise.
35570 (grub_console_gotoxy): Likewise.
35571 (grub_console_cls): Likewise.
35572 (grub_console_setcolorstate): Likewise.
35573 (grub_console_setcursor): Likewise.
35574
35575 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
35576
59652a20 355772008-07-16 Pavel Roskin <proski@gnu.org>
35578
ef294055 35579 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
35580 format strings.
35581
59652a20 35582 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
35583 pointer, not an integer. This fixes a warning and prevents
35584 precision loss on 64-bit systems.
35585 (relocate_addresses): Remove unneeded cast.
35586
afc3b5d7 355872008-07-15 Pavel Roskin <proski@gnu.org>
35588
506b2b3e 35589 * kern/i386/ieee1275/init.c: Include grub/cache.h.
35590
62ead89c 35591 * term/ieee1275/ofconsole.c: Disable code unused on i386.
35592
c4cd51d7 35593 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
35594 Fix comparison between signed and unsigned.
35595
0d3d8f28 35596 * include/grub/i386/ieee1275/console.h: Declare
35597 grub_console_init() and grub_console_fini().
35598
8804b286 35599 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
35600 It's empty and unused.
35601
ee01cf35 35602 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
35603 beginning to avoid warnings with some compilers.
35604
afc3b5d7 35605 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
35606 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
35607
e4e8eaa5 356082008-07-14 Pavel Roskin <proski@gnu.org>
35609
407aceb4 35610 * kern/env.c (grub_register_variable_hook): Don't copy empty
35611 string, it leaks memory. Pass "" to grub_env_set(), it should
35612 handle constant strings.
35613
e4e8eaa5 35614 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
35615 * commands/cmp.c (grub_cmd_cmp): Likewise.
35616 * kern/dl.c (grub_dl_flush_cache): Likewise.
35617 (grub_dl_load_core): Likewise.
35618 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
35619 (grub_elf64_load_phdrs): Likewise.
35620
d4e2dad3 356212008-07-13 Pavel Roskin <proski@gnu.org>
35622
35623 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
35624 between signed and unsigned.
35625 (LzmaEnc_Finish): Fix warning about an unused parameter.
35626
aa24b516 356272008-07-13 Bean <bean123ch@gmail.com>
35628
35629 * Makefile.in (enable_lzo): New rule.
35630
35631 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
35632
35633 * configure.ac (ENABLE_LZO): New option --enable-lzo.
35634
35635 * boot/i386/pc/lnxboot.S: #include <config.h>.
35636
35637 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 35638 its value according to the compression algorithm used, lzo or lzma.
aa24b516 35639
35640 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
35641 compression algorithm according to configure macro.
35642
35643 * kern/i386/pc/startup.S (codestart): Likewise.
35644
35645 * kern/i386/pc/lzma_decode.S: New file.
35646
35647 * include/grub/lib/LzFind.h: Likewise.
35648
35649 * include/grub/lib/LzHash.h: Likewise.
35650
35651 * include/grub/lib/LzmaDec.h: Likewise.
35652
35653 * include/grub/lib/LzmaEnc.h: Likewise.
35654
35655 * include/grub/lib/LzmaTypes.h: Likewise.
35656
35657 * lib/LzFind.c: Likewise.
35658
35659 * lib/LzmaDec.c: Likewise.
35660
35661 * lib/LzmaEnc.c: Likewise.
35662
4ae821ac 356632008-07-13 Bean <bean123ch@gmail.com>
35664
35665 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
35666 (grub_ext4_extent_header): New structure.
35667 (grub_ext4_extent): Likewise.
35668 (grub_ext4_extent_idx): Likewise.
35669 (grub_ext4_find_leaf): New function.
35670 (grub_ext2_read_block): Handle extents.
35671
9a745147 356722008-07-12 Robert Millan <rmh@aybabtu.com>
35673
35674 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
35675
d49a4cf6 356762008-07-11 Robert Millan <rmh@aybabtu.com>
35677
35678 * util/grub.d/40_custom.in: New file. Example on how to add custom
35679 entries to /etc/grub.d.
35680 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
35681 40_custom (implicitly, by merging all the grub.d rules).
35682
947414b4 356832008-07-11 Pavel Roskin <proski@gnu.org>
35684
0059cf6f 35685 * commands/read.c (grub_getline): Fix invalid memory access.
35686 Don't add newline to the variable value.
35687
947414b4 35688 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
35689 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
35690 (serial_hw_get_port): Check validity of the port number.
35691 (grub_cmd_serial): Check return value of serial_hw_get_port().
35692
62a02d00 356932008-07-07 Pavel Roskin <proski@gnu.org>
35694
35695 * boot/i386/pc/diskboot.S (notification_string): Replace
35696 "Loading kernel" with just "loading". This is shorter, less
35697 confusing and saves a few bytes for possible future changes.
35698
3e5581b0 356992008-07-05 Pavel Roskin <proski@gnu.org>
35700
ea387a48 35701 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
35702 size for ATAPI devices, they are undefined. Output sector
35703 number in decimal form.
35704
3e5581b0 35705 * disk/ata.c: Use named constants for status bits.
35706
fdecb8fd 357072008-07-04 Pavel Roskin <proski@gnu.org>
35708
bcd35b90 35709 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
35710 grub_addr_t before casting it to the void pointer to fix a
35711 warning. Non-addressable regions are discarded earlier.
35712 (grub_arch_modules_addr): Cast _end to grub_addr_t.
35713 * kern/i386/linuxbios/table.c: Include grub/misc.h.
35714 (check_signature): Don't shadow table_header.
35715 (grub_linuxbios_table_iterate): Cast numeric constants to
35716 grub_linuxbios_table_header_t.
35717 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
35718 grub_stop().
35719
af58ab3d 35720 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
35721 prevent warnings.
35722
1759aa57 35723 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
35724 pointer, which can cause warnings. Support 64-bit addresses.
35725
fdecb8fd 35726 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
35727 of sizeof(long). This fixes PowerPC image generation on x86_64.
35728
8516d2a8 357292008-07-04 Robert Millan <rmh@aybabtu.com>
35730
35731 This fixes a performance issue when pc & gpt partmap iterators
35732 didn't abort iteration even after our hook found what it was
fe987087 35733 looking for (often causing expensive probes of non-existent drives).
8516d2a8 35734
35735 Some callers relied on previous buggy behaviour, since they would
34c44600 35736 raise an error when their own hooks caused early abortion of its
8516d2a8 35737 iteration.
35738
35739 * kern/device.c (grub_device_open): Improve error message.
35740 * disk/lvm.c (grub_lvm_open): Likewise.
35741 * disk/raid.c (grub_raid_open): Likewise.
35742
35743 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
35744 when hook requests it, independently of grub_errno.
35745 (pc_partition_map_probe): Do not fail when find_func() caused
35746 early abortion of pc_partition_map_iterate().
35747
35748 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
35749 when hook requests it, independently of grub_errno.
35750 (gpt_partition_map_probe): Do not fail when find_func() caused
35751 early abortion of gpt_partition_map_iterate().
35752
35753 * kern/partition.c (grub_partition_iterate): Abort parent iteration
35754 when hook requests it, independently of grub_errno. Do not fail when
35755 part_map_iterate_hook() caused early abortion of p->iterate().
35756
35757 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
35758 when grub_partition_iterate() returned with non-zero.
35759
277d0de9 357602008-07-03 Pavel Roskin <proski@gnu.org>
35761
35762 * disk/ata.c (grub_ata_pio_write): Check status before writing,
35763 like we do in grub_ata_pio_read().
35764 (grub_ata_readwrite): Always write individual sectors. Fix the
35765 sector count for the remainder.
35766 (grub_ata_write): Enable writing to ATA devices. Correctly
35767 report error for ATAPI devices.
35768
d4c9b428 357692008-07-02 Pavel Roskin <proski@gnu.org>
35770
e43fc690 35771 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
35772 warning.
35773
f707af42 35774 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
35775 for every read sector, we already increment it for the whole
35776 batch. This fixes reading more than 256 sectors at once.
35777
11e16b15 35778 * util/grub-editenv.c (cmd_info): Cast argument to long
35779 explicitly. ptrdiff_t reduces to int on i386.
35780
cbabfdd4 35781 * util/grub-editenv.c (main): Be specific which parameter is
35782 missing.
35783
b8fbce0a 35784 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
35785 (memdisk): Make memdisk_orig_addr a pointer.
35786
c9c8e606 35787 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
35788 for file offsets, use grub_off_t instead. Fix printf format
35789 warnings.
35790
ca62e598 35791 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
35792 there. Real unexpected warnings should not drown in the noise
35793 about known problems.
35794
ce8d1766 35795 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
35796 grub_disk_addr_t for memory addresses.
35797
00c7a56a 35798 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
35799 explicitly to fix a warning.
35800
08d3ef09 35801 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
35802
cb71ba20 35803 * Makefile.in (MODULE_LDFLAGS): New variable.
35804 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
35805 the linker accepts --build-id=none.
35806 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
35807 MODULE_LDFLAGS.
35808 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
35809
d4c9b428 35810 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
35811 those in Linux XFS code. Provide a way to access 64-bit parent
35812 inode.
35813 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
35814 the end of struct grub_xfs_dir_header.
35815
d4156eee 358162008-07-02 Bean <bean123ch@gmail.com>
35817
35818 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
35819 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
35820 and GRUB_IEEE1275_FLAG_NO_ANSI.
35821
35822 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
35823 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
35824 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
35825
35826 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
35827 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
35828
35829 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
35830 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
35831
35832 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
35833 esc sequence on non ANSI terminal.
35834 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
35835
35836 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
35837 beginning of file.
35838
2270f77b 358392008-07-02 Bean <bean123ch@gmail.com>
35840
35841 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
35842 (grub_editenv_SOURCES): New variable.
35843 (pkglib_MODULES): Add loadenv.mod.
35844 (loadenv_mod_SOURCES): New variable.
35845 (loadenv_mod_CFLAGS): Likewise.
35846 (loadenv_mod_LDFLAGS): Likewise.
35847
35848 * include/grub/envblk.h: New file.
35849
35850 * util/envblk.c: New file.
35851
35852 * util/grub-editenv.c: New file.
35853
35854 * commands/loadenv.c: New file.
35855
0e9e51ec 358562008-07-01 Pavel Roskin <proski@gnu.org>
35857
d89b7634 35858 * include/multiboot2.h (struct multiboot_tag_module): Use char,
35859 not unsigned char. This fixes warnings and is consistent with
35860 other tags.
35861
bf1835b1 35862 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
35863
8222a04b 35864 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
35865
6a42d99d 35866 * term/tparm.c (analyze): Always set *popcount.
35867
10b159d1 35868 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
35869 cast to fix a warning.
35870
b8789f6c 35871 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
35872 cast to suppress a warning.
35873
29d7e38a 35874 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
35875 grub_fshelp_read_file() expects.
35876
f341f669 35877 * fs/fat.c: Fix UUID calculation on big-endian systems. We
35878 write uuid as a 32-bit value in CPU byte order, so declare and
35879 use it as such.
35880
0e9e51ec 35881 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
35882 long if the format specifier expects it.
35883 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
35884 * partmap/pc.c (pc_partition_map_iterate): Likewise.
35885 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
35886 long to fix a warning.
35887 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
35888 grub_dprintf() arguments to fix warnings.
35889
3aefa857 358902008-06-30 Pavel Roskin <proski@gnu.org>
35891
56c7668b 35892 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
35893 install_bsd_part immediately before core.img is embedded or
35894 modified on disk. This fixes core.img verification if core.img
35895 cannot be embedded.
35896
3aefa857 35897 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
35898 core_path to calculate the blocklist.
35899 Patch from Javier Martín <lordhabbit@gmail.com>
35900
5444088d 359012008-06-29 Robert Millan <rmh@aybabtu.com>
35902
35903 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
35904 block to disk block.
35905 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
35906 Patch from Niels Böhm <bitbucket@arcor.de>
35907
674835c8 359082008-06-29 Robert Millan <rmh@aybabtu.com>
35909
35910 * util/update-grub_lib.in (font_path): Search for fonts in
35911 /boot/grub first, which is more likely to be readable (we aren't
35912 deciding where fonts live, just looking for them).
35913
f527dbc8 359142008-06-26 Pavel Roskin <proski@gnu.org>
35915
6c2d8df6 35916 * util/biosdisk.c (read_device_map): Don't leave dead map
35917 entries for devices failing stat() check.
35918
f527dbc8 35919 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
35920 core_path_dev for the core.img path on the target device.
35921
aebe3d13 359222008-06-26 Robert Millan <rmh@aybabtu.com>
35923
35924 * disk/fs_uuid.c: New file.
35925 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
35926 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
35927 (fs_uuid_mod_LDFLAGS): New variables.
35928 * include/grub/disk.h (grub_disk_dev_id): Add
35929 `GRUB_DISK_DEVICE_UUID_ID'.
35930 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
35931 implement iterate().
35932
37aaf354 359332008-06-26 Robert Millan <rmh@aybabtu.com>
35934
35935 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
35936 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
35937 Linux image includes no initrd.
35938
25ff262a 359392008-06-21 Javier Martín <lordhabbit@gmail.com>
35940
35941 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
35942 call to resolve the core image location that effectively appended the
35943 name twice.
35944
76a2bd44 359452008-06-21 Robert Millan <rmh@aybabtu.com>
35946
35947 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
35948 call from here ...
35949
35950 * util/grub.d/10_hurd.in: ... to here ...
35951 * util/grub.d/10_linux.in: ... and here.
35952
650e1c79 359532008-06-19 Robert Millan <rmh@aybabtu.com>
35954
fe987087 35955 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 35956 after it has been set by grub_machine_set_prefix().
35957
6ce63911 359582008-06-19 Robert Millan <rmh@aybabtu.com>
35959
35960 * commands/search.c (search_label, search_fs_uuid, search_file): Print
35961 search result when not saving to variable, not the other way around.
35962 When saving to variable, abort iteration as soon as a match is found.
35963
73940cec 359642008-06-19 Robert Millan <rmh@aybabtu.com>
35965
35966 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
35967 check for partition that provides /boot/grub. Its logic is flawed,
35968 as it prevents prepare_grub_to_access_device() from being called
35969 multiple times.
35970
3c62a39d 359712008-06-19 Robert Millan <rmh@aybabtu.com>
35972
35973 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
35974 "insmod" command directly when abstraction modules are needed,
fe987087 35975 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 35976 since it had already been processed).
35977
47395a42 359782008-06-19 Pavel Roskin <proski@gnu.org>
35979
35980 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
35981 changed. This is needed in case GRUB_LIBDIR changes.
35982 * conf/i386-ieee1275.rmk: Likewise.
35983 * conf/i386-linuxbios.rmk: Likewise.
35984 * conf/i386-pc.rmk: Likewise.
35985 * conf/powerpc-ieee1275.rmk: Likewise.
35986
a145ac2d 359872008-06-18 Pavel Roskin <proski@gnu.org>
35988
35989 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
35990 kernel_elf_symlist.c to symlist.c for consistency with other
35991 architectures. Update all users.
35992 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
35993
7847c51e 359942008-06-18 Robert Millan <rmh@aybabtu.com>
35995
35996 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
35997 it in prefix.
35998
35999 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
36000 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
36001 a RAID device, run setup() for all members independently on whether
36002 LVM abstraction is being used.
36003 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
36004 If grub-mkimage has set `*install_dos_part == -2', don't override this
36005 value.
36006 Perform *install_dos_part adjustments independently on whether
36007 we're embedding or not.
36008 Clarify error message when image is too big for embedding.
36009 Remove duplicate *install_dos_part stanza.
36010
b23e5644 360112008-06-17 Robert Millan <rmh@aybabtu.com>
36012
36013 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
36014 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
36015 variables.
36016 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
36017 values in grub_ofconsole_normal_color and
36018 grub_ofconsole_highlight_color (they're not directly related to
36019 background and foreground).
36020 (grub_ofconsole_setcolorstate): Extract background and foreground
36021 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
36022
0aac2f79 360232008-06-17 Robert Millan <rmh@aybabtu.com>
36024
36025 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
36026 /boot/grub for the check in last commit, not /boot (they could be
36027 different partitions).
36028
3cca7ef3 360292008-06-16 Robert Millan <rmh@aybabtu.com>
36030
36031 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
36032 asked to setup access for the same partition that provides /boot,
36033 don't bother using UUIDs since our root already has the value we
36034 want.
36035
347396d8 360362008-06-16 Robert Millan <rmh@aybabtu.com>
36037
36038 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
36039 I2O devices.
36040 Patch from Sven Mueller <sven@debian.org>.
36041
991477f8 360422008-06-16 Robert Millan <rmh@aybabtu.com>
36043
36044 * util/update-grub.in: Check for $EUID instead of $UID.
36045 Reported by Vincent Zweije.
36046
d31a32a1 360472008-06-16 Bean <bean123ch@gmail.com>
36048
fe987087 36049 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 36050 (grub_ext2_read_block): Likewise.
36051 (grub_ext2_read_inode): Likewise.
36052 (grub_ext2_mount): Likewise.
36053 (grub_ext2_close): Likewise.
36054 (grub_ext3_get_journal): Removed.
36055
fe987087 36056 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 36057 (grub_reiserfs_read_symlink): Likewise.
36058 (grub_reiserfs_mount): Likewise.
36059 (grub_reiserfs_open): Likewise.
36060 (grub_reiserfs_read): Likewise.
36061 (grub_reiserfs_close): Likewise.
36062 (grub_reiserfs_get_journal): Removed.
36063
36064 * fs/fshelp.c (grub_fshelp_read): Removed.
36065 (grub_fshelp_map_block): Likewise.
36066
36067 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
36068 (grub_fshelp_journal): Likewise.
36069 (grub_fshelp_read): Likewise.
36070 (grub_fshelp_map_block): Likewise.
36071
3540a760 360722008-06-16 Pavel Roskin <proski@gnu.org>
36073
36074 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
36075 floating point anymore.
36076 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
36077
95614c84 360782008-06-15 Pavel Roskin <proski@gnu.org>
36079
36080 * commands/ls.c (grub_ls_list_files): Use integer calculations
36081 for human readable format, avoid floating point use.
36082 * kern/misc.c (grub_ftoa): Remove.
36083 (grub_vsprintf): Remove floating point support.
36084
50465dd6 360852008-06-15 Robert Millan <rmh@aybabtu.com>
36086
fe6b695a 36087 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 36088 devices.
36089 Reported by Max Vozeler.
36090
a9207284 360912008-06-15 Robert Millan <rmh@aybabtu.com>
36092
36093 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
36094 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
36095 skipped later.
36096 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
36097 the beginning of the prefix.
36098
36099 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
36100 It is assumed that if we have a memdisk, grub-mkimage has set
36101 grub_prefix to include the "(memdisk)" drive in it.
36102
a7cbd45a 361032008-06-15 Robert Millan <rmh@aybabtu.com>
36104
36105 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
36106 Initialize keyboard controller after registering the terminal, so that
36107 grub_printf() can be called from grub_keyboard_controller_init().
36108
21cf716a 361092008-06-15 Robert Millan <rmh@aybabtu.com>
36110
36111 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
36112 extent-btree which is written as big endian on disk.
36113 Reported by Alain Greppin <al@chilibi.org>.
36114
23a64d8e 361152008-06-14 Robert Millan <rmh@aybabtu.com>
36116
36117 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
36118 * util/i386/pc/grub-install.in (modules): Likewise.
36119
d687651c 361202008-06-13 Pavel Roskin <proski@gnu.org>
36121
36122 * commands/ls.c (grub_ls_list_files): Fix format warnings.
36123
dfe9ddd4 361242008-06-13 Bean <bean123ch@gmail.com>
36125
36126 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
36127
36128 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
36129
36130 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
36131 to indicate sparse block.
36132
16ae7781 361332008-06-12 Pavel Roskin <proski@gnu.org>
36134
e6d1a308 36135 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
36136 number, grub_fshelp_read() does it for us.
36137
16ae7781 36138 * fs/fshelp.c (grub_fshelp_read): New function. Implement
36139 linear disk read with journal translation.
36140 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
36141 * include/grub/fshelp.h: Declare grub_fshelp_read().
36142
40fd3a2b 361432008-06-09 Pavel Roskin <proski@gnu.org>
36144
36145 * fs/minix.c (grub_minix_mount): Handle error reading
36146 superblock.
36147
f5679726 361482008-06-08 Robert Millan <rmh@aybabtu.com>
36149
36150 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
36151 don't append the RAID prefix afterwards.
36152 Reported by Clint Adams.
36153
ce525529 361542008-06-08 Robert Millan <rmh@aybabtu.com>
36155
36156 Based on description from Pavel:
36157 * kern/disk.c (grub_disk_check_range): Rename to ...
36158 (grub_disk_adjust_range): ... this. Add a comment explaining the
36159 tasks performed by this function.
36160
ad4936a0 361612008-06-08 Robert Millan <rmh@aybabtu.com>
36162
36163 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
36164 `num_serial' (for consistency with other variables).
36165 (struct grub_ntfs_data): Add `uuid' member.
36166 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
36167 (grub_ntfs_uuid): New function.
36168 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
36169
dc20b0f9 361702008-06-07 Pavel Roskin <proski@gnu.org>
36171
36172 * util/biosdisk.c (open_device): Revert last change to the
36173 function, it broke installation. The sector needs to be
36174 different dependent on which device is opened.
36175
c5e3cfba 361762008-06-06 Robert Millan <rmh@aybabtu.com>
36177
36178 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
36179 rest of GRUB, and breakage doesn't happen if its value were modified.
36180
36181 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
36182 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
36183 a constant (same value).
36184 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
36185 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
36186
26a1f8c4 361872008-06-06 Robert Millan <rmh@aybabtu.com>
36188
36189 * util/biosdisk.c (open_device): Do not modify sector offset when
36190 accessing a partition. kern/disk.c already handles this for us.
36191
25d6b327 361922008-06-06 Robert Millan <rmh@aybabtu.com>
36193
36194 * util/grub-emu.c (grub_machine_init): Move code in this function from
36195 here ...
36196 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
36197 segfault in case grub_printf() is called).
36198
36199 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
36200 grub_probe. Update all users not to explicitly add it again.
36201 (grub_device): New variable; contains corresponding device for grubdir.
36202 (fs_module, partmap_module, devabstraction_module): Pass
36203 `--device ${grub_device}' to grub_probe to avoid traversing /dev
36204 every time.
36205
9ece62fb 362062008-06-05 Robert Millan <rmh@aybabtu.com>
36207
36208 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
36209 is found, print it (same layout as with labels).
36210
1ad36d37 362112008-06-04 Robert Millan <rmh@aybabtu.com>
36212
36213 * util/biosdisk.c (get_drive): Rename to ...
36214 (find_grub_drive): ... this. Update all users.
36215
36216 (get_os_disk): Rename to ...
36217 (convert_system_partition_to_system_disk): ... this. Update all users.
36218
36219 (find_drive): Rename to ...
36220 (find_system_device): ... this. Update all users.
36221
e6a30859 362222008-06-04 Robert Millan <rmh@aybabtu.com>
36223
36224 * util/biosdisk.c (get_os_disk): Handle IDA devices.
36225 * util/grub-mkdevicemap.c (get_mmc_disk_name)
36226 (make_device_map): Likewise.
36227
00c108a4 362282008-06-01 Robert Millan <rmh@aybabtu.com>
36229
36230 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
36231 before dereferencing it.
36232
36233 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
36234 union with fat12/fat16-specific ones. Add some new fields, including
36235 `num_serial' for both versions.
36236 (struct grub_fat_data): Add `uuid' member.
36237 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
36238 names. Initialize `data->uuid' using `num_serial'.
36239 (grub_fat_uuid): New function.
36240 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
36241
36242 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
36243 (grub_reiserfs_uuid): New function.
36244 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
36245 member.
36246
36247 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
36248 (grub_xfs_uuid): New function.
36249 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
36250
1385c5bb 362512008-06-01 Robert Millan <rmh@aybabtu.com>
36252
36253 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
36254 code that is backward compatible with pre-uuid search command.
36255
c682dfd7 362562008-05-31 Robert Millan <rmh@aybabtu.com>
36257
36258 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
36259 floppies after everything else, to ensure floppy drive isn't accessed
36260 unnecessarily (patch from Bean).
36261
b7db5d47 362622008-05-31 Robert Millan <rmh@aybabtu.com>
36263
36264 * commands/search.c (search_label, search_fs_uuid, search_file): Do
36265 not print device names when we were asked to set a variable.
36266
6e037aa9 362672008-05-31 Robert Millan <rmh@aybabtu.com>
36268
36269 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
36270 using "cursor-on" and "cursor-off" commands (understood at least by
36271 the Open Firmware flavour on OLPC).
36272
41305bc8 362732008-05-31 Michael Gorven <michael@gorven.za.net>
36274
36275 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
36276 on and off sequences.
36277
69ba137e 362782008-05-31 Robert Millan <rmh@aybabtu.com>
36279
36280 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
36281 * util/update-grub.in: Likewise.
36282
520ae21b 362832008-05-30 Pavel Roskin <proski@gnu.org>
36284
36285 * util/biosdisk.c (linux_find_partition): Simplify logic and
36286 make the code more universal. Keep special processing for
36287 devfs, but use a simple rule for all other devices. If the
36288 device ends with a number, append 'p' and the partition number.
36289 Otherwise, append only the partition number.
36290
5786569b 362912008-05-30 Robert Millan <rmh@aybabtu.com>
36292
36293 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
36294 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
36295 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
36296 the `root' parameter to Linux.
36297
51500452 362982008-05-30 Robert Millan <rmh@aybabtu.com>
36299
36300 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
36301 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
36302 --fs_uuid with --fs-uuid.
36303 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
36304 all filesystems support them).
36305
811d3878 363062008-05-30 Robert Millan <rmh@aybabtu.com>
36307
36308 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 36309 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 36310
cab63c95 363112008-05-30 Robert Millan <rmh@aybabtu.com>
36312
36313 * util/grub.d/00_header.in: Remove obsolete comment referencing
36314 convert_system_path_to_grub_path().
36315 * util/update-grub.in: Likewise.
36316 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
36317 (convert_system_path_to_grub_path): Add a warning message explaining
36318 that this function is deprecated. Rely on is_path_readable_by_grub()
36319 for the readability checks.
36320 (font_path): Use is_path_readable_by_grub() for the readability
36321 check rather than convert_system_path_to_grub_path().
36322
972e2f7a 363232008-05-30 Robert Millan <rmh@aybabtu.com>
36324
36325 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
36326 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
36327 converting it first.
36328 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
36329 grub.cfg for access to font file, and afterwards call it again to set
36330 the root device.
36331
62191274 363322008-05-30 Robert Millan <rmh@aybabtu.com>
36333
36334 * commands/search.c (options): Add --fs_uuid option.
36335 (search_fs_uuid): New function.
36336 (grub_cmd_search): Fix --set argument passing.
36337 Use search_fs_uuid() when requested via --fs_uuid.
36338 (grub_search_init): Update help message.
36339 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
36340 and redeclare it as an array of 16-bit words.
36341 (grub_ext2_uuid): New function.
36342 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
36343 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
36344 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
36345 (GRUB_DEVICE_BOOT_UUID): New variables.
36346 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
36347 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
36348 whenever possible.
36349 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
36350 just assume `root' variable has the right value.
36351 * util/grub.d/10_linux.in: Likewise.
36352 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
36353 via PRINT_FS_UUID.
36354 (main): Recognise `-t fs_uuid' argument.
36355
01b73ec8 363562008-05-30 Robert Millan <rmh@aybabtu.com>
36357
36358 * util/biosdisk.c (map): Redefine structure to hold information
36359 about GRUB drive name.
fe6b695a 36360 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 36361 drive names.
36362 (call_hook): Remove.
36363 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
36364 member. Assume drive has partitions.
36365 (grub_util_biosdisk_open): Access device names via `.device' struct
36366 member.
36367 (open_device): Likewise.
36368 (find_drive): Likewise.
36369 (read_device_map): Adjust map[] usage to match the new struct
36370 definition. Don't check for duplicates (still possible, but not cheap
36371 anymore).
36372 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
36373 (make_device_name): Remove assumption of BIOS-like drive names.
36374
22f16596 363752008-05-30 Pavel Roskin <proski@gnu.org>
36376
36377 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
36378 compiling execute.c doesn't need grub_script.tab.h anymore.
36379 (normal/command.c_DEPENDENCIES): Likewise.
36380 (normal/function.c_DEPENDENCIES): Likewise.
36381 * conf/i386-ieee1275.rmk: Likewise.
36382 * conf/i386-linuxbios.rmk: Likewise.
36383 * conf/i386-pc.rmk: Likewise.
36384 * conf/powerpc-ieee1275.rmk: Likewise.
36385 * conf/sparc64-ieee1275.rmk: Likewise.
36386
528ad8f2 363872008-05-29 Pavel Roskin <proski@gnu.org>
36388
d1dff95d 36389 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
36390 when scanning metadata for volume group name.
36391
528ad8f2 36392 * include/grub/script.h: Don't include grub_script.tab.h. It's
36393 a generated file, which may only be included from the files with
36394 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
36395 use union YYSTYPE, as the later allows forward declaration.
36396 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
36397
47248e08 363982008-05-29 Robert Millan <rmh@aybabtu.com>
36399
36400 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
36401 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
36402 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
36403 (grub_console_checkkey): Add grub_dprintf() call to report unknown
36404 scan codes.
36405
ee632529 364062008-05-29 Robert Millan <rmh@aybabtu.com>
36407
36408 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
36409 control key combinations.
36410
eee96e08 364112008-05-29 Robert Millan <rmh@aybabtu.com>
36412
36413 * util/powerpc/ieee1275/grub-install.in: Move from here ...
36414 * util/ieee1275/grub-install.in: ... to here.
36415 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
36416 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
36417 (grub_install_SOURCES): Likewise.
36418
da9a6a94 364192008-05-29 Robert Millan <rmh@aybabtu.com>
36420
36421 * fs/affs.c: Update copyright year.
36422 * fs/ext2.c: Likewise.
36423 * fs/fshelp.c: Likewise.
36424 * fs/hfsplus.c: Likewise.
36425 * fs/ntfs.c: Likewise.
36426 * fs/xfs.c: Likewise.
36427 * include/grub/fshelp.h: Likewise.
36428 * util/grub-mkdevicemap.c: Likewise.
36429
12e65f3a 364302008-05-28 Robert Millan <rmh@aybabtu.com>
36431
36432 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
36433 might need to be fatfs to support some firmware implementations
36434 (e.g. OFW or EFI).
36435
23023641 364362008-05-28 Robert Millan <rmh@aybabtu.com>
36437
36438 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
36439 devices.
36440 * util/grub-mkdevicemap.c (get_mmc_disk_name)
36441 (make_device_map): Likewise.
36442
887d2619 364432008-05-20 Bean <bean123ch@gmail.com>
36444
36445 * fs/fshelp.c (grub_fshelp_map_block): New function.
36446 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
36447 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
36448
36449 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
36450 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
36451 (grub_fshelp_journal): New structure.
36452 (grub_fshelp_map_block): New function prototype.
36453 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
36454 (grub_fshelp_map_block): Likewise.
36455
36456 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
36457 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
36458 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
36459 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
36460 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
36461 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
36462 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
36463 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
36464 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
36465 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
36466 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
36467 (grub_ext2_sblock): New members for journal support.
36468 (grub_ext3_journal_header): New structure.
36469 (grub_ext3_journal_revoke_header): Likewise.
36470 (grub_ext3_journal_block_tag): Likewise.
36471 (grub_ext3_journal_sblock): Likewise.
36472 (grub_fshelp_node): New members logfile and journal.
36473 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
36474 grub_fshelp_map_block to get real block number.
36475 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
36476 number.
36477 (grub_ext2_read_inode): Likewise.
36478 (grub_ext3_get_journal): New function.
36479 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
36480 (grub_ext2_close): Release memory used by journal.
36481
36482 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
36483 (REISERFS_MAGIC_DESC_BLOCK): New macro.
36484 (grub_reiserfs_transaction_header): Renamed to
36485 grub_reiserfs_description_block, replace field data with real_blocks.
36486 (grub_reiserfs_commit_block): New structure.
36487 (grub_reiserfs_data): New member journal.
36488 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
36489 number.
36490 (grub_reiserfs_read_symlink): Likewise.
36491 (grub_reiserfs_iterate_dir): Likewise.
36492 (grub_reiserfs_open): Likewise.
36493 (grub_reiserfs_read): Likewise.
36494 (grub_reiserfs_get_journal): New function.
36495 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
36496 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
36497 using grub_reiserfs_get_journal.
36498 (grub_reiserfs_close): Release memory used by journal.
36499
36500 * fs/affs.c (grub_affs_read_block): Change block type to
36501 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
36502
36503 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
36504
36505 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
36506
36507 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
36508
36509 * fs/udf.c (grub_udf_read_block): Change block type to
36510 grub_disk_addr_t. Use type cast to avoid warning.
36511
36512 * fs/xfs.c (grub_xfs_read_block): Likewise.
36513
b7c6bed5 365142008-05-16 Christian Franke <franke@computer.org>
36515
36516 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
36517 to ensure that break with ESC will always work.
36518 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
36519 Remove ESC from keyboard queue.
36520
eedf167f 365212008-05-16 Christian Franke <franke@computer.org>
36522
36523 * util/biosdisk.c: [__CYGWIN__] Add includes.
36524 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
36525 (get_os_disk): Move variable declarations to OS specific
36526 parts to avoid warning.
36527 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
36528 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
36529 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
36530 Cygwin.
36531 * util/getroot.c: [__CYGWIN__] Add includes.
36532 (strip_extra_slashes): Fix "/" case.
36533 [__CYGWIN__] (get_win32_path): New function.
36534 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
36535 [__CYGWIN__] (find_root_device): Disable.
36536 [__CYGWIN__] (get_bootsec_serial): New function.
36537 [__CYGWIN__] (find_cygwin_root_device): Likewise.
36538 [__linux__] (grub_guess_root_device): Add early returns to simplify
36539 structure.
36540 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
36541 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
36542 check for Linux only.
36543
a079699e 365442008-05-15 Bean <bean123ch@gmail.com>
36545
36546 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
36547 keyboard hang problem in apple's intel mac.
36548
1cf4059a 365492008-05-09 Robert Millan <rmh@aybabtu.com>
36550
36551 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
36552 devices.
36553 * util/grub-mkdevicemap.c (get_virtio_disk_name)
36554 (make_device_map): Likewise.
36555 Reported by Aurelien Jarno <aurel32@debian.org>
36556
ed759390 365572008-05-07 Ian Campbell <ijc@hellion.org.uk>
36558
36559 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
36560 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
36561 (make_device_map): Output entries for xvd type disks.
36562
b56c4eaa 365632008-05-07 Robert Millan <rmh@aybabtu.com>
36564
36565 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
36566 devices.
36567 * util/grub-mkdevicemap.c (get_cciss_disk_name)
36568 (make_device_map): Likewise.
36569 Reported by Roland Dreier <rdreier@cisco.com>
36570
7f8866ed 365712008-05-07 Robert Millan <rmh@aybabtu.com>
36572
36573 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
36574 grub_strstr() call. Correct a few mistakes in failure path handling.
36575
b0346e0f 365762008-05-06 Robert Millan <rmh@aybabtu.com>
36577
36578 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
36579 Do not print a trailing slash (therefore, the root directory is an
36580 empty string).
36581 (convert_system_path_to_grub_path): Do not remove trailing slash
36582 from make_system_path_relative_to_its_root() output.
36583
36584 * util/i386/pc/grub-install.in: Add trailing slash to output from
36585 make_system_path_relative_to_its_root().
36586
6cf12cbd 365872008-05-06 Robert Millan <rmh@aybabtu.com>
36588
36589 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
36590 ensures that output lines aren't intermangled with those sent to
36591 stderr (via grub_util_info()).
36592 * util/grub-probe.c (grub_refresh): Likewise.
36593 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
36594
0fbb3117 365952008-05-05 Christian Franke <franke@computer.org>
36596
36597 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
36598 Add Cygwin device names.
36599 (get_ide_disk_name) [__CYGWIN__]: Likewise.
36600 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
36601 (check_device): Return error instead of success on empty name.
36602 (make_device_map): Move label inside linux specific code to
36603 prevent compiler warning.
36604
8124cdb7 366052008-04-30 Robert Millan <rmh@aybabtu.com>
36606
36607 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
36608 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
36609 first boot option.
36610 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
36611
094c01d0 366122008-04-29 Robert Millan <rmh@aybabtu.com>
36613
36614 * docs/grub.cfg: New file (example GRUB configuration).
36615
f4b1fc02 366162008-04-26 Robert Millan <rmh@aybabtu.com>
36617
329ce2a5 36618 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
36619 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
36620 and `disk/ieee1275/nand.c'.
f4b1fc02 36621
25f16ec1 366222008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 36623
25f16ec1 36624 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
36625 i386-linuxbios.
36626
36627 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
36628 change the buffer size to 4096 for cdrom device.
36629
36630 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
36631 and nand.mod.
36632 (_linux_mod_SOURCES): New variable.
36633 (_linux_mod_CFLAGS): Likewise.
36634 (_linux_mod_LDFLAGS): Likewise.
36635 (linux_mod_SOURCES): Likewise.
36636 (linux_mod_CFLAGS): Likewise.
36637 (linux_mod_LDFLAGS): Likewise.
36638 (nand_mod_SOURCES): Likewise.
36639 (nand_mod_CFLAGS): Likewise.
36640 (nand_mod_LDFLAGS): Likewise.
36641
36642 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
36643 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
36644 type property. (nand device in olpc don't have this property)
36645
36646 * include/grub/disk.h (grub_disk_dev_id): New macro
36647 GRUB_DISK_DEVICE_NAND_ID.
36648
36649 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
36650 function prototype.
36651 (grub_rescue_cmd_initrd): Likewise.
36652
36653 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
36654 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
36655 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 36656
25f16ec1 36657 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
36658 GRUB_MACHINE_IEEE1275 is defined.
36659
36660 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
36661 Use NESTED_FUNC_ATTR attribute on the hook parameter.
36662
36663 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
36664 on nested function heap_init.
36665 (grub_upper_mem): New variable for i386-ieee1275.
36666 (grub_get_extended_memory): New function for i386-ieee1275.
36667 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
36668
36669 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
36670 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
36671 property.
f19dbdb7 36672
25f16ec1 36673 * loader/i386/ieee1275/linux.c: New file.
36674
36675 * loader/i386/ieee1275/linux_normal.c: New file.
36676
36677 * disk/ieee1275/nand.c: New file.
36678
e89d61e9 366792008-04-18 Thomas Schwinge <tschwinge@gnu.org>
36680
36681 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
36682 value.
36683 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
36684
602566f6 366852008-04-18 Robert Millan <rmh@aybabtu.com>
36686
36687 Restructures early code path on ieee1275 to unify grub_main() as
36688 the first C function that is executed in every platform.
36689
36690 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
36691 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
36692 cmain().
36693 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
36694 * kern/ieee1275/cmain.c (cmain): Rename to ...
36695 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
36696 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
36697 at the beginning.
36698
57490c2b 366992008-04-18 Robert Millan <rmh@aybabtu.com>
36700
36701 * util/update-grub.in: Fix syntax error when setting
36702 `GRUB_PRELOAD_MODULES'.
36703 Reported by Stephane Chazelas <stephane@artesyncp.com>
36704
1977517d 367052008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
36706
36707 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
36708 section into account, newer toolchains generate unique build ids
36709 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 36710 we want build ids to be preserved
1977517d 36711 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
36712 far from other sections don't cause the raw binary images grow
36713 size
36714
bfb1f1a2 367152008-04-15 Robert Millan <rmh@aybabtu.com>
36716
36717 * disk/lvm.c: Update copyright year.
36718 * kern/misc.c: Likewise.
36719
01979850 367202008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
36721
36722 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 36723 there is no memory left for physical volume name.
01979850 36724
0a1150e2 367252008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
36726
36727 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
36728 volume name mapping to support bigger than 9 character names properly.
36729
82ead3fe 367302008-04-13 Robert Millan <rmh@aybabtu.com>
36731
36732 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
36733 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
36734
e54a72f5 367352008-04-13 Christian Franke <franke@computer.org>
36736
36737 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
36738 to create a floppy emulation boot CD when non emulation mode
36739 does not work.
36740 Enable Joliet CD filesystem extension.
36741
9fe86034 367422008-04-13 Robert Millan <rmh@aybabtu.com>
36743
36744 * kern/misc.c (grub_strncat): Fix off-by-one error.
36745 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
36746
36747 * kern/env.c (grub_env_context_close): Clear current context, not
36748 previous one.
36749 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
36750
36751 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
36752
7ceeee39 367532008-04-13 Robert Millan <rmh@aybabtu.com>
36754
36755 Improve robustness when handling LVM.
36756
36757 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 36758 (and leave `*p' unmodified).
7ceeee39 36759 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
36760 through it.
36761 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
36762 iterating through it.
36763 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
36764 through it.
fe6b695a 36765 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 36766 when due) on each grub_lvm_getvalue() or grub_strstr() call.
36767 Don't assume `vg->pvs != NULL' when iterating through it.
36768
58cd3d85 367692008-04-13 Robert Millan <rmh@aybabtu.com>
36770
36771 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
36772 * genmk.rb (partmap): New variable.
36773 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
36774 (#{partmap}): New target rule.
36775 * genpartmaplist.sh: New file.
36776 * Makefile.in (pkglib_DATA): Add partmap.lst.
36777 (partmap.lst): New target rule.
36778 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
36779 modules (including all partition maps), instead of preloading them.
36780
78b51059 367812007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
36782
36783 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
36784 `linux-boot-prober' (if installed) to detect other operating
36785 systems which are installed on the computer and add them to
36786 the boot menu.
36787 * conf/common.rmk: Build and install 30_os-prober.
36788
a91627b4 367892008-04-12 Robert Millan <rmh@aybabtu.com>
36790
36791 * kern/powerpc/ieee1275/init.c: Move from here ...
36792 * kern/ieee1275/init.c: ... to here. Update all users.
36793
36794 * kern/powerpc/ieee1275/cmain.c: Move from here ...
36795 * kern/ieee1275/cmain.c: ... to here. Update all users.
36796
36797 * kern/powerpc/ieee1275/openfw.c: Move from here ...
36798 * kern/ieee1275/openfw.c: ... to here. Update all users.
36799
36800 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
36801 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
36802
322562ea 368032008-04-10 Pavel Roskin <proski@gnu.org>
36804
36805 * configure.ac: Always use "_cv_" in cache variables for
36806 compatibility with Autoconf 2.62.
36807
a02a73c5 368082008-04-07 Robert Millan <rmh@aybabtu.com>
36809
36810 Revert grub/machine/init.h addition by Pavel (since it breaks on
36811 i386-ieee1275 and others):
36812 * util/i386/pc/misc.c: Remove grub/machine/init.h.
36813 * util/powerpc/ieee1275/misc.c: Likewise.
36814
25c024b1 368152008-04-07 Robert Millan <rmh@aybabtu.com>
36816
36817 * util/grub-probe.c (probe): Improve error message.
36818
3cbd2f98 368192008-04-07 Robert Millan <rmh@aybabtu.com>
36820
36821 * util/biosdisk.c (read_device_map): Skip devices that don't exist
36822 (this prevents the presence of a bogus entry from ruining the whole
36823 thing).
36824
87a297bf 368252008-04-06 Pavel Roskin <proski@gnu.org>
36826
36747a62 36827 * util/biosdisk.c: Include grub/util/biosdisk.h.
36828 * util/grub-fstest.c (execute_command): Make static.
36829 * util/grub-mkdevicemap.c (check_device): Likewise.
36830 * util/i386/pc/misc.c: Include grub/machine/init.h.
36831 * util/powerpc/ieee1275/misc.c: Likewise.
36832 * util/lvm.c: Include grub/util/lvm.h.
36833 * util/misc.c: Include grub/kernel.h, grub/misc.h and
36834 grub/cache.h.
36835 * util/raid.c: Include grub/util/raid.h.
36836 (grub_util_getdiskname): Make static.
36837
87a297bf 36838 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
36839 grub_hostfs_fini(), as they are called from grub_init_all() and
36840 grub_fini_all() respectively. This fixes an infinite loop in
36841 grub-fstest due to double registration of hostfs.
36842 Reported by Christian Franke <Christian.Franke@t-online.de>
36843
f6ce7629 368442008-04-05 Pavel Roskin <proski@gnu.org>
36845
36846 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
36847 all 8 functions. Otherwise, probe function 0 only.
36848
070e49e4 368492008-04-04 Pavel Roskin <proski@gnu.org>
36850
8b088a4c 36851 * commands/lspci.c (grub_lspci_iter): Print the bus number
36852 correctly.
36853
4f657021 36854 * commands/lspci.c (grub_pci_classes): Fix typos.
36855 (grub_lspci_iter): Don't print func twice. Print vendor ID
36856 before device ID, as it's normally done.
36857
070e49e4 36858 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
36859 Fix signedness warnings.
36860 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
36861 Likewise.
36862 * util/ieee1275/get_disk_name.c: Include config.h so that
36863 _GNU_SOURCE is defined and getline() is declared. Mark an
36864 unused argument as such. Fix a signedness warning.
36865
ba7328dc 368662008-04-02 Pavel Roskin <proski@gnu.org>
36867
26887f22 36868 * genkernsyms.sh.in: Use more robust assignments for CC and
36869 srcdir. Quote srcdir.
36870 * gensymlist.sh.in: Likewise. Assert at the compile time that
36871 the symbol table is not empty.
36872
ba7328dc 36873 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
36874 * fs/cpio.c (grub_cpio_read): Likewise.
36875
0f582c6b 368762008-04-01 Pavel Roskin <proski@gnu.org>
36877
4b6e1995 36878 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
36879 * disk/host.c (grub_host_open): Likewise.
36880 * disk/loopback.c (grub_loopback_open): Likewise.
36881 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
36882 disk->id as in disk/host.c, not a multi-character constant.
36883
828a2768 36884 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
36885 later is obsolete, potentially dangerous and sets a bad example.
36886 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
36887 * util/misc.c (grub_util_get_image_size): Likewise.
36888
2bb4fb47 36889 * disk/loopback.c (options): Improve help for "--partitions".
36890
0f582c6b 36891 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
36892 options to align them with the short options, e.g. "echo -e".
36893
a33224e0 368942008-03-31 Bean <bean123ch@gmail.com>
36895
36896 * video/reader/png.c (grub_png_data): New member is_16bit and
36897 image_data.
36898 (grub_png_decode_image_header): Detect 16 bit png image.
36899 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
36900 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
36901 (grub_video_reader_png): Release memory occupied by image_data.
36902
36903 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
36904 4096 bytes.
36905 (grub_nfs_mount): Skip the test for sector per cluster.
36906
36907 * include/grub/ntfs.h (MAX_SPC): Removed.
36908
86cb4f54 369092008-03-31 Bean <bean123ch@gmail.com>
36910
36911 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
36912 (grub_probe_SOURCES): Add fs/afs.c.
36913 (grub_fstest_SOURCES): Likewise.
36914 (afs_mod_SOURCES): New variable.
36915 (afs_mod_CFLAGS): Likewise.
36916 (afs_mod_LDFLAGS): Likewise.
36917
36918 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
36919 (grub_emu_SOURCES): Likewise.
36920
36921 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
36922
36923 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36924
36925 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
36926
36927 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
36928
36929 * fs/afs.c: New file.
36930
17c74c21 369312008-03-30 Pavel Roskin <proski@gnu.org>
36932
4cb68e89 36933 * disk/host.c: Include grub/misc.h to fix a warning.
36934 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
36935 warnings about implicit declarations.
36936
8790bb04 36937 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
36938 variable.
36939 * include/grub/i386/loader.h: Change declaration of
36940 grub_linux_boot() to match what grub_loader_set() expects.
36941 * util/getroot.c (grub_guess_root_device): Return const char* to
36942 fix a warning.
36943 * util/grub-probe.c (probe): Fix a warning about uninitialized
36944 abstraction_name variable.
36945 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
36946 second argument as unused to fix a warning.
36947
9a3f3296 36948 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
36949 missing grub_error() call.
36950
0ecef90d 36951 * util/update-grub_lib.in: Define datarootdir, since Autoconf
36952 2.60 and newer uses it to define datadir.
36953
0bf6d401 36954 * commands/sleep.c: Fix warning about implicit declaration.
36955 * disk/memdisk.c: Likewise.
36956 * loader/aout.c: Likewise.
36957 * loader/i386/bsd_normal.c: Likewise.
36958 * util/grub-probe.c: Likewise.
36959
7cdacf97 36960 * commands/i386/cpuid.c (has_longmode): Make static.
36961 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
36962 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
36963
17c74c21 36964 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
36965 GDT. This is more robust, as %ds can change.
36966 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
36967 calling real_to_prot().
36968 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
36969
80a3e68b 369702008-03-28 Pavel Roskin <proski@gnu.org>
36971
36972 * kern/i386/pc/startup.S: Assert that uncompressed functions
36973 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
36974 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
36975 code, as they push parts of the code (error handlers) beyond
36976 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
36977 code as correctness and size.
36978
77bcd272 369792008-03-28 Pavel Roskin <proski@gnu.org>
36980
36981 * kern/i386/pc/startup.S
36982 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
36983 data block address to the real mode, keep offset minimal. This
36984 works around a bug in AWARD BIOS on old Athlon systems, which
36985 makes CD detection hang.
36986
c5dfd43b 369872008-03-26 Pavel Roskin <proski@gnu.org>
36988
36989 * normal/color.c (grub_parse_color_name_pair): Make `name' a
36990 const.
36991 * include/grub/normal.h: Add grub_parse_color_name_pair()
36992 declaration.
36993
bf962df2 369942008-03-24 Bean <bean123ch@gmail.com>
36995
36996 * disk/i386/pc/biosdisk.c (cd_start): Removed.
36997 (cd_count): Removed.
36998 (cd_drive): New variable.
36999 (grub_biosdisk_get_drive): Don't check for (cdN) device.
37000 (grub_biosdisk_call_hook): Likewise.
37001 (grub_biosdisk_iterate): Change cdrom detection method.
37002 (grub_biosdisk_open): Replace cd_start with cd_drive.
37003 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
37004 detect cdrom device.
37005
37006 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
37007 Removed.
37008 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
37009 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
37010 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
37011 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
37012 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
37013 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
37014 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
37015 (grub_biosdisk_cdrp): New structure.
37016 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
37017
37018 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
37019
37020 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
37021 device.
37022
37023 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
37024 New function.
37025
68e7fc7a 370262008-03-20 Robert Millan <rmh@aybabtu.com>
37027
37028 Remove 2 TiB limit in ata.mod.
37029 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
37030 (grub_ata_dumpinfo): Print sector count with 0x%llx.
37031 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
37032 grub_uint64_t instead of grub_uint32_t.
37033
38ad2cf5 370342008-03-05 Bean <bean123ch@gmail.com>
37035
37036 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
37037 (grub_multiboot): Set boot device.
37038
37039 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
37040
2b89344e 370412008-03-02 Bean <bean123ch@gmail.com>
37042
37043 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
37044 symlink_buffer.
37045
87a95d1f 370462008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
37047
37048 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
37049 texinfo.tex.
37050
37051 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
37052 modified.
37053
37054 * docs/fdl.texi: New file.
f19dbdb7 37055
87a95d1f 37056 * docs/mdate-sh: New file. Copied from gnulib.
37057 * docs/texinfo.tex: Likewise.
37058
37059 * config.guess: Updated from gnulib.
37060 * install-sh: Likewise.
37061
7dc15d8e 370622008-02-28 Robert Millan <rmh@aybabtu.com>
37063
37064 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
37065 (aout_mod_SOURCES): New variable.
37066 (aout_mod_CFLAGS): Likewise.
37067 (aout_mod_LDFLAGS): Likewise.
37068
37069 * conf/i386-ieee1275.rmk: Likewise.
37070
b00ab696 370712008-02-28 Robert Millan <rmh@aybabtu.com>
37072
37073 * util/update-grub.in: Reorganise terminal validity check. Accept
37074 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
37075 Based on suggestion by Franklin PIAT.
37076
79ca2d78 370772008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
37078
37079 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
37080 function.
37081 * util/getroot.c (grub_util_check_block_device): New function that
37082 returns the given argument if it is a block device and returns NULL else.
37083 * util/grub-probe.c (argument_is_device): New variable.
37084 (probe): Promote device_name from a variable to an argument. Receive
37085 device_name from grub_util_check_block_device() if path is NULL and from
37086 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 37087 (options): Introduce new parameter '-d, --device'.
79ca2d78 37088 (main): Add description of the new parameter to the help screen.
37089 Rename path variable to argument. Set argument_is_device if the '-d'
37090 option is given. Pass argument to probe() depending on
37091 argument_is_device.
37092
0d16e571 370932008-02-24 Bean <bean123ch@gmail.com>
37094
37095 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
37096 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
37097 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
37098 (GRUB_ISO9660_VOLDESC_PART): Likewise.
37099 (GRUB_ISO9660_VOLDESC_END): Likewise.
37100 (grub_iso9660_primary_voldesc): New member escape.
37101 (grub_iso9660_data): New member joliet.
37102 (grub_iso9660_convert_string): New function.
37103 (grub_iso9660_mount): Detect joliet extension.
37104 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
37105 (grub_iso9660_iso9660_label): Likewise.
37106
37107 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
37108 (grub_setup_SOURCES): Add fs/udf.c.
37109 (grub_fstest_SOURCES): Likewise.
37110 (udf_mod_SOURCES): New variable.
37111 (udf_mod_CFLAGS): Likewise.
37112 (udf_mod_LDFLAGS): Likewise.
37113
37114 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
37115 (grub_emu_SOURCES): Likewise.
37116
37117 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37118
37119 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37120
37121 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
37122
37123 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37124
37125 * fs/udf.c: New file.
37126
8a594a17 371272008-02-24 Robert Millan <rmh@aybabtu.com>
37128
37129 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
37130 (normal/lexer.c_DEPENDENCIES): New variables.
37131 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
37132 (normal/lexer.c_DEPENDENCIES): Likewise.
37133 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
37134 (normal/lexer.c_DEPENDENCIES): Likewise.
37135 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
37136 (normal/lexer.c_DEPENDENCIES): Likewise.
37137 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
37138 (normal/lexer.c_DEPENDENCIES): Likewise.
37139 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
37140 (normal/lexer.c_DEPENDENCIES): Likewise.
37141
2dc33c03 371422008-02-23 Robert Millan <rmh@aybabtu.com>
37143
37144 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
37145 since they were intended to be in hex. This didn't break previously
37146 because of a bug in gpt_partition_map_iterate() (see below).
37147
37148 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
37149 when checking the validity of GPT header.
37150 Remove `partno', since it always provides the same information as `i'.
37151
f6f4cfb0 371522008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
37153
37154 * include/grub/efi/time.h: Fix a wrong comment.
37155
79ff665f 371562008-02-19 Pavel Roskin <proski@gnu.org>
37157
37158 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
37159 message.
37160
d38e24c2 371612008-02-19 Bean <bean123ch@gmail.com>
37162
37163 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
37164 (aout_mod_SOURCES): New variable.
37165 (aout_mod_CFLAGS): Likewise.
37166 (aout_mod_LDFLAGS): Likewise.
37167 (_bsd_mod_SOURCES): New variable.
37168 (_bsd_mod_CFLAGS): Likewise.
37169 (_bsd_mod_LDFLAGS): Likewise.
37170 (bsd_mod_SOURCES): New variable.
37171 (bsd_mod_CFLAGS): Likewise.
37172 (bsd_mod_LDFLAGS): Likewise.
37173
37174 * include/grub/aout.h: New file.
37175
37176 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
37177
37178 * include/grub/i386/bsd.h: New file.
37179
37180 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
37181 to make it public.
37182
37183 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
37184 function is called, so that it's possible to change it inside the hook.
37185 (grub_elf64_load): Likewise.
37186 (grub_elf_file): Don't close the file if elf header is not found.
37187 (grub_elf_close): Close the file if grub_elf_file fails (The new
37188 grub_elf_file won't close it).
37189 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
37190 (grub_elf64_size): Likewise.
37191
37192 * kern/i386/loader.S (grub_unix_real_boot): New function.
37193
37194 * loader/aout.c: New file.
37195
37196 * loader/i386/bsd.c: New file.
37197
37198 * loader/i386/bsd_normal.c: New file.
37199
37200 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
37201
37202 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 37203 can test other formats.
d38e24c2 37204
b93bdb0f 372052008-02-19 Robert Millan <rmh@aybabtu.com>
37206
37207 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
37208 (grub_gpt_partition_type_empty): Redefine with macro from
37209 `<grub/gpt_partition.h>'.
37210 (gpt_partition_map_iterate): Adjust partition type comparison.
37211
37212 Export `entry' as partmap-specific `part.data' struct.
37213 (grub_gpt_header, grub_gpt_partentry): Move from here ...
37214
37215 * include/grub/gpt_partition.h (grub_gpt_header)
37216 (grub_gpt_partentry): ... to here (new file).
37217
37218 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
37219
37220 (grub_gpt_partition_type_bios_boot): New const variable, defined
37221 with macro from `<grub/gpt_partition.h>'.
37222
37223 (setup): Replace `first_start' with `embed_region', which keeps
37224 track of the embed region (and is partmap-agnostic).
37225
37226 Replace find_first_partition_start() with find_usable_region(),
37227 which finds a usable region for embedding using partmap-specific
37228 knowledge (supports PC/MSDOS and GPT).
37229
37230 Fix all assumptions that the embed region start at sector 1, using
37231 `embed_region.start' from now on. Similarly, use `embed_region.end'
37232 rather than `first_start' to calculate available size.
37233
37234 In grub_util_info() message, replace "into after the MBR" with an
37235 indication of the specific sector our embed region starts at.
37236
66cb40f6 372372008-02-19 Robert Millan <rmh@aybabtu.com>
37238
37239 * DISTLIST: Replace `commands/ieee1275/halt.c' and
37240 `commands/ieee1275/reboot.c' with `commands/halt.c' and
37241 `commands/reboot.c'.
37242 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
37243 (halt_mod_SOURCES): Likewise.
37244 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
37245 (halt_mod_SOURCES): Likewise.
37246
b7202015 372472008-02-17 Christian Franke <franke@computer.org>
37248
37249 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
37250
32b0fc49 372512008-02-17 Robert Millan <rmh@aybabtu.com>
37252
37253 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
37254 set `first_start' to 0 for non-PC/MSDOS partition maps.
37255
aca63502 372562008-02-16 Robert Millan <rmh@aybabtu.com>
37257
37258 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
37259 do not assume partition map is PC/MSDOS before performing checks that
37260 are specific to that layout.
37261
0de8be86 372622008-02-13 Robert Millan <rmh@aybabtu.com>
37263
37264 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
37265 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
37266 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
37267
c3db8364 372682008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
37269
37270 * configure.ac: Only a cosmetic change on the handling of
37271 -fno-stack-protector.
37272
f714229e 372732008-02-12 Alexandre Boeglin <alex@boeglin.org>
37274
c3db8364 37275 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
37276 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
37277 reboot.c.
f714229e 37278 (grub_install_SOURCES): Add halt.mod and reboot.mod.
37279 (halt_mod_SOURCES): New variable.
37280 (halt_mod_CFLAGS): Likewise.
37281 (halt_mod_LDFLAGS): Likewise.
37282 (reboot_mod_SOURCES): Likewise.
37283 (reboot_mod_CFLAGS): Likewise.
37284 (reboot_mod_LDFLAGS): Likewise.
37285
c3db8364 37286 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
37287 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
37288 reboot.c.
f714229e 37289 (halt_mod_SOURCES): Likewise.
37290 (reboot_mod_SOURCES): Likewise.
37291
c3db8364 37292 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
37293 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 37294 (reboot_mod_SOURCES): Likewise.
37295
37296 * commands/i386/pc/reboot.c: merge this file ...
37297
37298 * commands/ieee1275/reboot.c: ... and this file ...
37299
37300 * commands/reboot.c: ... to this file.
c3db8364 37301 Add some precompiler directive to include the correct header for
37302 each machine.
f714229e 37303
37304 * commands/ieee1275/halt.c: move this file ...
37305
37306 * commands/halt.c: ... to here.
c3db8364 37307 Add some precompiler directive to include the correct header for
37308 each machine.
f714229e 37309
37310 * include/grub/efi/efi.h (grub_reboot): New function declaration.
37311 (grub_halt): Likewise.
37312
37313 * kern/efi/efi.c (grub_reboot): New function.
37314 (grub_halt): Likewise.
37315
c74493e0 373162008-02-12 Robert Millan <rmh@aybabtu.com>
37317
37318 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
37319 /dev (like it is done for /dev/mapper). This doesn't provide support
37320 for EVMS, but at least it is now easy to identify the problem when it
37321 arises.
37322
d0db4b04 373232008-02-11 Robert Millan <rmh@aybabtu.com>
37324
37325 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
37326 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
37327 comparing it with -1, not 0.
37328
bf748642 373292008-02-10 Robert Millan <rmh@aybabtu.com>
37330
37331 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
37332 `disk/lvm.c'.
37333 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37334 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
37335
37336 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
37337 `disk/lvm.c' to the end of the list.
37338 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
37339 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
37340
b5db202a 373412008-02-10 Robert Millan <rmh@aybabtu.com>
37342
37343 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
37344 grub_print_error() instead. This will let user know why we're entering
37345 rescue mode.
37346 Based on suggestions from Sam Morris.
37347
83abee31 373482008-02-10 Alexandre Boeglin <alex@boeglin.org>
37349
37350 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
37351 on remaining N args, instead of "--" arg N times.
37352
78d5a08b 373532008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
37354
37355 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
37356 (fill_with_default_glyph): Changed to use unknown_glyph for fill
37357 pattern for unknown glyphs.
37358
68807e5f 373592008-02-09 Robert Millan <rmh@aybabtu.com>
37360
37361 * configure.ac: Probe for `help2man'.
37362 * Makefile.in (builddir): New variable.
37363 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
37364 or otherwise add a few flags/options to it.
37365 (install-local): For every executable utility or script that is
37366 installed, invoke $(HELP2MAN) to install a manpage based on --help
37367 output.
37368
37369 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
37370 that it doesn't prevent --help from working in build tree.
37371
37372 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
37373 with `bug-grub@gnu.org'.
37374 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
37375 * util/update-grub.in (usage): New function.
37376 Implement proper argument check, with support for --help and --version
37377 (as well as existing -y).
37378
373792008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 37380
37381 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
37382 avoid overwriting previous output.
37383 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
37384
c1962162 373852008-02-09 Robert Millan <rmh@aybabtu.com>
37386
37387 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
37388 drawing the menu.
37389
3dac2e3f 373902008-02-09 Robert Millan <rmh@aybabtu.com>
37391
37392 * commands/sleep.c: New file.
37393 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
37394 (sleep_mod_SOURCES): New variable.
37395 (sleep_mod_CFLAGS): Likewise.
37396 (sleep_mod_LDFLAGS): Likewise.
37397
7a634e08 373982008-02-09 Robert Millan <rmh@aybabtu.com>
37399
37400 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
37401 situations in which we can deduce the RAID size and the superblock
37402 doesn't match it.
37403
b92f0c18 374042008-02-09 Robert Millan <rmh@aybabtu.com>
37405
37406 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
37407 and return a grub_diskmemberlist_t composed of LVM physical volumes.
37408 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
37409
37410 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
37411 and return a grub_diskmemberlist_t composed of physical array members.
37412 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
37413
37414 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
37415 prototype.
37416 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
37417 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
37418 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
37419
37420 * util/grub-probe.c (probe): Move partmap probing code from here ...
37421 (probe_partmap): ... to here.
37422 (probe): Use probe_partmap() once for the disk we're probing, and
37423 additionally, when such disk contains a memberlist() struct member,
37424 once for each disk that is contained in the structure returned by
37425 memberlist().
37426
91a4bf68 374272008-02-09 Robert Millan <rmh@aybabtu.com>
37428
37429 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
37430 environment variable to 'all' in order to obtain debug output from
37431 non-util/ code.
37432 * util/i386/pc/grub-setup.c (main): Likewise.
37433
a96f9caa 374342008-02-08 Robert Millan <rmh@aybabtu.com>
37435
37436 * disk/raid.c (grub_raid_scan_device): Check for
37437 `array->device[sb.this_disk.number]' rather than for
37438 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 37439 guaranteed to be accessible.
a96f9caa 37440
b37a9222 374412008-02-08 Robert Millan <rmh@aybabtu.com>
37442
37443 * disk/raid.c: Update copyright.
37444 * fs/cpio.c: Likewise.
37445 * include/grub/raid.h: Likewise.
37446 * loader/i386/pc/multiboot.c: Likewise.
37447 * util/hostfs.c: Likewise.
37448
5626aee1 374492008-02-08 Robert Millan <rmh@aybabtu.com>
37450
37451 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
37452 to a grub_disk_t array.
37453 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
37454 `device[x]'.
37455 (grub_raid_scan_device): Replace `device[x].name' accesses with
37456 `device[x]->name'. Simplify initialization of `array->device[x]'.
37457
554f0187 374582008-02-08 Robert Millan <rmh@aybabtu.com>
37459
37460 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
37461 grub_dprintf() calls.
37462 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
37463 error message.
37464
1ec8425d 374652008-02-07 Christian Franke <franke@computer.org>
37466
37467 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
37468 instead of fseek and ftell to support large files.
37469 (grub_hostfs_read): Likewise.
37470
f2156fda 374712008-02-07 Robert Millan <rmh@aybabtu.com>
37472
37473 Patch from Jeroen Dekkers.
37474 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 37475 failure, since successfully reading all array members might not be
f2156fda 37476 required.
37477
9216e0e7 374782008-02-06 Robert Millan <rmh@aybabtu.com>
37479
37480 * util/grub-probe.c (probe): Simplify partmap probing (with the
37481 assumption that the first word up to the underscore equals to
37482 the module name).
37483
b0dfd29a 374842008-02-06 Christian Franke <franke@computer.org>
37485
37486 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
37487 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
37488 last block of a cpio or tar stream.
37489 Check for "TRAILER!!!" instead of any empty data
37490 block to detect last block of a cpio stream.
37491 (grub_cpio_dir): Fix constness of variable np.
37492 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
37493 cpio or tar trailer is detected. This fixes a crash
37494 on open of a non existing file.
37495
c32865bf 374962008-02-05 Bean <bean123ch@gmail.com>
37497
37498 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
37499 address of entry.
37500 (grub_multiboot_load_elf64): Likewise.
37501 (grub_multiboot): Initialize mbi structure.
37502
37503 * util/grub-fstest.c: Don't include unused header file script.h.
37504
fe6b695a 37505 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 37506 of file.
37507 (grub_fstest_SOURCES): Likewise.
37508
409480b7 375092008-02-05 Robert Millan <rmh@aybabtu.com>
37510
37511 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
37512 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
37513 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
37514 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
37515
37516 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
37517 (translation_table): Replace hardcoded values with macros
37518 provided by `<grub/term.h>'.
37519
37520 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
37521 (keyboard_map): Correct/add a few values, with macros provided
37522 by `<grub/term.h>'.
37523 (keyboard_map_shift): Zero values that don't differ from their
37524 `keyboard_map' equivalents.
37525 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
37526 Discard the second scan code that is always sent by Caps lock.
37527 Only use `keyboard_map_shift' when it provides a non-zero value,
37528 otherwise fallback to `keyboard_map'.
37529
99fadbaa 375302008-02-04 Bean <bean123ch@gmail.com>
37531
37532 * Makefile.in (enable_grub_fstest): New variable.
37533
37534 * conf/common.rmk (grub_fstest_init.lst): New rule.
37535 (grub_fstest_init.h): Likewise.
37536 (grub_fstest_init.c): Likewise.
37537 (util/grub-fstest.c_DEPENDENCIES): New variable.
37538 (grub_fstest_SOURCES): Likewise.
37539
37540 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
37541
37542 * util/grub-fstest.c: New file.
37543
bf567c50 375442008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
37545
37546 Make grub-setup handle a separate root device.
f19dbdb7 37547
bf567c50 37548 * util/i386/pc/grub-setup.c (setup): Always open the root device,
37549 so that the root device can be compared with the destination
37550 device.
37551 When embedding the core image, if the root and destination devices
37552 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
37553 0xFF.
37554 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 37555
9be6b98b 375562008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
37557
37558 Add support for having a grub directory in a different drive. This
37559 is still only the data handling part.
f19dbdb7 37560
9be6b98b 37561 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
37562 (codestart): Save %dh in GRUB_ROOT_DRIVE.
37563 (grub_root_drive): New variable.
37564
37565 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
37566 instead of GRUB_BOOT_DRIVE to construct a device name. Set
37567 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
37568 as it was.
37569
37570 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
37571
37572 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
37573 macro.
37574 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
37575
37576 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
37577 is bogus, because PXE booting does not specify any drive
37578 correctly.
37579
37580 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
37581 am not sure if this is really correct.
37582
37583 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
37584 is always identical to the boot drive when booting from a CD.
37585
37586 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
37587 longer.
37588 (root_drive): New variable.
37589 (real_start): Unconditionally set %dh to ROOT_DRIVE.
37590 (setup_sectors): Push %dx right after popping it, because %dh will
37591 be modified later.
37592 (copy_buffer): Restore %dx.
37593
e0ca0677 375942008-02-03 Robert Millan <rmh@aybabtu.com>
37595
37596 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
37597 use `cdboot.img' for cdrom images.
37598
3b3f6629 375992008-02-03 Robert Millan <rmh@aybabtu.com>
37600
37601 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
37602 only setup gfxterm when `font' command has succeeded.
37603
d42b3672 376042008-02-03 Robert Millan <rmh@aybabtu.com>
37605
37606 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
37607 (grub_rescue_cmd_multiboot_loader)
37608 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
37609
fa370ea6 376102008-02-03 Pavel Roskin <proski@gnu.org>
37611
e0c5dacb 37612 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 37613 %edx and %esi from stack only after grub_gate_a20() is called.
37614 grub_gate_a20() clobbers %edx.
37615
f2a76e1d 376162008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
37617
37618 * configure.ac (AC_INIT): Bumped to 1.96.
37619
37620 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
37621 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
37622 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
37623 video/readers/png.c.
37624
90fd32d1 376252008-02-03 Bean <bean123ch@gmail.com>
9be665dd 37626
37627 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
37628 (cdboot_img_SOURCES): New variable.
37629 (cdboot_img_ASFLAGS): New variable.
37630 (cdboot_img_LDFLAGS): New variable.
37631
37632 * boot/i386/pc/cdboot.S: New file.
37633
37634 * disk/i386/pc/biosdisk.c (cd_start): New variable.
37635 (cd_count): Likewise.
37636 (grub_biosdisk_get_drive): Add support for cd device.
37637 (grub_biosdisk_call_hook): Likewise.
37638 (grub_biosdisk_iterate): Likewise.
37639 (grub_biosdisk_open): Likewise.
37640 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
37641 (grub_biosdisk_rw): Support reading from cd device.
37642 (GRUB_MOD_INIT): Iterate cd devices.
37643
37644 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
37645 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
37646 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
37647
37648 * kern/i386/pc/init.c (make_install_device): Check for cd device.
37649
4020aa53 376502008-02-02 Robert Millan <rmh@aybabtu.com>
37651
37652 * commands/read.c: New file.
37653 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
37654 (read_mod_SOURCES): New variable.
37655 (read_mod_CFLAGS): Likewise.
37656 (read_mod_LDFLAGS): Likewise.
37657
e03a1132 376582008-02-02 Robert Millan <rmh@aybabtu.com>
37659
37660 * normal/main.c (grub_normal_execute): Check for `menu->size' when
37661 determining whether menu has to be displayed.
37662
58c69220 376632008-02-02 Marco Gerards <marco@gnu.org>
37664
37665 * bus/pci.c: New file.
37666
37667 * include/grub/pci.h: Likewise.
37668
37669 * include/grub/i386/pc/pci.h: Likewise.
37670
37671 * commands/lspci.c: Likewise.
37672
37673 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
37674 `lspci.mod'.
37675 (pci_mod_SOURCES): New variable.
37676 (pci_mod_CFLAGS): Likewise.
37677 (pci_mod_LDFLAGS): Likewise.
37678 (lspci_mod_SOURCES): Likewise.
37679 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 37680 (lspci_mod_LDFLAGS): Likewise.
58c69220 37681
c004e1b4 376822008-02-02 Bean <bean123ch@gmail.com>
37683
37684 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
37685 (grub_ufs_get_file_block): Fix indirect block calculation problem.
37686
37687 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
37688 (grub_xfs_btree_node): New structure.
37689 (grub_xfs_btree_root): New structure.
37690 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
37691 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
37692 (GRUB_XFS_EXTENT_BLOCK): Likewise.
37693 (GRUB_XFS_EXTENT_SIZE): Likewise.
37694 (grub_xfs_read_block): Support btree format type.
37695 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
37696 Use directory block as basic unit.
37697
37698 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
37699
37700 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
37701 __attribute__ ((__regparm__ (1))).
37702
f95562bf 377032008-02-01 Robert Millan <rmh@aybabtu.com>
37704
37705 Correct a mistake in previous commit.
37706
37707 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
37708 top.
37709 (normal/command.c_DEPENDENCIES): New variable.
37710
7d31f41f 377112008-02-01 Robert Millan <rmh@aybabtu.com>
37712
37713 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
37714 top.
37715 (normal/command.c_DEPENDENCIES): New variable.
37716 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
37717 * conf/i386-ieee1275.rmk: Likewise.
37718 * conf/i386-linuxbios.rmk: Likewise.
37719 * conf/i386-pc.rmk: Likewise.
37720 * conf/sparc64-ieee1275.rmk: Likewise.
37721 * conf/powerpc-ieee1275.rmk: Likewise.
37722 (grub_emu_SOURCES): Add `fs/fshelp.c'.
37723
37724 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
37725
60b6be74 377262008-02-01 Robert Millan <rmh@aybabtu.com>
37727
37728 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
37729 call at beginning of function.
37730
078522ab 377312008-01-31 Pavel Roskin <proski@gnu.org>
37732
37733 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 37734 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
37735 (grub_mkrescue_SOURCES): Likewise.
078522ab 37736 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
37737
ccaa8a5f 377382008-01-30 Robert Millan <rmh@aybabtu.com>
37739
37740 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
37741 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
37742 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
37743 (grub_probe_SOURCES): ... to here.
37744
37745 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
37746 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
37747 * conf/i386-ieee1275.rmk: Likewise.
37748 * conf/i386-linuxbios.rmk: Likewise.
37749 * conf/powerpc-ieee1275.rmk: Likewise.
37750
ae5a9cd7 377512008-01-30 Tristan Gingold <gingold@free.fr>
37752
37753 * kern/rescue.c: Silently accept empty lines.
37754
70bc2ef2 377552008-01-29 Bean <bean123ch@gmail.com>
37756
37757 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
37758 (real_code_2): Code cleanup and change comment style.
37759 (move_memory): Avoid using 32-bit address mode.
37760
6a4d50ea 377612008-01-29 Bean <bean123ch@gmail.com>
37762
37763 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
37764 (png_mod_SOURCES): New variable.
37765 (png_mod_CFLAGS): Likewise.
37766 (png_mod_LDFLAGS): Likewise.
37767
37768 * video/readers/png.c: New file.
37769
11cc30ac 377702008-01-28 Robert Millan <rmh@aybabtu.com>
37771
37772 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
37773 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
37774 `ifndef GRUB_MOD_GAP' hack.
37775 * util/elf/grub-mkimage.c (add_segments): Likewise.
37776
3abc589f 377772008-01-27 Robert Millan <rmh@aybabtu.com>
37778
37779 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
37780 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 37781 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 37782
e1907778 377832008-01-27 Robert Millan <rmh@aybabtu.com>
37784
37785 Get grub-emu to build again (including parallel builds).
37786
37787 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
37788 Split into ...
37789 (util/grub-emu.c_DEPENDENCIES): ... this, ...
37790 (normal/execute.c_DEPENDENCIES): ... this, ...
37791 (grub-emu_DEPENDENCIES): ... and this.
37792
37793 * conf/i386-efi.rmk: Likewise.
37794 * conf/i386-linuxbios.rmk: Likewise.
37795 * conf/i386-ieee1275.rmk: Likewise.
37796 * conf/powerpc-ieee1275.rmk: Likewise.
37797 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
37798
2216b101 377992008-01-27 Robert Millan <rmh@aybabtu.com>
37800
37801 * NEWS: Add a few items.
37802
f75172d9 378032008-01-27 Robert Millan <rmh@aybabtu.com>
37804
37805 Fix parallel builds with grub-emu. Based on earlier commit for
37806 grub-probe and grub-setup.
37807
37808 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37809 (util/grub-emu.c_DEPENDENCIES): ... this.
37810 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37811 (util/grub-emu.c_DEPENDENCIES): ... this.
37812 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37813 (util/grub-emu.c_DEPENDENCIES): ... this.
37814 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37815 (util/grub-emu.c_DEPENDENCIES): ... this.
37816 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
37817 (util/grub-emu.c_DEPENDENCIES): ... this.
37818
3f51de77 378192008-01-27 Pavel Roskin <proski@gnu.org>
37820
37821 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
37822 to create a gap between _end and the modules added to the image
37823 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
37824 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
37825 * util/elf/grub-mkimage.c (add_segments): Likewise.
37826
2033f53e 378272008-01-26 Pavel Roskin <proski@gnu.org>
37828
37829 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
37830 just return an error.
37831
22da1f6f 378322008-01-26 Bean <bean123ch@gmail.com>
37833
37834 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
37835 (grub_reiserfs_get_item): Save offset of the next item.
37836 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
37837
2a9525e6 378382008-01-25 Robert Millan <rmh@aybabtu.com>
37839
37840 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
37841 make all filesystem sources appear together (possibly fixing omissions
37842 while at it).
37843 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
37844 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37845 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
37846 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
37847
37848 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
37849 add `kern/file.c'.
37850 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
37851 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
37852 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
37853 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
37854
37855 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
37856 (probe): Add a sanity check to make sure of our ability to read
37857 requested files when probing for filesystem type.
37858
37859 * genmk.rb: Update copyright year (2007).
37860
37861 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
37862 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
37863 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
37864 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
37865 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
37866 : Remove function prototypes.
37867
b95f71b5 378682008-01-25 Robert Millan <rmh@aybabtu.com>
37869
37870 Revert my previous commits (based on wrong assumption of how grub_errno
37871 works).
37872
fe6b695a 37873 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 37874 * kern/file.c (grub_file_open): Likewise.
37875
d08bbb49 378762008-01-24 Pavel Roskin <proski@gnu.org>
37877
37878 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
37879 that hang if GRUB tries to setup colors.
37880 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
37881 colors for firmwares that don't support it.
37882 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
37883 Recognize Open Hack'Ware, set flags to work around its
37884 limitations.
37885
605e36ed 378862008-01-24 Robert Millan <rmh@aybabtu.com>
37887
37888 * kern/file.c (grub_file_open): Do not account previous failures of
37889 unrelated functions when grub_errno is checked for.
37890 Reported by Oleg Strikov.
37891
bac332a1 378922008-01-24 Bean <bean123ch@gmail.com>
37893
37894 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
37895 (grub_ufs_sblock): New member volume name.
37896 (grub_ufs_find_file): Fix string copy bug.
37897 (grub_ufs_label): Implement this function properly.
37898
37899 * fs/hfs.c (grub_hfs_cnid_type): New enum.
37900 (grub_hfs_iterate_records): Use the correct file number for extents
37901 and catalog file. Fix problem in next index calculation.
37902 (grub_hfs_find_node): Replace recursive function call with loop.
37903 (grub_hfs_iterate_dir): Replace recursive function call with loop.
37904
15c80c09 379052008-01-23 Robert Millan <rmh@aybabtu.com>
37906
37907 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
37908 `<grub/symbol.h>' and `<grub/multiboot.h>'.
37909 (grub_multiboot2_real_boot): New function prototype.
37910
37911 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
37912 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
37913
37914 * kern/i386/ieee1275/init.c (grub_os_area_addr)
37915 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
37916
305338fd 379172008-01-23 Robert Millan <rmh@aybabtu.com>
37918
37919 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
37920 #ifdef'ed out grub_printf().
37921
3ea52685 379222008-01-23 Robert Millan <rmh@aybabtu.com>
37923
37924 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
37925 grub_dprintf calls, since they make "debug=all" mode unusable.
37926 (grub_console_checkkey): Likewise.
37927
5882ae4b 379282008-01-23 Robert Millan <rmh@aybabtu.com>
37929
37930 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
37931 `term/i386/pc/at_keyboard.c'.
37932 (pkglib_MODULES): Add `serial.mod'.
37933 (serial_mod_SOURCES): New variable.
37934 (serial_mod_CFLAGS): Likewise.
37935 (serial_mod_LDFLAGS): Likewise.
37936
37937 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
37938 `<grub/powerpc/ieee1275/console.h>'.
37939 (grub_keyboard_controller_init): New function prototype.
37940 (grub_console_checkkey): Likewise.
37941 (grub_console_getkey): Likewise.
37942
37943 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
37944 keyboard on i386.
37945
37946 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
37947 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
37948
06ab5303 379492008-01-23 Robert Millan <rmh@aybabtu.com>
37950
37951 * kern/i386/pc/init.c (make_install_device): When memdisk image is
37952 present, "(memdisk)/boot/grub" becomes the default prefix.
37953
37954 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
37955 a memdisk tarball with all the modules. Add --overlay=DIR option that
37956 allows users to overlay additional files into the image.
37957
dbb475a4 379582008-01-23 Robert Millan <rmh@aybabtu.com>
37959
37960 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
37961 and `machine/memory.h'.
37962 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
37963 (_multiboot_mod_SOURCES): New variable.
37964 (_multiboot_mod_CFLAGS): Likewise.
37965 (_multiboot_mod_LDFLAGS): Likewise.
37966 (multiboot_mod_SOURCES): Likewise.
37967 (multiboot_mod_CFLAGS): Likewise.
37968 (multiboot_mod_LDFLAGS): Likewise.
37969
37970 * include/grub/i386/ieee1275/loader.h: New file.
37971
37972 * include/grub/i386/ieee1275/machine.h: Likewise.
37973
37974 * include/grub/i386/ieee1275/memory.h: Likewise.
37975
37976 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
37977 variable declaration.
37978 (grub_os_area_size): Likewise.
37979
37980 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
37981 (grub_lower_mem, grub_upper_mem): New variables.
37982 (grub_stop_floppy): New function (just to make
37983 grub_multiboot2_real_boot() happy).
37984
37985 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
37986 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
37987 (grub_stop): New function.
37988 Include `"../realmode.S"' and `"../loader.S"'.
37989
37990 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
37991 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
37992
37993 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
37994 rely on grub_multiboot2_real_boot() for final boot.
37995
25638629 379962008-01-22 Robert Millan <rmh@aybabtu.com>
37997
37998 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
37999 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
38000 device that doesn't look like an SD card.
38001 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
38002 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
38003 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
38004 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
38005 found.
38006
9dad816d 380072008-01-22 Robert Millan <rmh@aybabtu.com>
38008
38009 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
38010 avoid claiming over our own code.
38011
34842f2d 380122008-01-22 Bean <bean123ch@gmail.com>
38013
38014 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
38015 (jpeg_mod_SOURCES): New variable.
38016 (jpeg_mod_CFLAGS): Likewise.
38017 (jpeg_mod_LDFLAGS): Likewise.
38018
38019 * video/readers/jpeg.c : New file.
38020
44023a28 380212008-01-22 Bean <bean123ch@gmail.com>
38022
38023 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
38024 there are no more items.
38025
bc2d8ac6 380262008-01-21 Robert Millan <rmh@aybabtu.com>
38027
38028 * kern/mm.c (grub_mm_init_region): Improve debug message.
38029
261bd4bc 380302008-01-21 Robert Millan <rmh@aybabtu.com>
38031
38032 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
38033 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
38034 address.
38035 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
38036 a C macro.
38037 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
38038 Indicates start of upper memory.
38039 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
38040 (generate_image): Abort when image size is big enough to corrupt
38041 upper memory.
38042
38043 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
38044 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
38045 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
38046 instead of hardcoding 0xA0000.
38047 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
38048 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
38049 instead of hardcoding 0xA0000.
38050
f970b55e 380512008-01-21 Robert Millan <rmh@aybabtu.com>
38052
38053 * disk/memdisk.c (memdisk_size): New variable.
38054 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
38055 `memdisk_size'.
38056 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
38057 image to dynamic memory.
38058 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
38059 `memdisk_size'. Free memdisk block.
38060
1a8b0526 380612008-01-21 Robert Millan <rmh@aybabtu.com>
38062
38063 Fix detection of very small filesystems (like tar).
38064
38065 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
38066 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
38067 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
38068 a problem with this disk).
38069
6e9b4aab 380702008-01-21 Robert Millan <rmh@aybabtu.com>
38071
38072 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
38073 on grub_biosdisk_rw_standard() error.
38074
0d8837b2 380752008-01-21 Robert Millan <rmh@aybabtu.com>
38076
38077 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
38078 recent changes.
38079 * kern/elf.c: Likewise.
38080 * kern/ieee1275/ieee1275.c: Likewise.
38081 * kern/powerpc/ieee1275/openfw.c: Likewise.
38082 * term/ieee1275/ofconsole.c: Likewise.
38083
ffd36e34 380842008-01-21 Robert Millan <rmh@aybabtu.com>
38085
38086 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
38087
3f0093d0 38088 * include/grub/kernel.h (grub_arch_memdisk_addr)
38089 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 38090
3f0093d0 38091 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
38092 (grub_arch_memdisk_size): ... to here.
ffd36e34 38093
6c391b21 380942008-01-21 Robert Millan <rmh@aybabtu.com>
38095
38096 Mostly based on bugfix from Bean.
38097
38098 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
38099 attribute with hook() parameter.
38100 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
38101 declaration.
38102 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
38103 attribute with hook() parameter.
38104 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
38105 declaration.
38106
55a581dc 381072008-01-21 Robert Millan <rmh@aybabtu.com>
38108
38109 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
38110 (pkglib_MODULES): Add `memdisk.mod'.
38111 (memdisk_mod_SOURCES): New variable.
38112 (memdisk_mod_CFLAGS): Likewise.
38113 (memdisk_mod_LDFLAGS): Likewise.
38114
38115 * disk/memdisk.c: New file.
38116
38117 * include/grub/disk.h (grub_disk_dev_id): Add
38118 `GRUB_DISK_DEVICE_MEMDISK_ID'.
38119
38120 * include/grub/i386/pc/kernel.h
38121 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
38122 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
38123 (grub_kernel_image_size): New variable declaration.
38124 (grub_total_module_size): Likewise.
38125 (grub_memdisk_image_size): Likewise.
38126
38127 * include/grub/i386/pc/memory.h
38128 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
38129
38130 * include/grub/kernel.h: Include `<grub/symbol.h>'.
38131 (grub_arch_memdisk_addr): New variable declaration.
38132 (grub_arch_memdisk_size): Likewise.
38133
38134 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
38135 (grub_arch_memdisk_size): Likewise.
38136
38137 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
38138 (codestart): Replace hardcoded `0x100000' with
38139 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
38140
38141 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
38142 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
38143 not NULL, append the contents of the file it refers to, at the end of
38144 the compressed kernel image. Initialize `grub_memdisk_image_size'
38145 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
38146 (options): Add "memdisk"|'m' option.
38147 (main): Parse --memdisk|-m option, and pass user-provided path as
38148 parameter to generate_image().
38149
3d7f54c9 381502008-01-20 Robert Millan <rmh@aybabtu.com>
38151
38152 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
38153 grub_dprintf() calls from here ...
38154 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
38155
0bf74728 381562008-01-20 Robert Millan <rmh@aybabtu.com>
38157
38158 Fix detection of "real mode" when /options/real-mode? doesn't exist.
38159
38160 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
38161 declaration.
38162 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
38163 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
38164 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 38165 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 38166 property).
38167 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
38168 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
38169
33bf70a7 381702008-01-19 Robert Millan <rmh@aybabtu.com>
38171
fe6b695a 38172 Get rid of confusing function (superseded by
33bf70a7 38173 `grub_ieee1275_get_integer_property')
38174 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
38175 prototype.
38176 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
38177 function.
38178 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
38179 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 38180 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 38181
e2da7d26 381822008-01-19 Robert Millan <rmh@aybabtu.com>
38183
38184 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
38185 command after "shut-down", since implementations differ on which
38186 the command for halt is.
38187
59f1fd8d 381882008-01-19 Robert Millan <rmh@aybabtu.com>
38189
38190 * include/grub/i386/linuxbios/console.h: Add header protection.
38191 (grub_keyboard_controller_init): New function prototype.
38192 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
38193 (KEYBOARD_COMMAND_READ): Likewise.
38194 (KEYBOARD_COMMAND_WRITE): Likewise.
38195 (KEYBOARD_SCANCODE_SET1): Likewise.
38196 (grub_keyboard_controller_write): New function.
38197 (grub_keyboard_controller_read): Likewise.
38198 (grub_keyboard_controller_init): Likewise.
38199
38200 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
38201 (grub_console_init): On coreboot/LinuxBIOS, call
38202 grub_keyboard_controller_init().
38203
5f5a7c15 382042008-01-19 Robert Millan <rmh@aybabtu.com>
38205
38206 PowerPC changes provided by Pavel Roskin.
38207
38208 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
38209 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
38210 don't rely on cmain() doing it.
38211 * kern/i386/ieee1275/startup.S (_start): Store %eax in
38212 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
38213
1210e168 382142008-01-16 Robert Millan <rmh@aybabtu.com>
38215
38216 * include/grub/i386/linuxbios/memory.h
38217 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
38218 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
38219 receive `table_header' as argument. Instead, probe for it in the
38220 known memory ranges where it can be present.
38221 (grub_available_iterate): Do not pass a fixed `table_header' address
38222 to grub_linuxbios_table_iterate().
38223
3d04eab8 382242008-01-15 Robert Millan <rmh@aybabtu.com>
38225
38226 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
38227 * conf/i386-ieee1275.rmk: New file.
38228 * include/grub/i386/ieee1275/console.h: Likewise.
38229 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
38230 * include/grub/i386/ieee1275/kernel.h: Likewise.
38231 * include/grub/i386/ieee1275/time.h: Likewise.
38232 * kern/i386/ieee1275/init.c: Likewise.
38233 * kern/i386/ieee1275/startup.S: Likewise.
38234
d1bc1b73 382352008-01-15 Robert Millan <rmh@aybabtu.com>
38236
38237 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
38238 when pointers are 32-bit (but still do set it to one when they are
38239 64-bit).
38240
66a65807 382412008-01-15 Robert Millan <rmh@aybabtu.com>
38242
38243 * include/grub/ieee1275/ieee1275.h
38244 (grub_ieee1275_get_integer_property): New function prototype.
38245
38246 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
38247 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 38248 grub_ieee1275_get_property() to handle endianness.
66a65807 38249
38250 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
38251 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 38252 where appropriate.
66a65807 38253 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
38254 (grub_map): Likewise.
38255 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
38256
a83ccafd 382572008-01-15 Bean <bean123ch@gmail.com>
38258
38259 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
38260 (grub_script_execute_cmdline): Reset grub_errno.
38261
38262 * normal/main.c (read_config_file): Reset grub_errno.
38263
38264 * normal/parse.y (script_init): New.
38265 (script): Move function and menuentry here.
38266 (delimiter): New.
38267 (command): Add delimiter at the end of command.
38268 (commands): Adjust to match the new command.
38269 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 38270 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 38271 (if): Use the new commands.
38272
38273 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
38274
df6ecfc6 382752008-01-15 Robert Millan <rmh@aybabtu.com>
38276
38277 * normal/menu.c (run_menu): Move timeout message from here ...
38278 (print_timeout): ... to here.
38279 (run_menu): Use print_timeout() once during initial draw to print
38280 the whole message, and again in every clock tick to update only
38281 the number of seconds.
38282
87ae25eb 382832008-01-15 Robert Millan <rmh@aybabtu.com>
38284
38285 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
38286 actual size of `available' from grub_ieee1275_get_property(), and
38287 restrict parsing to that bound.
38288
47bf09a4 382892008-01-15 Christian Franke <franke@computer.org>
38290
38291 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
38292 (argp_program_version): Remove variable.
38293 (argp_program_bug_address): Likewise.
38294 (options): Convert from struct argp_option to struct option.
38295 (struct arguments): Remove.
38296 (parse_opt): Remove.
38297 (usage): New function.
38298 (main): Replace struct args members by simple variables.
38299 Replace argp_parse() by getopt_long().
38300 Add switch to evaluate options.
38301 Add missing "(...)" around root_dev in prefix string.
38302
c86f1469 383032008-01-14 Robert Millan <rmh@aybabtu.com>
38304
38305 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
38306 for grub_ieee1275_exit(), in order to improve portability.
38307
e622c559 383082008-01-14 Robert Millan <rmh@aybabtu.com>
38309
38310 * util/grub.d/10_linux.in (prefix): Define.
38311 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
38312
44cb1ec8 383132008-01-13 Pavel Roskin <proski@gnu.org>
38314
38315 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
38316 grub_errno if no errors have been detected.
38317
1eb8c802 383182008-01-12 Robert Millan <rmh@aybabtu.com>
38319
38320 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
38321 (grub_util_get_dev_abstraction): New function prototype.
38322
38323 * util/getroot.c: Include `<grub/util/getroot.h>'
38324 (grub_util_get_grub_dev): Move detection of abstraction type to ...
38325 (grub_util_get_dev_abstraction): ... here (new function).
38326
38327 * util/grub-probe.c: Convert PRINT_* to an enum. Add
38328 `PRINT_ABSTRACTION'.
38329 (probe): Probe for abstraction type when requested.
38330 (main): Understand `--target=abstraction'.
38331
38332 * util/i386/efi/grub-install.in: Add abstraction module to core
38333 image when it is found to be necessary.
38334 * util/i386/pc/grub-install.in: Likewise.
38335 * util/powerpc/ieee1275/grub-install.in: Likewise.
38336
38337 * util/update-grub_lib.in (font_path): Return system path without
38338 converting to GRUB path.
38339 * util/update-grub.in: Convert system path returned by font_path()
38340 to a GRUB path. Use `grub-probe -t abstraction' to determine what
38341 abstraction module is needed for loading fonts (if any). Export
38342 that as `GRUB_PRELOAD_MODULES'.
38343 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
38344 insmod commands).
38345
52bd3de9 383462008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
38347
38348 Remove some unused code from reiserfs.
f19dbdb7 38349
52bd3de9 38350 * fs/reiserfs.c (struct grub_reiserfs_key)
38351 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
38352 (struct grub_reiserfs_node_body): Removed.
38353 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
38354 Likewise.
38355 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
38356 Likewise.
38357 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
38358 Likewise.
38359 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
38360 Likewise.
38361 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
38362 Likewise.
38363 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
38364 Likewise.
38365 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
38366 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
38367 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
38368
2f80039d 383692008-01-10 Robert Millan <rmh@aybabtu.com>
38370
38371 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
38372 Determines if a file is garbage left by packaging systems, etc.
38373 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
38374 for processing /etc/grub.d scripts.
38375 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
38376 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
38377 as a condition for processing Linux images.
38378
87888032 383792008-01-10 Pavel Roskin <proski@gnu.org>
38380
38381 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
38382 to compile reiserfs.c on PowerPC.
38383
7e54fced 383842008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 38385
38386 * kern/device.c (grub_device_iterate): Do not abort device iteration
38387 when one of the devices cannot be opened.
38388 * kern/disk.c (grub_disk_open): Do not account previous failures of
38389 unrelated functions when grub_errno is checked for.
38390
5aa541e6 383912008-01-08 Robert Millan <rmh@aybabtu.com>
38392
38393 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
38394 `! grub_linux_is_bzimage', change order of address comparison to make
38395 it more intuitive, and improve "too big zImage" error message.
38396
7076340d 383972008-01-08 Robert Millan <rmh@aybabtu.com>
38398
38399 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
38400 `$(update-grub_DATA)'.
38401 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
38402 targets.
38403
9ca70333 384042008-01-07 Robert Millan <rmh@aybabtu.com>
38405
38406 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
38407 which instruction is modified by grub-setup during installation
38408 (since it wasn't obvious by only looking at this file).
38409
38ccf575 384102008-01-07 Robert Millan <rmh@aybabtu.com>
38411
38412 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
38413 listing actual TODO items.
38414
f5db4291 384152008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
38416
868967cf 38417 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
38418 correctly.
38419 (grub_reiserfs_get_key_offset): Likewise.
38420 (grub_reiserfs_set_key_offset): Likewise.
38421 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 38422 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 38423
38424 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
38425 better to remove the bitfield version completely.
f19dbdb7 38426
868967cf 384272008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 38428
f5db4291 38429 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
38430 allocated from the heap, due to the fshelp implementation.
38431 (grub_reiserfs_dir): Free NODE, due to the same reason.
38432
492e6d9d 384332008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
38434
38435 Mostly from Vincent Pelletier:
f19dbdb7 38436
492e6d9d 38437 * fs/reiserfs.c: New file.
f19dbdb7 38438
492e6d9d 38439 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
38440 (reiserfs_mod_SOURCES): New variable.
38441 (reiserfs_mod_CFLAGS): Likewise.
38442 (reiserfs_mod_LDFLAGS): Likewise.
38443
38444 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
38445 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
38446 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
38447 normal/color.c.
38448
9ce3e7c1 384492008-01-06 Robert Millan <rmh@aybabtu.com>
38450
38451 * normal/color.c: Remove `<grub/env.h>'.
38452
f3b58148 384532008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
38454
38455 * include/grub/normal.h: Include <grub/env.h>.
38456
7ac3bcfa 384572008-01-05 Robert Millan <rmh@aybabtu.com>
38458
38459 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
38460 usage example with `(hd0,1)'.
fb358190 38461 Reported by Samuel Thibault.
7ac3bcfa 38462
c8ee99d7 384632008-01-05 Robert Millan <rmh@aybabtu.com>
38464
38465 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
38466 (grub_linux_boot_zimage): Rename to ...
38467 (grub_linux_boot): ... this.
38468 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
38469 (grub_linux_boot_zimage): Conditionalize zImage copy.
38470
38471 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
38472 (grub_linux_boot_bzimage): Remove prototype.
38473 (grub_linux_boot_zimage): Rename to ...
38474 (grub_linux_boot): ... this.
38475
38476 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
38477 (grub_linux_boot): Remove function.
38478
0ece25b1 384792008-01-05 Robert Millan <rmh@aybabtu.com>
38480
38481 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
38482 (grub_env_write_color_highlight): Likewise.
38483 (grub_wait_after_message): Likewise.
38484
38485 * normal/color.c: New file.
38486
38487 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
38488 (normal_mod_DEPENDENCIES): Likewise.
38489
38490 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
38491 (normal_mod_DEPENDENCIES): Likewise.
38492
38493 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
38494 (normal_mod_DEPENDENCIES): Likewise.
38495
38496 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
38497 (normal_mod_DEPENDENCIES): Likewise.
38498
38499 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
38500 for waiting after a message is printed.
38501 * normal/main.c (read_config_file): Likewise.
38502 (grub_normal_init): Register grub_env_write_color_normal() and
38503 grub_env_write_color_highlight() hooks. Mark `color_normal' and
38504 `color_highlight' variables as global.
38505
38506 * normal/menu.c (grub_wait_after_message): New function.
38507 (grub_color_menu_normal): New variable. Replaces ...
38508 (GRUB_COLOR_MENU_NORMAL): ... this macro.
38509 (grub_color_menu_highlight): New variable. Replaces ...
38510 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
38511 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
38512 `GRUB_TERM_COLOR_STANDARD'.
38513 (print_message): Use `grub_setcolorstate' to reload colors. Rename
38514 `normal_code' and `highlight_code' to `old_color_normal' and
38515 `old_color_highlight', respectively.
38516 (grub_menu_init_page): Update colors when drawing the menu, based on
38517 `menu_color_normal' and `menu_color_highlight' variables.
38518 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
38519 a message is printed.
38520
182dd4e5 385212008-01-05 Robert Millan <rmh@aybabtu.com>
38522
38523 * kern/env.c (grub_env_context_open): Propagate hooks for global
38524 variables to new context.
38525
38526 * kern/main.c (grub_set_root_dev): Export `root' variable.
38527
ddf8f6ad 385282008-01-05 Robert Millan <rmh@aybabtu.com>
38529
38530 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 38531 discs unconditionally, since udev and others have options to provide
ddf8f6ad 38532 them.
38533
d8b43d9b 385342008-01-05 Robert Millan <rmh@aybabtu.com>
38535
38536 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
38537
2bff2de3 385382008-01-04 Christian Franke <franke@computer.org>
38539
38540 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
38541 of eisa_mmap.
38542
97eab917 385432008-01-03 Pavel Roskin <proski@gnu.org>
38544
38545 * kern/i386/linuxbios/init.c: Put "void" to all function
38546 declarations with no arguments.
38547 * kern/powerpc/ieee1275/init.c: Likewise.
38548 * term/i386/pc/at_keyboard.c: Likewise.
38549 * term/i386/pc/vga_text.c: Likewise.
38550 * util/grub-mkdevicemap.c: Likewise.
38551
b9416d00 385522008-01-02 Robert Millan <rmh@aybabtu.com>
38553
38554 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
38555 message when loaded image is out of bounds.
38556 (grub_multiboot_load_elf64): Likewise.
38557
92695df9 385582008-01-02 Pavel Roskin <proski@gnu.org>
38559
38560 * util/grub.d/10_linux.in: Try version without ".old" when
38561 looking for initrd. It's better to use initrd from the newer
38562 kernel of the same version than no initrd at all.
38563
d98d9cad 385642008-01-01 Robert Millan <rmh@aybabtu.com>
38565
38566 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
38567
dbfdce36 385682008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
38569
f19dbdb7 38570 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 38571 grub_video_get_active_render_target.
38572 (grub_video_adapter): Added unmap_color and get_active_render_target.
38573
f19dbdb7 38574 * video/video.c: Added grub_video_unmap_color and
dbfdce36 38575 grub_video_get_active_render_target.
38576 (grub_video_get_info): Changed method to accept NULL pointer as an
38577 argument to allow detection of active video adapter.
38578
38579 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
38580 grub_video_vbe_unmap_color_int.
38581 Added grub_video_vbe_unmap_color and
38582 grub_video_vbe_get_active_render_target.
38583 (grub_video_vbe_adapter): Added unmap_color and
38584 get_active_render_target.
38585
f19dbdb7 38586 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 38587 with grub_video_vbe_unmap_color_int.
38588
38589 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
38590 (DEFAULT_NORMAL_COLOR): Likewise.
38591 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
38592 (DEFAULT_FG_COLOR): Removed.
38593 (DEFAULT_BG_COLOR): Likewise.
38594 (DEFAULT_CURSOR_COLOR): Changed value.
38595 (grub_virtual_screen): Added standard_color_setting,
38596 normal_color_setting, highlight_color_setting and term_color.
38597 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
38598 (bitmap_width): Added.
38599 (bitmap_height): Likewise.
38600 (bitmap): Likewise.
38601 (set_term_color): Likewise.
38602 (grub_virtual_screen_setup): Changed to use new terminal coloring
38603 settings.
38604 (grub_gfxterm_init): Added init for bitmap.
38605 (grub_gfxterm_fini): Added destroy for bitmap.
38606 (redraw_screen_rect): Updated to use background bitmap and new
38607 terminal coloring.
38608 (scroll_up): Added optimization for case when there is no bitmap.
38609 (grub_gfxterm_cls): Fixed to use correct background color.
38610 (grub_virtual_screen_setcolorstate): Changed to use new terminal
38611 coloring.
38612 (grub_virtual_screen_setcolor): Likewise.
38613 (grub_virtual_screen_getcolor): Added.
38614 (grub_gfxterm_background_image_cmd): Likewise.
38615 (grub_video_term): Added setcolor and getcolor.
38616 (MOD_INIT): Added registration of background_image command.
38617 (MOD_TERM): Added unregistration for background_image command.
38618
c3c20931 386192007-12-30 Pavel Roskin <proski@gnu.org>
38620
38621 * loader/multiboot_loader.c: Fix multiboot command
38622 unregistration. Fix all typos in the word "multiboot".
38623
df266716 386242007-12-29 Pavel Roskin <proski@gnu.org>
94239199 38625
38626 * util/grub.d/10_linux.in: Refactor search for initrd. Add
38627 support for initrd names used in Fedora.
38628
fc6e896c 386292007-12-26 Bean <bean123ch@gmail.com>
38630
38631 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
38632 (cpio_mod_SOURCES): New variable.
38633 (cpio_mod_CFLAGS): Likewise.
38634 (cpio_mod_LDFLAGS): Likewise.
38635
38636 * fs/cpio.c: New file.
38637
38638 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
38639
38640 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
38641
38642 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
38643
38644 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
38645
533110ad 386462007-12-25 Robert Millan <rmh@aybabtu.com>
38647
38648 * include/grub/term.h (struct grub_term): Add `getcolor' function.
38649 (grub_getcolor): New function.
38650
38651 * kern/term.c (grub_getcolor): New function.
38652 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
38653 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
38654 (print_entry): Set normal and highlight colors to
38655 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
38656 respectively, before printing and restore them to old
38657 values afterwards.
38658 (grub_menu_init_page): Likewise. Fill an additional colored space
38659 that would otherwise be left blank.
38660
38661 * term/efi/console.c (grub_console_getcolor): New function.
38662 (struct grub_console_term.getcolor): New variable.
38663 * term/i386/pc/console.c (grub_console_getcolor): New function.
38664 (struct grub_console_term.getcolor): New variable.
38665 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
38666 (struct grub_console_term.getcolor): New variable.
38667
38668 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
38669 (struct grub_console_term.setcolor): Remove variable.
38670 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
38671 (struct grub_console_term.setcolor): Remove variable.
38672 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
38673 (struct grub_console_term.setcolor): Remove variable.
38674 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
38675 (struct grub_console_term.setcolor): Remove variable.
38676
4931827f 386772007-12-25 Robert Millan <rmh@aybabtu.com>
38678
38679 * configure.ac: Search for possible unifont.hex locations, and
38680 define UNIFONT_HEX if found.
38681
38682 * Makefile.in (UNIFONT_HEX): Define variable.
38683 (DATA): Rename to ...
38684 (PKGLIB): ... this. Update all users.
38685 (PKGDATA): New variable.
38686 (pkgdata_IMAGES): Rename to ...
38687 (pkglib_IMAGES): ... this. Update all users.
38688 (pkgdata_MODULES): Rename to ...
38689 (pkglib_MODULES): ... this. Update all users.
38690 (pkgdata_PROGRAMS): Rename to ...
38691 (pkglib_PROGRAMS): ... this. Update all users.
38692 (pkgdata_DATA): Rename to ...
38693 (pkglib_DATA): ... this. Update all users.
38694 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
38695 (unicode.pff, ascii.pff): New rules.
38696 (all-local): Add `$(PKGDATA)' dependency.
38697 (install-local): Process `$(PKGDATA)'.
38698
38699 * util/update-grub_lib.in (font_path): Search for *.pff files in
38700 a few more locations, including `${pkgdata}'.
38701
57e57e31 387022007-12-23 Robert Millan <rmh@aybabtu.com>
38703
38704 Patch from Bean <bean123ch@gmail.com>:
38705 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
38706 `size'.
38707
4bc72aa9 387082007-12-21 Bean <bean123ch@gmail.com>
38709
38710 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
38711 (ntfscomp_mod_SOURCES): New variable.
38712 (ntfscomp_mod_CFLAGS): Likewise.
38713 (ntfscomp_mod_LDFLAGS): Likewise.
38714
38715 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
38716 (grub_probe_SOURCES): Likewise.
38717 (grub_emu_SOURCES): Likewise.
38718
38719 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
38720 (grub_emu_SOURCES): Likewise.
38721
38722 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
38723 (grub_emu_SOURCES): Likewise.
38724
38725 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
38726 (grub_emu_SOURCES): Likewise.
38727
38728 * fs/ntfs.c (grub_ntfscomp_func): New variable.
38729 (read_run_list): Renamed to grub_ntfs_read_run_list.
38730 (decomp_nextvcn): Moved to ntfscomp.c.
38731 (decomp_getch): Likewise.
38732 (decomp_get16): Likewise.
38733 (decomp_block): Likewise.
38734 (read_block): Likewise.
38735 (read_data): Partially moved to ntfscomp.c.
38736 (fixup): Change unsigned to grub_uint16_t.
38737 (read_mft): Change unsigned long to grub_uint32_t.
38738 (read_attr): Likewise.
38739 (read_data): Likewise.
38740 (read_run_data): Likewise.
38741 (read_run_list): Likewise.
38742 (read_mft): Likewise.
38743
38744 * fs/ntfscomp.c: New file.
38745
38746 * include/grub/ntfs.h: New file.
38747
af680a87 387482007-12-16 Robert Millan <rmh@aybabtu.com>
38749
38750 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
38751 IDE disk check, since Linux is known to support 20 IDE disks.
38752 Reported by Colin Watson.
38753
84be7599 387542007-12-15 Bean <bean123ch@gmail.com>
38755
38756 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
38757 (lnxboot_img_SOURCES): New variable.
38758 (lnxboot_img_ASFLAGS): Likewise.
38759 (lnxboot_img_LDFLAGS): Likewise.
38760
38761 * boot/i386/pc/lnxboot.S: New file.
38762
6af9db01 387632007-11-24 Pavel Roskin <proski@gnu.org>
38764
38765 * configure.ac: Test if '--build-id=none' is supported by the
38766 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
38767 objcopy to generate incorrect binary files (binutils
38768 2.17.50.0.18-1 as shipped by Fedora 8).
38769 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
38770 linking, so that build ID doesn't break the test.
38771
7361cfe6 387722007-11-24 Pavel Roskin <proski@gnu.org>
38773
38774 * include/grub/i386/time.h: use "void" in the argument list
38775 of grub_cpu_idle().
38776 * include/grub/powerpc/time.h: Likewise.
38777 * include/grub/sparc64/time.h: Likewise.
38778
1593e10c 387792007-11-18 Christian Franke <franke@computer.org>
38780
38781 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
38782 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
38783 This fixes the problem that function keys did not work in grub-emu.
38784
3b8db1a8 387852007-11-18 Christian Franke <franke@computer.org>
38786
38787 * disk/host.c (grub_host_open): Remove attribute unused from
38788 name parameter. Add check for "host". This fixes the problem
38789 that grub-emu does not find partitions.
38790
2e29408d 387912007-11-18 Christian Franke <franke@computer.org>
38792
38793 * util/hostfs.c (is_dir): New function.
38794 (grub_hostfs_dir): Handle missing dirent.d_type case.
38795 (grub_hostfs_read): Add missing fseek().
38796 (grub_hostfs_label): Clear label pointer. This fixes a crash
38797 of grub-emu on "ls (host)".
38798
398cd047 387992007-11-18 Christian Franke <franke@computer.org>
38800
38801 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
38802 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
38803 to 64 bit boundary by default.
38804
c405c391 388052007-11-18 Bean <bean123ch@gmail.com>
38806
38807 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
38808 (hexdump_mod_SOURCES): New variable.
38809 (hexdump_mod_CFLAGS): Likewise.
38810 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 38811
c405c391 38812 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38813
38814 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38815
38816 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38817
38818 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
38819
38820 * include/grub/hexdump.h: New file.
38821
38822 * commands/hexdump.c: New file.
38823
5cced7fd 388242007-11-10 Robert Millan <rmh@aybabtu.com>
38825
38826 * commands/i386/pc/play.c (beep_off): Switch order of arguments
38827 in grub_outb() calls.
38828 (beep_on): Likewise.
38829
8b714eb0 388302007-11-10 Christian Franke <franke@computer.org>
38831
38832 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
38833 (grub_menu_run): Likewise.
38834
ce0f1839 388352007-11-10 Robert Millan <rmh@aybabtu.com>
38836
38837 * include/grub/i386/efi/machine.h: New file.
38838 * include/grub/i386/linuxbios/machine.h: Likewise.
38839 * include/grub/i386/pc/machine.h: Likewise.
38840 * include/grub/powerpc/ieee1275/machine.h: Likewise.
38841 * include/grub/sparc64/ieee1275/machine.h: Likewise.
38842
38843 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
38844 (serial_hw_io_addr): New variable.
38845 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
38846 instead of `(unsigned short *) 0x400'.
38847
270c237d 388482007-11-10 Bean <bean123ch@gmail.com>
38849
38850 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
38851
a87783bf 388522007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
38853
38854 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
38855 (vga_mod_SOURCES): Added.
38856 (vga_mod_CFLAGS): Likewise.
38857 (vga_mod_LDFLAGS): Likewise.
38858
38859 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
38860 grub_outb() calls.
38861 (set_map_mask): Likewise.
38862 (set_read_map): Likewise.
38863 (set_read_address): Likewise.
38864 (vga_font): Removed variable.
38865 (get_vga_glyph): Removed function.
38866 (invalidate_char): Likewise.
38867 (write_char): Changed to use grub_font_get_glyph() for font
38868 information.
38869 (grub_vga_putchar): Likewise.
38870 (grub_vga_getcharwidth): Likewise.
38871
6433b448 388722007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
38873
38874 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
38875 flags.
38876 (pxeboot_img_LDFLAGS): Likewise.
38877 (diskboot_img_LDFLAGS): Likewise.
38878 (kernel_img_LDFLAGS): Likewise.
38879
49178511 388802007-11-06 Robert Millan <rmh@aybabtu.com>
38881
38882 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
38883 in grub_outb() calls.
38884 (serial_hw_init): Likewise.
38885
53b052de 388862007-11-05 Robert Millan <rmh@aybabtu.com>
38887
38888 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
38889 spaces. Skip non-regular files.
38890
5ab33bba 388912007-11-05 Robert Millan <rmh@aybabtu.com>
38892
38893 * kern/disk.c (grub_disk_firmware_fini)
38894 (grub_disk_firmware_is_tainted): New variables.
38895
38896 * include/grub/disk.h (grub_disk_firmware_fini)
38897 (grub_disk_firmware_is_tainted): Likewise.
38898
38899 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
38900 (grub_disk_biosdisk_fini): ... to here.
38901 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
38902 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
38903 is set. Register grub_disk_biosdisk_fini() in
38904 `grub_disk_firmware_fini'.
38905
38906 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
38907 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
38908 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
38909 to finish existing firmware disk interface.
38910
38911 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
38912 (ata_mod_SOURCES): New variable.
38913 (ata_mod_CFLAGS): Likewise.
38914 (ata_mod_LDFLAGS): Likewise.
38915
0149ab7c 389162007-11-05 Robert Millan <rmh@aybabtu.com>
38917
38918 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
38919 (grub_ata_wait): Reimplement using grub_millisleep().
38920
38921 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
38922 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
38923
be7ac41e 389242007-11-03 Marco Gerards <marco@gnu.org>
38925
38926 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
38927 (CRTC_ADDR_PORT): New macro.
38928 (CRTC_DATA_PORT): Likewise.
38929 (CRTC_CURSOR): Likewise.
38930 (CRTC_CURSOR_ADDR_HIGH): Likewise.
38931 (CRTC_CURSOR_ADDR_LOW): Likewise.
38932 (update_cursor): New function.
38933 (grub_console_real_putchar): Call `update_cursor'.
38934 (grub_console_gotoxy): Likewise.
38935 (grub_console_cls): Set the default color when clearing the
38936 screen.
38937 (grub_console_setcursor): Implemented.
38938
bb06ab2e 389392007-11-03 Marco Gerards <marco@gnu.org>
38940
38941 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
38942 become activate.
38943 (grub_ata_pio_write): Likewise.
38944
38945 (grub_atapi_identify): Wait after issuing an ATA command.
38946 (grub_atapi_packet): Likewise.
38947 (grub_ata_identify): Likewise.
38948 (grub_ata_readwrite): Likewise.
38949
cf8f780b 389502007-11-03 Marco Gerards <marco@gnu.org>
38951
38952 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
38953 (grub_ata_pio_write): Likewise.
38954 (grub_ata_readwrite): Use `grub_error', instead of
38955 returning `grub_errno'.
38956
ed649e54 389572007-11-03 Marco Gerards <marco@gnu.org>
38958
38959 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
38960 grub_ata_pio_write once for every single sector, instead of for
38961 multiple sectors.
38962
ca25d8f0 389632007-10-31 Robert Millan <rmh@aybabtu.com>
38964
38965 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
38966
38967 * conf/i386-linuxbios.rmk: New file.
38968
38969 * kern/i386/pc/hardware.c: Likewise.
38970 * term/i386/pc/at_keyboard.c: Likewise.
38971 * term/i386/pc/vga_text.c: Likewise.
38972
38973 * include/grub/i386/linuxbios/boot.h: Likewise.
38974 * include/grub/i386/linuxbios/console.h: Likewise.
38975 * include/grub/i386/linuxbios/init.h: Likewise.
38976 * include/grub/i386/linuxbios/kernel.h: Likewise.
38977 * include/grub/i386/linuxbios/loader.h: Likewise.
38978 * include/grub/i386/linuxbios/memory.h: Likewise.
38979 * include/grub/i386/linuxbios/serial.h: Likewise.
38980 * include/grub/i386/linuxbios/time.h: Likewise.
38981
38982 * kern/i386/linuxbios/init.c: Likewise.
38983 * kern/i386/linuxbios/startup.S: Likewise.
38984 * kern/i386/linuxbios/table.c: Likewise.
38985
e911ecc1 389862007-10-31 Marco Gerards <marco@gnu.org>
38987
38988 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
38989 (ata_mod_SOURCES): New variable.
38990 (ata_mod_CFLAGS): Likewise.
38991 (ata_mod_LDFLAGS): Likewise.
38992
38993 * disk/ata.c: New file.
38994
38995 * include/grub/disk.h (grub_disk_dev_id): Add
38996 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 38997
7f66d0e0 389982007-10-31 Robert Millan <rmh@aybabtu.com>
38999
39000 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
39001 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
39002
39003 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
39004 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
39005
39006 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
39007 `<grub/types.h>'.
39008
39009 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
39010
5cd7dd46 390112007-10-27 Robert Millan <rmh@aybabtu.com>
39012
3236ca65 39013 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 39014
2ebfc90f 390152007-10-22 Robert Millan <rmh@aybabtu.com>
39016
39017 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
39018 `"../realmode.S"'.
39019 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
39020
73fcb0f3 390212007-10-22 Robert Millan <rmh@aybabtu.com>
39022
39023 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
39024 (pkgdata_MODULES): Add `biosdisk.mod'.
39025 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
39026 variables.
39027
39028 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
39029 (grub_biosdisk_init): Replace with ...
39030 (GRUB_MOD_INIT(biosdisk)): ... this.
39031 (grub_biosdisk_fini): Replace with ...
39032 (GRUB_MOD_FINI(biosdisk)): ... this.
39033
39034 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
39035 (grub_machine_init): Remove call to grub_biosdisk_init().
39036 (grub_machine_fini): Remove call to grub_machine_fini().
39037
39038 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
39039
3381d274 390402007-10-22 Robert Millan <rmh@aybabtu.com>
39041
39042 * include/grub/time.h: New file.
39043 * include/grub/i386/time.h: Likewise.
39044 * include/grub/powerpc/time.h: Likewise.
39045 * include/grub/sparc64/time.h: Likewise.
39046
39047 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
39048 instances to ...
39049 (KERNEL_MACHINE_TIME_HEADER): ... this.
39050 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
39051 instances to ...
39052 (KERNEL_MACHINE_TIME_HEADER): ... this.
39053 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
39054 instances to ...
39055 (KERNEL_MACHINE_TIME_HEADER): ... this.
39056
39057 * kern/i386/efi/init.c: Include `<grub/time.h>'.
39058 (grub_millisleep): New function.
39059 * kern/i386/pc/init.c: Include `<grub/time.h>'.
39060 (grub_millisleep): New function.
39061 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
39062 Remove `grub/machine/time.h' include.
39063 (grub_millisleep): New function.
39064 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
39065 Remove `grub/machine/time.h' include.
39066 (grub_millisleep): New function.
39067
39068 * include/grub/misc.h (grub_div_roundup): New function.
39069
39070 * kern/misc.c: Include `<grub/time.h>'.
39071 (grub_millisleep_generic): New function.
39072
39073 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
39074 Add `time.h'.
39075 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
39076 Add `time.h'.
39077 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
39078 `machine/time.h'. Add `time.h'.
39079 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
39080
a39a0312 390812007-10-21 Robert Millan <rmh@aybabtu.com>
39082
39083 * include/grub/misc.h (grub_max): New function.
39084
2aad70e2 390852007-10-21 Robert Millan <rmh@aybabtu.com>
39086
39087 * util/misc.c (grub_util_info): Call fflush() before returning.
39088
54b71c4b 390892007-10-20 Robert Millan <rmh@aybabtu.com>
39090
39091 * genmk.rb (Image): Copy `extra_flags' from here ...
39092 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
39093
39094 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
39095 to `argc' and `args' arguments.
39096
a979f513 390972007-10-17 Robert Millan <rmh@aybabtu.com>
39098
39099 * kern/i386/loader.S: New file.
39100
39101 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
39102 * kern/i386/loader.S (grub_linux_prot_size)... to here.
39103 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
39104 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
39105 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
39106 * kern/i386/loader.S (grub_linux_real_addr)... to here.
39107 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
39108 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
39109 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
39110 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
39111 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
39112 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
39113 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
39114 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
39115
39116 * kern/i386/realmode.S: New file.
39117
39118 * kern/i386/pc/startup.S (protstack): Moved from here ...
39119 * kern/i386/realmode.S (protstack)... to here.
39120 * kern/i386/pc/startup.S (gdt): Moved from here ...
39121 * kern/i386/realmode.S (gdt)... to here.
39122 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
39123 * kern/i386/realmode.S (prot_to_real)... to here.
39124
39125 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
39126 `kern/i386/realmode.S'.
39127
825fc8fd 391282007-10-17 Robert Millan <rmh@aybabtu.com>
39129
39130 * include/grub/i386/loader.h: New file.
39131
39132 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
39133 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
39134 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
39135 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
39136 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
39137 * include/grub/i386/loader.h (grub_linux_prot_size)
39138 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
39139 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
39140 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
39141 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
39142
39143 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
39144
e179b2f4 391452007-10-15 Robert Millan <rmh@aybabtu.com>
39146
39147 * normal/misc.c (grub_normal_print_device_info): Do not probe for
39148 filesystem when dev->disk is unset.
39149 Do probe for filesystem even when dev->disk->has_partitions is set.
39150 In case a filesystem is found, always report it.
39151 In case it isn't, if dev->disk->has_partitions is set, report that
39152 a partition table was found instead of reporting that no filesystem
39153 could be identified.
39154
5db82af6 391552007-10-12 Robert Millan <rmh@aybabtu.com>
39156
39157 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
39158 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
39159
68f6ac74 39160 * include/grub/types.h (grub_host_to_target16): New macro.
39161 (grub_host_to_target32): Likewise.
39162 (grub_host_to_target64): Likewise.
39163 (grub_target_to_host16): Likewise.
39164 (grub_target_to_host32): Likewise.
39165 (grub_target_to_host64): Likewise.
5db82af6 39166
39167 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
39168 Renamed from to ...
39169 (GRUB_MOD_ALIGN): ...this. Update all users.
39170
68f6ac74 39171 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
39172 grub_host_to_target32.
39173 Replace grub_be_to_cpu32 with grub_target_to_host32.
39174 (load_modules): Likewise.
39175 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
39176 Replace grub_be_to_cpu32 with grub_target_to_host32.
39177 Replace grub_cpu_to_be16 with grub_host_to_target16.
39178 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 39179
3cf497cc 391802007-10-12 Robert Millan <rmh@aybabtu.com>
39181
39182 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
39183 * util/elf/grub-mkimage.c: ... here.
39184
39185 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
39186 `util/powerpc/ieee1275/grub-mkimage.c'.
39187
c8cc3692 391882007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 39189
c8cc3692 39190 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
39191 and make it easier to figure out.
39192 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
39193 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
39194 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
39195 leave us with less than HEAP_MIN_SIZE total heap.
39196 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 39197
5c58b791 391982007-10-03 Robert Millan <rmh@aybabtu.com>
39199
39200 * include/grub/i386/io.h: New file.
39201 * commands/i386/pc/play.c (inb): Removed.
39202 (outb): Removed.
39203 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
39204 with grub_outb().
afcd2ef8 39205 * term/i386/pc/serial.c (inb): Removed.
39206 (outb): Removed.
39207 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
39208 with grub_outb().
39209 * term/i386/pc/vga.c (inb): Removed.
39210 (outb): Removed.
39211 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
39212 with grub_outb().
5c58b791 39213
1a477ed6 392142007-10-02 Robert Millan <rmh@aybabtu.com>
39215
39216 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
39217 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
39218 Reported by Marcin Kurek.
39219
6b5d80fa 392202007-09-07 Robert Millan <rmh@aybabtu.com>
39221
39222 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
39223 SmartFirmware version updates (as released by Sven Luther), and avoid
39224 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
39225 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
39226 known broken.
39227
5618afbf 392282007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
39229
39230 From Hitoshi Ozeki:
39231 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
39232 when merging two regions.
39233
6139dcd9 392342007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
39235
508e39ee 39236 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
39237 * normal/completion.c (grub_normal_do_completion): Likewise.
39238 Reported by Hitoshi Ozeki.
39239
392402007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 39241
6139dcd9 39242 Do not use devices at boot in chainloading.
f19dbdb7 39243
6139dcd9 39244 * loader/i386/pc/chainloader.c (boot_drive): New variable.
39245 (boot_part_addr): Likewise.
39246 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
39247 with BOOT_DRIVE and BOOT_PART_ADDR.
39248 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
39249 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
39250
38da6516 392512007-08-29 Robert Millan <rmh@aybabtu.com>
39252
39253 Patch from Simon Peter <dn.tlp@gmx.net>:
39254 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
39255 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
39256 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
39257 util/i386/pc/grub-setup.c_DEPENDENCIES.
39258 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
39259 util/grub-probe.c_DEPENDENCIES.
39260 * conf/powerpc-ieee1275.rmk: Likewise.
39261
29d0928c 392622007-08-28 Robert Millan <rmh@aybabtu.com>
39263
39264 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
39265 to tell grub-mkdevicemap how to name devices.
39266 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
39267 feature).
39268
39269 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
39270 util/i386/get_disk_name.c.
39271 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
39272 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
39273 util/ieee1275/get_disk_name.c.
39274
39275 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
39276
39277 * DISTLIST: Add util/i386/get_disk_name.c and
39278 util/ieee1275/get_disk_name.c.
39279
39280 * util/grub-mkdevicemap.c: Replace device naming logic with
39281 grub_util_get_disk_name() calls.
39282
5a0d3cca 392832007-08-20 Robert Millan <rmh@aybabtu.com>
39284
39285 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
39286 (so that it works for both plural and singular quantities).
39287
8b72db2f 392882007-08-05 Robert Millan <rmh@aybabtu.com>
39289
39290 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
39291 so that [xz] isn't taken into account when determining order.
39292
352466bf 392932007-08-02 Marco Gerards <marco@gnu.org>
39294
39295 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
39296 `include/multiboot2.h', `include/grub/elfload.h',
39297 `include/multiboot.h', `include/grub/multiboot.h',
39298 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
39299 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
39300 `kern/elf.c', `loader/multiboot_loader.c',
39301 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
39302 `loader/i386/pc/multiboot2.c',
39303 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
39304 `util/i386/pc/grub-mkrescue.in'. Remove
39305 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
39306 `include/grub/i386/pc/util/biosdisk.h' and
39307 `include/grub/powerpc/ieee1275/multiboot.h'.
39308
8f096014 393092007-08-02 Bean <bean123ch@gmail.com>
39310
39311 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
39312 (ntfs_mod_SOURCES): New variable.
39313 (ntfs_mod_CFLAGS): Likewise.
39314 (ntfs_mod_LDFLAGS): Likewise.
39315
39316 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
39317 (grub_probe_SOURCES): Likewise.
39318 (grub_emu_SOURCES): Likewise.
39319
39320 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
39321 (grub_emu_SOURCES): Likewise.
39322
39323 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
39324 (grub_emu_SOURCES): Likewise.
f19dbdb7 39325
8f096014 39326 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
39327
39328 * fs/ntfs.c: New file.
39329
9959f7db 393302007-08-02 Bean <bean123ch@gmail.com>
39331
39332 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
39333
39334 * file.h (grub_file): Likewise.
39335
39336 * fshelp.h (grub_fshelp_read_file): Likewise.
39337
39338 * util/i386/pc/grub-setup.c (setup): Likewise.
39339 (save_first_sector): Likewise.
39340 (save_blocklists): Likewise.
f19dbdb7 39341
9959f7db 39342 * fs/affs.c (grub_affs_read_file): Likewise.
39343
39344 * fs/ext2.c (grub_ext2_read_file): Likewise.
39345
39346 * fs/fat.c (grub_fat_read_data): Likewise.
39347
39348 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
39349
39350 * fs/hfs.c (grub_hfs_read_file): Likewise.
39351
39352 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
39353
39354 * fs/jfs.c (grub_jfs_read_file): Likewise.
39355
39356 * fs/minix.c (grub_minix_read_file): Likewise.
39357
39358 * fs/sfs.c (grub_sfs_read_file): Likewise.
39359
39360 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 39361
9959f7db 39362 * fs/xfs.c (grub_xfs_read_file): Likewise.
39363
39364 * command/blocklist.c (read_blocklist): Likewise.
39365 (print_blocklist): Likewise.
39366
0a203f83 393672007-08-02 Marco Gerards <marco@gnu.org>
39368
39369 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
39370 `util/hostfs.c'.
39371
39372 * disk/host.c: New file.
39373
39374 * util/hostfs.c: Likewise.
39375
39376 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
39377 return `GRUB_ERR_BAD_FS'.
39378 * fs/sfs.c (grub_sfs_mount): Likewise.
39379 * fs/xfs.c (grub_xfs_mount): Likewise.
39380
39381 * include/grub/disk.h (enum grub_disk_dev_id): Add
39382 `GRUB_DISK_DEVICE_HOST_ID'.
39383
39384 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
39385
e5dfe777 393862007-07-24 Jerone Young <jerone@gmail.com>
39387
f19dbdb7 39388 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 39389 modules for compilation.
39390 * conf/powerpc-ieee1275.rmk: Likewise.
39391
39392 * include/multiboot.h: Move multiboot definitions to one file. Rename
39393 many definitions to not get grub specific.
39394 * include/multiboot2.h: Create header with multiboot 2 definitions.
39395 * include/grub/multiboot.h: Header for grub specific function
39396 prototypes and definitions.
39397 * include/grub/multiboot2.h: Likewise.
39398 * include/grub/multiboot_loader.h: Likewise.
39399 * include/grub/i386/pc/multiboot.h: Removed.
39400 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
39401
39402 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
39403 and 2 to allow for one multiboot and module commands.
39404 * loader/multiboot2.c: Add multiboot2 functionality.
39405 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
39406 and definition names.
39407 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
39408 2 functions.
39409 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
39410 ieee1275 specific multiboot2 code.
39411
39412 * kern/i386/pc/startup.S: Change headers and definition names for
39413 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
39414
daf0f0ba 394152007-07-22 Robert Millan <rmh@aybabtu.com>
39416
39417 * geninitheader.sh: Process file specified in first parameter rather
39418 than hardcoding grub_modules_init.lst.
fe6b695a 39419 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 39420 than hardcoding grub_modules_init.h.
39421
39422 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
39423 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
39424 grub_probe_init.[ch] and grub_setup_init.[ch].
39425
39426 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
39427 grub_modules_init.h with grub_emu_init.h.
39428 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
39429 grub_probe_init.[ch] files.
39430 * conf/i386-efi.rmk: Likewise.
39431 * conf/i386-pc.rmk: Likewise.
39432 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
39433 grub_setup_init.[ch] files.
39434
39435 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
39436 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
39437 to initialize modules rather than a list of hardcoded functions.
39438 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
39439 grub_init_all() to initialize modules rather than a list of hardcoded
39440 functions.
39441
54cdc1cc 394422007-07-22 Robert Millan <rmh@aybabtu.com>
39443
39444 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
39445 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
39446
ad0686cc 394472007-07-22 Robert Millan <rmh@aybabtu.com>
39448
39449 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
39450 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
39451 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
39452 flag when running on SmartFirmware.
39453 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
39454 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
39455 was set.
39456
39457 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
39458 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
39459 rather than decreasing it.
39460
39461 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
39462 there's not enough space to do it, fail in the same way as when it
39463 can't be done because there are no partitions.
39464
39465 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
39466 when nvsetenv failed.
39467
969c02ec 394682007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
39469
39470 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
39471 because this rule is automatically generated.
39472 (grub-mkrescue): Removed for the same reason as above.
39473
5a79f472 394742007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
39475
39476 Migrate to GNU General Public License Version 3.
f19dbdb7 39477
5a79f472 39478 * COPYING: Replaced with the plain text version of GPLv3.
39479
39480 * config.guess: Updated from gnulib.
39481 * config.sub: Likewise.
39482
39483 * geninit.sh: Output a GPLv3 copyright notice.
39484 * geninitheader.sh: Likewise.
39485 * genmodsrc.sh: Likewise.
39486 * gensymlist.sh.in: Likewise.
39487
39488 * boot/i386/pc/boot.S: Upgraded to GPLv3.
39489 * boot/i386/pc/diskboot.S: Likewise.
39490 * boot/i386/pc/pxeboot.S: Likewise.
39491 * commands/blocklist.c: Likewise.
39492 * commands/boot.c: Likewise.
39493 * commands/cat.c: Likewise.
39494 * commands/cmp.c: Likewise.
39495 * commands/configfile.c: Likewise.
39496 * commands/echo.c: Likewise.
39497 * commands/help.c: Likewise.
39498 * commands/ls.c: Likewise.
39499 * commands/search.c: Likewise.
39500 * commands/terminal.c: Likewise.
39501 * commands/test.c: Likewise.
39502 * commands/videotest.c: Likewise.
39503 * commands/i386/cpuid.c: Likewise.
39504 * commands/i386/pc/halt.c: Likewise.
39505 * commands/i386/pc/play.c: Likewise.
39506 * commands/i386/pc/reboot.c: Likewise.
39507 * commands/i386/pc/vbeinfo.c: Likewise.
39508 * commands/i386/pc/vbetest.c: Likewise.
39509 * commands/ieee1275/halt.c: Likewise.
39510 * commands/ieee1275/reboot.c: Likewise.
39511 * commands/ieee1275/suspend.c: Likewise.
39512 * disk/loopback.c: Likewise.
39513 * disk/lvm.c: Likewise.
39514 * disk/raid.c: Likewise.
39515 * disk/efi/efidisk.c: Likewise.
39516 * disk/i386/pc/biosdisk.c: Likewise.
39517 * disk/ieee1275/ofdisk.c: Likewise.
39518 * font/manager.c: Likewise.
39519 * fs/affs.c: Likewise.
39520 * fs/ext2.c: Likewise.
39521 * fs/fat.c: Likewise.
39522 * fs/fshelp.c: Likewise.
39523 * fs/hfs.c: Likewise.
39524 * fs/hfsplus.c: Likewise.
39525 * fs/iso9660.c: Likewise.
39526 * fs/jfs.c: Likewise.
39527 * fs/minix.c: Likewise.
39528 * fs/sfs.c: Likewise.
39529 * fs/ufs.c: Likewise.
39530 * fs/xfs.c: Likewise.
39531 * hello/hello.c: Likewise.
39532 * include/grub/acorn_filecore.h: Likewise.
39533 * include/grub/arg.h: Likewise.
39534 * include/grub/bitmap.h: Likewise.
39535 * include/grub/boot.h: Likewise.
39536 * include/grub/cache.h: Likewise.
39537 * include/grub/device.h: Likewise.
39538 * include/grub/disk.h: Likewise.
39539 * include/grub/dl.h: Likewise.
39540 * include/grub/elfload.h: Likewise.
39541 * include/grub/env.h: Likewise.
39542 * include/grub/err.h: Likewise.
39543 * include/grub/file.h: Likewise.
39544 * include/grub/font.h: Likewise.
39545 * include/grub/fs.h: Likewise.
39546 * include/grub/fshelp.h: Likewise.
39547 * include/grub/gzio.h: Likewise.
39548 * include/grub/hfs.h: Likewise.
39549 * include/grub/kernel.h: Likewise.
39550 * include/grub/loader.h: Likewise.
39551 * include/grub/lvm.h: Likewise.
39552 * include/grub/misc.h: Likewise.
39553 * include/grub/mm.h: Likewise.
39554 * include/grub/net.h: Likewise.
39555 * include/grub/normal.h: Likewise.
39556 * include/grub/parser.h: Likewise.
39557 * include/grub/partition.h: Likewise.
39558 * include/grub/pc_partition.h: Likewise.
39559 * include/grub/raid.h: Likewise.
39560 * include/grub/rescue.h: Likewise.
39561 * include/grub/script.h: Likewise.
39562 * include/grub/setjmp.h: Likewise.
39563 * include/grub/symbol.h: Likewise.
39564 * include/grub/term.h: Likewise.
39565 * include/grub/terminfo.h: Likewise.
39566 * include/grub/tparm.h: Likewise.
39567 * include/grub/types.h: Likewise.
39568 * include/grub/video.h: Likewise.
39569 * include/grub/efi/api.h: Likewise.
39570 * include/grub/efi/chainloader.h: Likewise.
39571 * include/grub/efi/console.h: Likewise.
39572 * include/grub/efi/console_control.h: Likewise.
39573 * include/grub/efi/disk.h: Likewise.
39574 * include/grub/efi/efi.h: Likewise.
39575 * include/grub/efi/pe32.h: Likewise.
39576 * include/grub/efi/time.h: Likewise.
39577 * include/grub/i386/linux.h: Likewise.
39578 * include/grub/i386/setjmp.h: Likewise.
39579 * include/grub/i386/types.h: Likewise.
39580 * include/grub/i386/efi/kernel.h: Likewise.
39581 * include/grub/i386/efi/loader.h: Likewise.
39582 * include/grub/i386/efi/time.h: Likewise.
39583 * include/grub/i386/pc/biosdisk.h: Likewise.
39584 * include/grub/i386/pc/boot.h: Likewise.
39585 * include/grub/i386/pc/chainloader.h: Likewise.
39586 * include/grub/i386/pc/console.h: Likewise.
39587 * include/grub/i386/pc/init.h: Likewise.
39588 * include/grub/i386/pc/kernel.h: Likewise.
39589 * include/grub/i386/pc/loader.h: Likewise.
39590 * include/grub/i386/pc/memory.h: Likewise.
39591 * include/grub/i386/pc/multiboot.h: Likewise.
39592 * include/grub/i386/pc/serial.h: Likewise.
39593 * include/grub/i386/pc/time.h: Likewise.
39594 * include/grub/i386/pc/vbe.h: Likewise.
39595 * include/grub/i386/pc/vbeblit.h: Likewise.
39596 * include/grub/i386/pc/vbefill.h: Likewise.
39597 * include/grub/i386/pc/vbeutil.h: Likewise.
39598 * include/grub/i386/pc/vga.h: Likewise.
39599 * include/grub/ieee1275/ieee1275.h: Likewise.
39600 * include/grub/ieee1275/ofdisk.h: Likewise.
39601 * include/grub/powerpc/libgcc.h: Likewise.
39602 * include/grub/powerpc/setjmp.h: Likewise.
39603 * include/grub/powerpc/types.h: Likewise.
39604 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
39605 * include/grub/powerpc/ieee1275/console.h: Likewise.
39606 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
39607 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
39608 * include/grub/powerpc/ieee1275/loader.h: Likewise.
39609 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
39610 * include/grub/powerpc/ieee1275/time.h: Likewise.
39611 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
39612 * include/grub/sparc64/libgcc.h: Likewise.
39613 * include/grub/sparc64/setjmp.h: Likewise.
39614 * include/grub/sparc64/types.h: Likewise.
39615 * include/grub/sparc64/ieee1275/console.h: Likewise.
39616 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
39617 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
39618 * include/grub/sparc64/ieee1275/time.h: Likewise.
39619 * include/grub/util/biosdisk.h: Likewise.
39620 * include/grub/util/getroot.h: Likewise.
39621 * include/grub/util/lvm.h: Likewise.
39622 * include/grub/util/misc.h: Likewise.
39623 * include/grub/util/raid.h: Likewise.
39624 * include/grub/util/resolve.h: Likewise.
39625 * io/gzio.c: Likewise.
39626 * kern/device.c: Likewise.
39627 * kern/disk.c: Likewise.
39628 * kern/dl.c: Likewise.
39629 * kern/elf.c: Likewise.
39630 * kern/env.c: Likewise.
39631 * kern/err.c: Likewise.
39632 * kern/file.c: Likewise.
39633 * kern/fs.c: Likewise.
39634 * kern/loader.c: Likewise.
39635 * kern/main.c: Likewise.
39636 * kern/misc.c: Likewise.
39637 * kern/mm.c: Likewise.
39638 * kern/parser.c: Likewise.
39639 * kern/partition.c: Likewise.
39640 * kern/rescue.c: Likewise.
39641 * kern/term.c: Likewise.
39642 * kern/efi/efi.c: Likewise.
39643 * kern/efi/init.c: Likewise.
39644 * kern/efi/mm.c: Likewise.
39645 * kern/i386/dl.c: Likewise.
39646 * kern/i386/efi/init.c: Likewise.
39647 * kern/i386/efi/startup.S: Likewise.
39648 * kern/i386/pc/init.c: Likewise.
39649 * kern/i386/pc/lzo1x.S: Likewise.
39650 * kern/i386/pc/startup.S: Likewise.
39651 * kern/ieee1275/ieee1275.c: Likewise.
39652 * kern/powerpc/cache.S: Likewise.
39653 * kern/powerpc/dl.c: Likewise.
39654 * kern/powerpc/ieee1275/cmain.c: Likewise.
39655 * kern/powerpc/ieee1275/crt0.S: Likewise.
39656 * kern/powerpc/ieee1275/init.c: Likewise.
39657 * kern/powerpc/ieee1275/openfw.c: Likewise.
39658 * kern/sparc64/cache.S: Likewise.
39659 * kern/sparc64/dl.c: Likewise.
39660 * kern/sparc64/ieee1275/init.c: Likewise.
39661 * kern/sparc64/ieee1275/openfw.c: Likewise.
39662 * loader/efi/chainloader.c: Likewise.
39663 * loader/efi/chainloader_normal.c: Likewise.
39664 * loader/i386/efi/linux.c: Likewise.
39665 * loader/i386/efi/linux_normal.c: Likewise.
39666 * loader/i386/pc/chainloader.c: Likewise.
39667 * loader/i386/pc/chainloader_normal.c: Likewise.
39668 * loader/i386/pc/linux.c: Likewise.
39669 * loader/i386/pc/linux_normal.c: Likewise.
39670 * loader/i386/pc/multiboot.c: Likewise.
39671 * loader/i386/pc/multiboot_normal.c: Likewise.
39672 * loader/powerpc/ieee1275/linux.c: Likewise.
39673 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
39674 * normal/arg.c: Likewise.
39675 * normal/cmdline.c: Likewise.
39676 * normal/command.c: Likewise.
39677 * normal/completion.c: Likewise.
39678 * normal/execute.c: Likewise.
39679 * normal/function.c: Likewise.
39680 * normal/lexer.c: Likewise.
39681 * normal/main.c: Likewise.
39682 * normal/menu.c: Likewise.
39683 * normal/menu_entry.c: Likewise.
39684 * normal/misc.c: Likewise.
39685 * normal/parser.y: Likewise.
39686 * normal/script.c: Likewise.
39687 * normal/i386/setjmp.S: Likewise.
39688 * normal/powerpc/setjmp.S: Likewise.
39689 * normal/sparc64/setjmp.S: Likewise.
39690 * partmap/acorn.c: Likewise.
39691 * partmap/amiga.c: Likewise.
39692 * partmap/apple.c: Likewise.
39693 * partmap/gpt.c: Likewise.
39694 * partmap/pc.c: Likewise.
39695 * partmap/sun.c: Likewise.
39696 * term/gfxterm.c: Likewise.
39697 * term/terminfo.c: Likewise.
39698 * term/efi/console.c: Likewise.
39699 * term/i386/pc/console.c: Likewise.
39700 * term/i386/pc/serial.c: Likewise.
39701 * term/i386/pc/vesafb.c: Likewise.
39702 * term/i386/pc/vga.c: Likewise.
39703 * term/ieee1275/ofconsole.c: Likewise.
39704 * util/biosdisk.c: Likewise.
39705 * util/console.c: Likewise.
39706 * util/genmoddep.c: Likewise.
39707 * util/getroot.c: Likewise.
39708 * util/grub-emu.c: Likewise.
39709 * util/grub-mkdevicemap.c: Likewise.
39710 * util/grub-probe.c: Likewise.
39711 * util/lvm.c: Likewise.
39712 * util/misc.c: Likewise.
39713 * util/raid.c: Likewise.
39714 * util/resolve.c: Likewise.
39715 * util/update-grub.in: Likewise.
39716 * util/update-grub_lib.in: Likewise.
39717 * util/grub.d/00_header.in: Likewise.
39718 * util/grub.d/10_hurd.in: Likewise.
39719 * util/grub.d/10_linux.in: Likewise.
39720 * util/i386/efi/grub-install.in: Likewise.
39721 * util/i386/efi/grub-mkimage.c: Likewise.
39722 * util/i386/pc/grub-install.in: Likewise.
39723 * util/i386/pc/grub-mkimage.c: Likewise.
39724 * util/i386/pc/grub-mkrescue.in: Likewise.
39725 * util/i386/pc/grub-setup.c: Likewise.
39726 * util/i386/pc/misc.c: Likewise.
39727 * util/powerpc/ieee1275/grub-install.in: Likewise.
39728 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
39729 * util/powerpc/ieee1275/misc.c: Likewise.
39730 * video/bitmap.c: Likewise.
39731 * video/video.c: Likewise.
39732 * video/i386/pc/vbe.c: Likewise.
39733 * video/i386/pc/vbeblit.c: Likewise.
39734 * video/i386/pc/vbefill.c: Likewise.
39735 * video/i386/pc/vbeutil.c: Likewise.
39736 * video/readers/tga.c: Likewise.
39737
3572d015 397382007-07-02 Robert Millan <rmh@aybabtu.com>
39739
39740 * conf/i386-efi.rmk: Replace obsolete reference to
39741 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
39742 with util/getroot.c.
39743 * conf/powerpc-ieee1275.rmk: Likewise.
39744 * conf/sparc64-ieee1275.rmk: Likewise.
39745
39746 * util/grub-emu.c (main): Fix unchecked pointer handling.
39747
2c2a681b 397482007-07-02 Robert Millan <rmh@aybabtu.com>
39749
39750 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
39751 invocation to fail, in order to support partition-less media.
39752
39753 * util/i386/pc/grub-install.in: Likewise.
39754
39755 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
39756 which fs or partmap modules are needed (akin to its sister scripts).
39757
39758 Also use grub-probe to get rid of unportable /proc/mounts check.
39759
39760 Print the same informational message that the other scripts do, before
fe6b695a 39761 exiting.
2c2a681b 39762
6193defe 397632007-06-23 Robert Millan <rmh@aybabtu.com>
39764
fe6b695a 39765 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 39766 a font file can be found and, if so, echo the GRUB path to it.
39767
39768 * util/update-grub.in: Handle multiple terminals depending on user
39769 input, platform availability and font file presence. Propagate
39770 variables of our findings to /etc/grub.d/ children.
39771
39772 * util/grub.d/00_header.in: Handle multiple terminals, based on
39773 environment setup by update-grub.
39774
eface1dc 397752007-06-23 Robert Millan <rmh@aybabtu.com>
39776
ba50d28f 39777 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 39778
bf697e28 397792007-06-21 Robert Millan <rmh@aybabtu.com>
39780
39781 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
39782 indicate end of data section in kernel image.
39783 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
39784 GRUB_KERNEL_MACHINE_DATA_END.
39785
39786 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
39787 space for it.
39788 * kern/i386/efi/startup.S: Likewise.
39789
39790 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
39791 during image generation. Implement --prefix option to override this
39792 patch.
39793 * util/i386/efi/grub-mkimage.c: Likewise.
39794
39795 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
39796 code to make path relative to its root into a separate function.
39797
39798 * util/i386/pc/grub-install.in: Use newly provided
39799 make_system_path_relative_to_its_root() to convert ${grubdir}, then
39800 pass the result to grub-install --prefix.
39801
baa574b4 398022007-06-13 Robert Millan <rmh@aybabtu.com>
39803
39804 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
39805 DEFAULT_DEVICE_MAP.
39806 * util/grub-emu.c: Use above definitions from misc.h instead of
39807 defining them.
39808 * util/grub-mkdevicemap.c: Likewise.
39809 * util/i386/pc/grub-setup.c: Likewise.
39810 * util/grub-probe.c: Likewise.
39811 (probe): Abort with grub_util_error() when either
39812 grub_guess_root_device or grub_util_get_grub_dev fails.
39813
0215dcbf 398142007-06-12 Robert Millan <rmh@aybabtu.com>
39815
39816 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
39817 "pager" assignment.
39818 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
39819 "pcdata".
39820 * util/grub-probe.c (probe): Likewise for "drive_name".
39821
8af2ab7b 398222007-06-11 Robert Millan <rmh@aybabtu.com>
39823
39824 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
39825 not just the cdrom one.
39826
59d31694 398272007-06-11 Robert Millan <rmh@aybabtu.com>
39828
39829 * util/i386/pc/grub-mkrescue.in: Add "set -e".
39830 Add --pkglibdir=DIR option to override pkglibdir.
39831 Mention --image-type=TYPE in help output.
39832 Fix --grub-mkimage (it was a no-op).
fe6b695a 39833 Abort gracefully when no parameter is given.
59d31694 39834
7ee367e4 398352007-06-11 Robert Millan <rmh@aybabtu.com>
39836
39837 * util/i386/pc/grub-mkrescue.in: New file.
39838 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
39839 * Makefile.in: Handle bin_SCRIPTS.
39840
29b0ed46 398412007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
39842
39843 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
39844 list of video modes.
39845
c0f90770 398462007-06-06 Robert Millan <rmh@aybabtu.com>
39847
39848 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
39849 file doesn't exist, or if it is in a filesystem grub can't read.
39850
39851 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
39852 not abort if GRUB_DRIVE could not be defined. Rearrange generated
39853 header comment to fit in 80 columns when the variables are resolved.
39854
39855 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
39856 could be identified by update-grub. Remove redundant check for
fe6b695a 39857 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 39858 handles that).
39859
fb36dc26 398602007-06-04 Robert Millan <rmh@aybabtu.com>
39861
39862 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
39863
39864 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
39865
39866 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
39867
0c68c93e 398682007-06-04 Robert Millan <rmh@aybabtu.com>
39869
39870 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
39871
39872 * include/grub/partition.h: Declare grub_apple_partition_map_init and
39873 grub_apple_partition_map_fini.
39874
39875 * util/biosdisk.c
39876 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
39877 to access >2 TiB disks).
39878
39879 Print disk->total_sectors with %llu instead of %lu, since this
39880 variable is always 64-bit (prevents wrong disk size from being displayed
39881 on either >2 TiB disk or big-endian CPU).
39882
39883 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
39884 into a generic case that supports all (sane) partition maps.
39885
39886 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
39887 breaks big-endian.
39888
39889 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
39890 and grub_apple_partition_map_fini() after that.
39891
0f23eb74 398922007-06-01 Robert Millan <rmh@aybabtu.com>
39893
39894 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
39895
39896 * util/grub.d/00_header.in: Only enable gfxterm when
39897 convert_system_path_to_grub_path() succeeds.
39898
42c71976 398992007-05-20 Robert Millan <rmh@aybabtu.com>
39900
39901 * util/update-grub_lib.in: New file.
39902 * DISTLIST: Add update-grub_lib.in.
39903 * conf/common.rmk: Generate update-grub_lib and install it in
39904 $(lib_DATA).
39905 * Makefile.in: Add install routine for $(lib_DATA).
39906
39907 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
39908 function provided by update-grub_lib to support arbitrary paths of
39909 unifont.pff.
39910 * util/update-grub.in: Use convert_system_path_to_grub_path() to
39911 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
39912
5beb2291 399132007-05-19 Robert Millan <rmh@aybabtu.com>
39914
39915 * commands/i386/cpuid.c: New module.
39916 * DISTLIST: Add it.
39917 * conf/i386-efi.rmk: Enable cpuid.mod.
39918 * conf/i386-pc.rmk: Likewise.
39919
7262eca1 399202007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
39921
39922 * kern/disk.c (grub_disk_read): Check return value of
39923 grub_realloc().
39924
260ba823 399252007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
39926
39927 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
39928 arrays.
39929 * disk/raid.c (grub_raid_open): Likewise.
39930
1ecb6cf2 399312007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
39932
39933 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
39934 stack instead of on the heap.
39935
39936 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
39937 before doing a read on it.
39938
39939 * configure.ac: Only use -fno-stack-protector for the target
39940 environment.
f19dbdb7 39941
21c8cbb1 399422007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
39943
39944 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
39945 __attribute_ ((unused)) to mode_type argument.
39946
39947 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 39948
21c8cbb1 39949 * kern/misc.c (memcmp): Fix prototype.
39950
39951 * include/grub/partition.h [GRUB_UTIL]
39952 (grub_gpt_partition_map_init): Add prototype.
39953 (grub_gpt_partition_map_fini): Likewise.
39954
39955 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
39956 at the right place.
39957
39958 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
39959 (grub_fat_read_data): Likewise.
39960 (grub_fat_find_dir): Likewise.
39961
39962 * font/manager.c (find_glyph): Make table a const.
39963 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 39964
849d55d3 399652007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
39966
39967 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
39968 code, first search for device in /dev/mapper, then in /dev.
39969 (grub_util_get_grub_dev): New function.
39970 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
39971 prototype.
39972 * util/grub-probe.c (probe): Remove check for RAID, call
39973 grub_util_get_grub_dev() instead of
39974 grub_util_biosdisk_get_grub_dev().
39975 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
39976 grub_util_biosdisk_get_grub_dev().
39977 * util/i386/pc/grub-setup.c (main): Likewise.
39978
8fff7c2f 399792007-05-16 Robert Millan <rmh@aybabtu.com>
39980
39981 * DISTLIST: Update for the latest changes.
39982 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
39983 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
39984 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
39985 grub/util/biosdisk.h.
39986 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
39987 grub/util/biosdisk.h.
39988
48e12b52 399892007-05-16 Robert Millan <rmh@aybabtu.com>
39990
39991 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
39992
46b9d128 399932007-05-16 Robert Millan <rmh@aybabtu.com>
39994
39995 * util/i386/efi/grub-install.in: New.
39996 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
39997 newly added grub-install.
39998 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
39999 include.
40000 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
40001 grub/util/biosdisk.h.
40002 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
40003 grub/util/biosdisk.h.
40004
2d1a40a9 400052007-05-16 Robert Millan <rmh@aybabtu.com>
40006
40007 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
40008 * include/grub/util/biosdisk.h: ... here.
40009 * util/i386/pc/biosdisk.c: Moved to ...
40010 * util/biosdisk.c: ... here.
40011 * util/i386/pc/getroot.c: Moved to ...
40012 * util/getroot.c: ... here.
40013 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
40014 * util/grub-mkdevicemap.c: ... here.
40015 * util/i386/pc/grub-probe.c: Moved to ...
40016 * util/grub-probe.c: ... here.
40017
9e26e3bc 400182007-05-15 Robert Millan <rmh@aybabtu.com>
40019
40020 * util/update-grub.in: Remove duplicated line in grub.cfg header
40021 message.
40022
57f96397 400232007-05-13 Robert Millan <rmh@aybabtu.com>
40024
40025 * util/update-grub.in: Fix a few assumptions about the devices holding
40026 /, /boot and /boot/grub being the same.
40027 * util/grub.d/00_header.in: Likewise.
40028 * util/grub.d/10_hurd.in: Likewise.
40029 * util/grub.d/10_linux.in: Likewise.
40030
40031 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
40032 patterns. Use that to define the `.old' suffix as older than `'.
40033
40034 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
40035
40036 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
40037 the grub.cfg header message.
40038
2e610d62 400392007-05-11 Robert Millan <rmh@aybabtu.com>
40040
40041 * util/update-grub.in: Create device.map if it doesn't already exist,
40042 before attempting to run grub-probe.
40043 Check for grub-probe and grub-mkdevicemap with the same code
40044 grub-install is using.
40045 Remove test mode.
40046
3f6a10ef 400472007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
40048
40049 * Makefile.in: Add the datarootdir autoconf variable.
40050
02e7b75e 400512007-05-09 Robert Millan <rmh@aybabtu.com>
40052
40053 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 40054 fail gracefully if dev->disk->partition == NULL.
02e7b75e 40055
75f396cc 400562007-05-07 Robert Millan <rmh@aybabtu.com>
40057
40058 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
40059 determine partition map module.
40060 * util/i386/pc/grub-install.in: Use this feature to decide which
40061 partition module to load, instead of hardcoding pc and gpt.
40062
da65cb36 400632007-05-07 Robert Millan <rmh@aybabtu.com>
40064
40065 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
40066 source directory differs from build directory.
40067
b57d6a91 400682007-05-05 Robert Millan <rmh@aybabtu.com>
40069
40070 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
40071 initialisation.
40072
509d00f1 400732007-05-05 Robert Millan <rmh@aybabtu.com>
40074
40075 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
40076
c48f23ef 400772007-05-05 Robert Millan <rmh@aybabtu.com>
40078
40079 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
40080 command-line arguments via ${GRUB_CMDLINE_LINUX}.
40081
20b97658 400822007-05-05 Robert Millan <rmh@aybabtu.com>
40083
40084 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
40085 (grub_probe_SOURCES): Likewise.
40086 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
40087 GPT and initialize dos_part and bsd_part accordingly.
40088 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
40089 install_bsd_part.
40090 (main): Activate gpt module for use during partition identification,
40091 and deactivate it afterwards.
40092 * util/i386/pc/grub-install.in: Add gpt module to core.img.
40093 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
40094 partition identification, and deactivate it afterwards.
40095
99123174 400962007-05-05 Robert Millan <rmh@aybabtu.com>
40097
40098 * term/i386/pc/console.c (grub_console_fini): Call
40099 grub_term_set_current() before grub_term_unregister().
40100
ebd97f6e 401012007-05-04 Robert Millan <rmh@aybabtu.com>
40102
40103 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
40104 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
40105 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
40106 and update-grub_DATA.
40107 * conf/common.rmk: Build and install update-grub components.
40108 * conf/common.mk: Regenerate.
40109 * util/update-grub.in: New. Core of update-grub.
40110 * util/grub.d/00_header.in: New. Generates grub.cfg header.
40111 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
40112 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
40113 * util/grub.d/README: New. Document grub.d directory layout.
40114
b06a264d 401152007-05-01 Robert Millan <rmh@aybabtu.com>
40116
40117 * util/grub-emu.c: Move initialization functions
40118 grub_util_biosdisk_init() and grub_init_all() before
40119 grub_util_biosdisk_get_grub_dev(), which relies on them.
40120
41f0050e 401212007-04-19 Robert Millan <rmh@aybabtu.com>
40122
40123 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
40124 it is used later.
40125
04582bb3 401262007-04-18 Jerone Young <jerone@gmail.com>
40127
f19dbdb7 40128 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 40129 stanza.
40130
08db4632 401312007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 40132
08db4632 40133 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
40134 continue on and look for device node with real device name.
40135
801b76be 401362007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 40137
fe6b695a 40138 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 40139 ability.
40140 * Makefile.in: Add autoconf package transformation code.
40141 * util/i386/pc/grub-install.in: Likewise.
40142 * util/powerpc/ieee1275/grub-install.in: Likewise.
40143
6795c4e1 401442007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
40145
40146 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
40147 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
40148 (EXT2_REVISION): Likewise.
40149 (EXT2_INODE_SIZE): Likewise.
40150 (struct grub_ext2_block_group): Added a missing member
40151 "used_dirs".
40152 (grub_ext2_read_inode): Divide by the inode size in a superblock
40153 instead of 128 to obtain INODES_PER_BLOCK.
40154 Use the macro EXT2_INODE_SIZE instead of directly using
40155 SBLOCK->INODE_SIZE.
40156
d70af616 401572007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
40158
40159 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
40160 superblock instead of the structure size to compute an
40161 offset. This fixes the problem that GRUB could not read a
40162 filesystem when inode size is different from 128-byte.
40163
3b801603 401642007-03-05 Marco Gerards <marco@gnu.org>
40165
40166 * normal/main.c (read_config_file): When "menu" is not set, create
40167 an initial context.
40168
4785bfe4 401692007-02-21 Hollis Blanchard <hollis@penguinppc.org>
40170
40171 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
40172 (HEAP_LIMIT): New macro.
40173 (grub_claim_heap): Claim memory up to `heaplimit'.
40174
a0cbb023 401752007-02-21 Hollis Blanchard <hollis@penguinppc.org>
40176
40177 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
40178 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
40179 (_start): Likewise.
40180 (grub_arch_modules_addr): Return address after `_end'.
40181 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
40182 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
40183 (add_segments): Calculate `_end' from phdr size and location.
40184 (ALIGN_UP): Moved to ...
40185 * include/grub/misc.h: here.
40186 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
40187 New macro.
40188 (GRUB_IEEE1275_MODULE_BASE): Removed.
40189
fd7d8eba 401902007-02-20 Hollis Blanchard <hollis@penguinppc.org>
40191
40192 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
40193 loop boundary.
40194
9b09e6fc 401952007-02-20 Hollis Blanchard <hollis@penguinppc.org>
40196
40197 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
40198 All users updated.
40199 (grub_elf64_load_hook_t): Likewise.
40200 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
40201 debug output.
40202
3ce27299 402032007-02-20 Hollis Blanchard <hollis@penguinppc.org>
40204
40205 * kern/mm.c: Update copyright.
40206 (grub_mm_debug): Correct syntax error.
40207 (grub_mm_dump_free): New function.
40208 (grub_debug_free): Call `grub_free'.
40209 * include/grub/mm.h: Update copyright.
40210 (grub_mm_dump_free): Add declaration.
40211
077d5fee 402122007-02-12 Hollis Blanchard <hollis@penguinppc.org>
40213
40214 * include/grub/ieee1275/ieee1275.h: Update copyright.
40215 * kern/powerpc/ieee1275/init.c: Likewise.
40216 * kern/powerpc/ieee1275/openfw.c: Likewise.
40217
40218 * loader/powerpc/ieee1275/linux.c: Likewise.
40219 * include/grub/elfload.h: Likewise.
40220 * kern/elf.c: Likewise.
40221 (grub_elf32_load): Pass `base' and `size' parameters. Update all
40222 callers.
40223 (grub_elf64_load): Likewise.
40224 (grub_elf32_load_segment): Move to a nested function.
40225 (grub_elf64_load_segment): Likewise.
40226
dc946850 402272007-02-12 Hollis Blanchard <hollis@penguinppc.org>
40228
40229 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
40230 prototype.
40231 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
40232 (grub_heap_len): Likewise.
40233 (HEAP_SIZE): New macro.
40234 (grub_claim_heap): New function.
40235 (grub_machine_init): Don't claim heap directly. Call
40236 `grub_claim_heap'.
40237 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
40238 (grub_available_iterate): New function.
40239
baa2a121 402402007-02-03 Thomas Schwinge <tschwinge@gnu.org>
40241
40242 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
40243 * configure.ac: Use it for testing the HOST and TARGET compilers.
40244
4fe9862e 402452006-12-13 Thomas Schwinge <tschwinge@gnu.org>
40246
40247 * Makefile.in (enable_grub_emu): New variable.
40248 * configure.ac (--enable-grub-emu): New option.
40249 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
40250 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
40251 * conf/i386-pc.rmk: Likewise.
40252 * conf/powerpc-ieee1275.rmk: Likewise.
40253 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
40254
a8aa5762 402552006-12-12 Marco Gerards <marco@gnu.org>
40256
40257 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
40258
40259 * kern/env.c (grub_env_unset): Don't free the member `value' when
40260 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
40261 pointer.
40262
40263 * normal/main.c (current_menu): Removed.
40264 (free_menu): Unset the `menu' environment variable.
40265 (grub_normal_menu_addentry): Make use of the environment variable
40266 `menu', instead of using the global `current_menu'. Allocate
40267 memory for the sourcecode of this entry.
40268 (read_config_file): New argument `nested', changed all callers.
40269 Only in the case of a new context, initialize a new menu. Set the
40270 `menu' environment variable.
40271 (grub_normal_execute): Don't set and unset the environment
40272 variable `menu' here anymore. Only free the menu when leaving the
40273 context.
40274
40275 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
40276 leak.
40277
957b3a3e 402782006-12-11 Marco Gerards <marco@gnu.org>
40279
40280 * normal/menu_entry.c (run): Fix off by one bug so the last line
40281 is executed. Move the loader check to outside the loop.
40282
ef875714 402832006-12-08 Hollis Blanchard <hollis@penguinppc.org>
40284
40285 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
40286
4e739985 402872006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
40288
40289 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
40290 the number of sectors. Reported by Andrey Shuvikov
40291 <mr_hyro@yahoo.com>.
f19dbdb7 40292
790707f2 402932006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
40294
40295 * kern/disk.c (grub_disk_read): When there is a read error, always
40296 try to read only the necessary data.
f19dbdb7 40297
790707f2 40298 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
40299 disk/raid.c.
40300 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
40301 prototype.
40302 [GRUB_UTIL] (grub_raid_fini): Likewise.
40303 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 40304 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 40305 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
40306 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
40307 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
40308 and grub_raid_fini().
f19dbdb7 40309
03e58196 403102006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
40311
40312 * include/grub/types.h (__unused): Rename to UNUSED.
40313 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
40314 (grub_elf64_size): Likewise.
f19dbdb7 40315
ae4f23bf 403162006-11-03 Hollis Blanchard <hollis@penguinppc.org>
40317
40318 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
40319 grub_error_push and grub_error_pop in the error-handling path.
40320 (grub_elf32_load_segment): Only call grub_file_read with non-zero
40321 length.
40322
2166cc83 403232006-11-03 Hollis Blanchard <hollis@penguinppc.org>
40324
40325 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
40326 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
40327 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
40328 (kernel_elf_SOURCES): Likewise.
40329 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
40330 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
40331 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
40332 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
40333 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
40334 (elf_mod_SOURCES): New variable.
40335 (elf_mod_CFLAGS): Likewise.
40336 (elf_mod_LDFLAGS): Likewise.
40337 * include/grub/types.h (__unused): New macro.
40338 * include/grub/elfload.h: New file.
40339 * kern/elf.c: Likewise.
40340 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
40341 (ELF32_LOADMASK): New macro.
40342 (ELF64_LOADMASK): Likewise.
40343 (vmlinux): Removed.
40344 (grub_linux_load32): New function.
40345 (grub_linux_load64): Likewise.
40346 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
40347 Use grub_elf_t instead of grub_file_t.
40348
a09d5aa5 403492006-11-02 Hollis Blanchard <hollis@penguinppc.org>
40350
40351 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
40352 `catch_result' to struct set_color_args.
40353
d976fc51 403542006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
40355
40356 * normal/menu.c: Include grub/script.h.
40357 * normal/menu_entry.c: Likewise.
40358 * include/grub/normal.h: Do not include grub/script.h.
40359
67507549 403602006-10-27 Hollis Blanchard <hollis@penguinppc.org>
40361
40362 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
40363
69203a99 403642006-10-27 Hollis Blanchard <hollis@penguinppc.org>
40365
40366 * kern/disk.c (grub_disk_open): Print debug messages when opening a
40367 disk.
40368 (grub_disk_close): Print debug messages when closing a disk.
40369 (grub_disk_read): Print debug messages when disk read fails.
40370 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
40371 filesystem type.
40372 * kern/partition.c: Include misc.h.
40373 (grub_partition_iterate): Print debug messages when detecting
40374 partition type.
40375
e2b8278c 403762006-10-27 Hollis Blanchard <hollis@penguinppc.org>
40377
40378 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
40379 is negative.
40380 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
40381
97b2f2ff 403822006-10-26 Hollis Blanchard <hollis@penguinppc.org>
40383
40384 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
40385 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
40386
6555d655 403872006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
40388
40389 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
40390 instead of sizeof(lv). Patch by Michael Guntsche.
40391
4d42b77f 403922006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
40393
40394 * disk/lvm.c: Rename VGS to VG_LIST.
40395 (grub_lvm_iterate): Change VGS->LV to VG-LV.
40396 (grub_lvm_open): Likewise.
40397 Thanks to Michael Guntsche for finding this bug.
40398
5d74d927 403992006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
40400
40401 * configure.ac (AC_INIT): Bumped to 1.95.
40402
a1bb27e4 404032006-10-14 Robert Millan <rmh@aybabtu.com>
40404
40405 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
40406 with "/dev/.static/dev/md".
40407
e0994b8b 404082006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
40409
40410 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
40411 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
40412 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
40413 DRIVE_NAME are always freed.
40414
40415 * util/i386/pc/biosdisk.c (make_device_name): Add one into
40416 DOS_PART, as a DOS partition is counted from one instead of zero
40417 now. Reported by Robert Millan.
40418
ddd5cee9 404192006-10-14 Robert Millan <rmh@aybabtu.com>
40420
40421 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
40422 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
40423 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
40424 string returned by grub_guess_root_device.
40425 * util/i386/pc/grub-setup.c: Likewise.
40426 * util/i386/pc/grub-probefs.c: Likewise.
40427
40428 * util/i386/pc/grub-probefs.c: Rename to ...
40429 * util/i386/pc/grub-probe.c: ... this.
40430 * DISTLIST: Remove grub-probefs, add grub-probe.
40431 * conf/i386-efi.rmk: Likewise.
40432 * conf/i386-pc.rmk: Likewise.
40433 * util/i386/pc/grub-install.in: Likewise.
40434
40435 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
40436 choose which information we want to print.
40437
2b002173 404382006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
40439
40440 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
40441 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
40442 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
40443 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
40444 video/readers/tga.c and video/i386/pc/vbeutil.c.
40445
404462006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
40447
40448 Added support for RAID and LVM.
f19dbdb7 40449
2b002173 40450 * disk/lvm.c: New file.
40451 * disk/raid.c: Likewise.
40452 * include/grub/lvm.h: Likewise.
f19dbdb7 40453 * include/grub/raid.h: Likewise.
2b002173 40454 * include/grub/util/lvm.h: Likewise.
40455 * include/grub/util/raid.h: Likewise.
40456 * util/lvm.c: Likewise.
40457 * util/raid.c: Likewise.
40458
40459 * include/grub/disk.h (grub_disk_dev_id): Add
40460 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
40461 (grub_disk_get_size): New prototype.
40462 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
40463 returns a partition.
40464 (grub_disk_get_size): New function.
f19dbdb7 40465
2b002173 40466 * kern/i386/pc/init.c (make_install_device): Copy the prefix
40467 verbatim if grub_install_dos_part is -2.
40468
40469 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
40470 and LVM devices.
40471
40472 * util/i386/pc/grub-setup.c (setup): New argument
40473 MUST_EMBED. Force embedding of GRUB when the argument is
40474 true. Close FILE before returning.
40475 (main): Add support for RAID and LVM.
f19dbdb7 40476
2b002173 40477 * conf/common.rmk: Add RAID and LVM modules.
40478 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
40479 util/lvm.c.
40480 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
40481
40482 * kern/misc.c (grub_strstr): New function.
40483 * include/grub/misc.h (grub_strstr): New prototype.
40484
050548d0 404852006-10-10 Tristan Gingold <tristan.gingold@bull.net>
40486
40487 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
40488
da849d2d 404892006-10-05 Tristan Gingold <tristan.gingold@bull.net>
40490
40491 * kern/misc.c (grub_strtoull): Guess the base only if not
40492 specified.
40493
97b2f2ff 404942006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 40495
40496 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
40497 PowerMac support.
40498
97b2f2ff 404992006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 40500
40501 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
40502
40503 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
40504 Remove `flags' argument. All callers changed.
40505 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
40506 (IEEE1275_IHANDLE_INVALID): New variable.
40507 (IEEE1275_CELL_INVALID): New variable.
40508 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
40509 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
40510 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
40511 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
40512 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
40513 codes from Open Firmware. All callers updated.
40514 (grub_ieee1275_next_property): Directly return Open Firmware return
40515 code.
40516 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
40517 Standardize error checking from `grub_ieee1275_get_property'.
40518 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
40519 `devalias' to `aliases'. Correct comments. Consolidate error paths.
40520
97b2f2ff 405212006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 40522
40523 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
40524 `instance_to_package_args' to `instance_to_path_args'.
40525
40526 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
40527 `grub_ieee1275_chosen'.
40528
40529 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
40530 `grub_ieee1275_interpret'.
40531
97b2f2ff 405322006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 40533
40534 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
40535
97b2f2ff 405362006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 40537
40538 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
40539 (__cmpdi): Likewise.
40540
40541 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
40542 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
40543 `grub_ssize_t'.
40544
02bb8acc 40545 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 40546
40547 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
40548 to type `grub_ssize_t'.
40549 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
40550
7f9a8531 405512006-09-22 Marco Gerards <marco@gnu.org>
40552
40553 * normal/script.c (grub_script_create_cmdmenu): Skip leading
40554 newlines.
40555
b5ef1102 405562006-09-22 Marco Gerards <marco@gnu.org>
40557
40558 * commands/echo.c: New file.
40559
40560 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
40561
40562 * conf/common.rmk (echo_mod_SOURCES): New variable.
40563 (echo_mod_CFLAGS): Likewise.
40564 (echo_mod_LDFLAGS): Likewise.
40565
2cff3677 405662006-09-22 Marco Gerards <marco@gnu.org>
40567
40568 * normal/main.c (get_line): Malloc memory instead of using
40569 preallocated memory. Removed the arguments `cmdline' and
40570 `max_len'. Updated all callers.
40571
6ba4688b 405722006-09-22 Marco Gerards <marco@gnu.org>
40573
40574 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
40575 (normal_mod_DEPENDENCIES): Likewise.
40576
40577 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
40578 (normal_mod_DEPENDENCIES): Likewise.
40579
40580 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
40581
e02ac02c 405822006-09-22 Johan Rydberg <jrydberg@gnu.org>
40583
40584 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
40585 programs.
40586 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
40587 (normal_mod_DEPENDENCIES): Likewise.
40588 * conf/i386-pc.mk: Regenerate.
40589 * conf/i386-efi.mk: Likewise
40590 * conf/common.mk: Likewise.
40591 * conf/powerpc-ieee1275.mk: Likewise.
40592 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 40593
8d252e44 405942006-09-22 Robert Millan <rmh@aybabtu.com>
40595
40596 Sync with i386 version.
40597 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
40598 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
40599
209bf7ac 406002006-09-21 Robert Millan <rmh@aybabtu.com>
40601
40602 Import from GRUB Legacy (lib/device.c):
40603 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
40604 (init_device_map) [__linux__]: Add support for I2O devices.
40605
6b146090 406062006-09-14 Marco Gerards <marco@gnu.org>
40607
40608 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
40609 `-melf_i386'.
40610
e38600a8 406112006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 40612
40613 * util/i386/pc/grub-install.in: Skip menu.lst when removing
40614 /boot/grub/*.lst.
78fa1790 40615
2952da5d 40616 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 40617
2952da5d 40618 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
40619 before adding it to device.map.
40620
01b82a64 406212006-08-15 Johan Rydberg <jrydberg@gnu.org>
40622
fe6b695a 40623 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 40624 compiles a file; using the -MD option.
40625 * conf/common.mk: Regenerate.
40626 * conf/i386-pc.mk: Likewise.
40627 * conf/i386-efi.mk: Likewise.
40628 * conf/powerpc-ieee1275.mk: Likewise.
40629 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 40630
1064790d 406312006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
40632
40633 Move the prototypes of grub_setjmp and grub_longjmp to
40634 cpu/setjmp.h, so that each architecture may specify different
40635 attributes.
f19dbdb7 40636
1064790d 40637 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
40638 (grub_longjmp): Likewise.
40639 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
40640 (grub_longjmp): Likewise.
40641 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
40642 (grub_longjmp): Likewise.
40643
40644 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
40645 [!GRUB_UTIL] (grub_longjmp): Removed.
40646
29dda3ed 406472006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
40648
40649 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
40650 "color!" method does not return any value.
40651
ad2a06ed 406522006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
40653
40654 * include/grub/bitmap.h: New file.
40655
40656 * include/grub/i386/pc/vbeutil.h: Likewise.
40657
40658 * video/bitmap.c: Likewise.
40659
40660 * video/readers/tga.c: Likewise.
40661
40662 * video/i386/pc/vbeutil.c: Likewise.
40663
40664 * commands/videotest.c: Code cleanup and updated to reflect to new
40665 video API.
40666
40667 * term/gfxterm.c: Likewise.
40668
40669 * video/video.c: Likewise.
40670
40671 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
40672 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
40673 (bitmap_mod_SOURCES): New entry.
40674 (bitmap_mod_CFLAGS): Likewise.
40675 (bitmap_mod_LDFLAGS): Likewise.
40676 (tga_mod_SOURCES): Likewise.
40677 (tga_mod_CFLAGS): Likewise.
40678 (tga_mod_LDFLAGS): Likewise.
40679
40680 * include/grub/video.h (grub_video_blit_operators): New enum type.
40681 (grub_video_render_target): Changed as forward declaration and moved
40682 actual definition to be video driver specific.
40683 (grub_video_adapter.blit_bitmap): Added blitting operator.
40684 (grub_video_adapter.blit_render_target): Likewise.
40685 (grub_video_blit_bitmap): Likewise.
40686 (grub_video_blit_render_target): Likewise.
40687
40688 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
40689 driver specific render target definition.
40690 (grub_video_vbe_map_rgba): Added driver internal helper.
40691 (grub_video_vbe_unmap_color): Updated to use
40692 grub_video_i386_vbeblit_info.
40693 (grub_video_vbe_get_video_ptr): Likewise.
40694
40695 * include/grub/i386/pc/vbeblit.h
40696 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
40697 grub_video_i386_vbeblit_info.
40698 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
40699 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
40700 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
40701 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
40702 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
40703 (grub_video_i386_vbeblit_index_index): Likewise.
40704 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
40705 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
40706 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
40707 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
40708 operator.
40709 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
40710 operator.
40711
40712 * video/i386/pc/vbeblit.c: Updated to reflect changes on
40713 include/grub/i386/pc/vbeblit.h.
40714
40715 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
40716 Updated to use grub_video_i386_vbeblit_info.
40717 (grub_video_i386_vbefill_R8G8B8): Likewise.
40718 (grub_video_i386_vbefill_index): Likewise.
40719 (grub_video_i386_vbefill): Added generic filler.
40720
40721 * video/i386/pc/vbefill.c: Updated to reflect changes on
40722 include/grub/i386/pc/vbefill.h.
40723
40724 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
40725 grub_video_i386_vbeblit_info.
40726 (grub_video_vbe_unmap_color): Likewise.
40727 (grub_video_vbe_blit_glyph): Likewise.
40728 (grub_video_vbe_scroll): Likewise.
40729 (grub_video_vbe_draw_pixel): Removed function.
40730 (grub_video_vbe_get_pixel): Likewise.
40731 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
40732 updated code to use it.
40733 (common_blitter): Added common blitter for render target and bitmap.
40734 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
40735 (grub_video_vbe_blit_render_target): Likewise.
40736
bc8c036d 407372006-07-30 Johan Rydberg <jrydberg@gnu.org>
40738
40739 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
40740 is in text mode if there is no console control protocol instance
40741 available.
40742
684a8eff 407432006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
40744
40745 * include/grub/video.h: Code cleanup.
40746
40747 * include/grub/i386/pc/vbe.h: Likewise.
40748
40749 * video/i386/pc/vbe.c: Likewise.
40750
40751 * video/i386/pc/vbeblit.c: Likewise.
40752
40753 * video/i386/pc/vbefill.c: Likewise.
40754
40755 * video/video.c: Likewise. Also added more comments.
40756
5915059b 407572006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
40758
40759 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
40760 (struct grub_biosdisk_dap): Likewise.
40761
40762 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
40763 linkage settings for all functions.
40764
90ce5d56 407652006-07-12 Marco Gerards <marco@gnu.org>
40766
40767 * configure.ac (--enable-mm-debug): Fix typo.
40768
40769 * genkernsyms.sh.in: Use proper quoting for `CC'.
40770
43e7f879 407712006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
40772
40773 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
40774 (normal_mod_ASFLAGS): Remove "-m32".
40775
4889bdec 407762006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
40777
40778 * util/misc.c: Include config.h.
40779 [!HAVE_MEMALIGN]: Do not include malloc.h.
40780 (grub_memalign): Use posix_memalign, if present. Then, use
40781 memalign, if present. Otherwise, emit an error.
40782
40783 * util/grub-emu.c: Do not include malloc.h.
40784
40785 * include/grub/util/misc.h: Include unistd.h. This is required for
40786 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
40787 D. Eades III <hde@foobar-qux.org>.
40788
40789 * configure.ac (AC_GNU_SOURCE): Added.
40790 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
40791 type.
40792
fd39d4da 407932006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
40794
40795 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
40796 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
40797
b786f3b5 407982006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
40799
40800 * include/grub/types.h (grub_host_addr_t): Rename to
40801 grub_target_addr_t.
40802 (grub_host_off_t): Rename to grub_target_off_t.
40803 (grub_host_size_t): Rename to grub_target_size_t.
40804 (grub_host_ssize_t): Rename to grub_target_ssize_t.
40805 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
40806
40807 * include/grub/kernel.h (struct grub_module_header): Change type
40808 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
40809 (grub_module_info): Likewise.
f19dbdb7 40810
051988bb 408112006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
40812
40813 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
40814 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
40815 Velazquez <jesus.velazquez@gmail.com>.
40816
deae281b 408172006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
40818
40819 Count partitions from 1 instead of 0 in the string representation
40820 of partitions. Still use 0-based internally.
f19dbdb7 40821
deae281b 40822 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
40823 (sun_partition_map_iterate): Use grub_partition_t instead of
40824 struct grub_partition *. Cast DESC->START_CYLINDER to
40825 grub_uint64_t after converting the endian.
40826 (sun_partition_map_probe): Subtract 1 for PARTNUM.
40827 (sun_partition_map_get_name): Add 1 to P->INDEX.
40828
40829 * partmap/pc.c (grub_partition_parse): Subtract 1 for
40830 PCDATA->DOS_PART.
40831 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
40832
40833 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
40834 zero instead of one.
40835 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
40836 (gpt_partition_map_get_name): Add 1 into P->INDEX.
40837
40838 * partmap/apple.c (apple_partition_map_iterate): Change the type
40839 of POS to unsigned.
40840 (apple_partition_map_probe): Subtract 1 for PARTNUM.
40841 (apple_partition_map_get_name): Add 1 into P->INDEX.
40842
40843 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
40844 of POS to unsigned.
40845 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
40846 calculate the offset of a partition.
40847 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
40848 (amiga_partition_map_get_name): Add 1 into P->INDEX.
40849
40850 * partmap/acorn.c (acorn_partition_map_find): Change the type of
40851 SECTOR to grub_disk_addr_t.
40852 (acorn_partition_map_iterate): Likewise.
40853 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
40854 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
40855 top.
40856 (acorn_partition_map_get_name): Add 1 into P->INDEX.
40857
40858 * kern/i386/pc/init.c (make_install_device): Add 1 into
40859 GRUB_INSTALL_DOS_PART.
40860
40861 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
40862 conditional.
40863
524a1e6a 408642006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
40865
40866 Clean up the code to support 64-bit addressing in disks and
40867 files. This change is not enough for filesystems yet.
f19dbdb7 40868
524a1e6a 40869 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
40870 type of "start" to grub_uint64_t.
40871 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
40872 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
40873 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
40874 convert addresses.
40875
40876 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
40877 to grub_disk_addr_t.
40878
40879 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
40880 string.
40881
40882 * partmap/pc.c (pc_partition_map_iterate): Likewise.
40883
40884 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
40885 to char *.
40886
40887 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
40888
40889 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
40890
40891 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
40892
40893 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
40894 to grub_off_t, to detect an error from grub_file_seek.
40895 (grub_multiboot_load_elf32): Likewise.
40896
40897 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
40898 maximum unsigned long value when an overflow is detected.
40899 (grub_strtoull): New function.
40900 (grub_divmod64): Likewise.
40901 (grub_lltoa): use grub_divmod64.
40902
40903 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
40904 grub_disk_addr_t.
40905 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
40906 the pointer to next character. Use grub_strtoull instead of
40907 grub_strtoul.
40908 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
40909 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
40910 respectively.
40911
fe6b695a 40912 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 40913 return value is signed.
40914 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
40915 test if OFFSET is less than zero, as OFFSET is unsigned now.
40916
40917 * kern/disk.c (struct grub_disk_cache): Change the type of
40918 "sector" to grub_disk_addr_t.
40919 (grub_disk_cache_get_index): Change the type of SECTOR to
40920 grub_disk_addr_t. Calculate the hash with SECTOR casted to
40921 unsigned after shifting.
40922 (grub_disk_cache_invalidate): Change the type of SECTOR to
40923 grub_disk_addr_t.
40924 (grub_disk_cache_unlock): Likewise.
40925 (grub_disk_cache_store): Likewise.
40926 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
40927 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
40928 grub_disk_addr_t and grub_uint64_t, respectively.
40929 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
40930 body, as the value of OFFSET is tweaked by
40931 grub_disk_check_range. Change the types of START_SECTOR, LEN and
40932 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
40933 respectively.
40934 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
40935 body, as the value of OFFSET is tweaked by
40936 grub_disk_check_range. Change the types of LEN and N to
40937 grub_size_t.
40938
40939 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
40940 and "saved_offset" to grub_off_t.
40941 (test_header): Cast BUF to char *.
40942 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
40943 to char *.
40944 (grub_gzio_read): Change the types of OFFSET and SIZE to
40945 grub_off_t and grub_size_t, respectively.
40946
40947 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
40948 Removed.
40949 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
40950 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
40951 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
40952 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
40953 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
40954
40955 * include/grub/types.h (grub_off_t): Unconditionally set to
40956 grub_uint64_t.
40957 (grub_disk_addr_t): Changed to grub_uint64_t.
40958
40959 * include/grub/partition.h (struct grub_partition): Change the
40960 types of "start", "len" and "offset" to grub_disk_addr_t,
40961 grub_uint64_t and grub_disk_addr_t, respectively.
40962 (grub_partition_get_start): Return grub_disk_addr_t.
40963 (grub_partition_get_len): Return grub_uint64_t.
40964
40965 * include/grub/misc.h (grub_strtoull): New prototype.
40966 (grub_divmod64): Likewise.
40967
40968 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
40969 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
40970 grub_off_t, respectively.
40971 All callers and references changed.
40972
40973 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
40974 grub_size_t in "read".
40975 All callers and references changed.
40976
40977 * include/grub/file.h (struct grub_file): Change the types of
40978 "offset" and "size" to grub_off_t and grub_off_t,
40979 respectively. Change the type of SECTOR to grub_disk_addr_t in
40980 "read_hook".
40981 (grub_file_read): Change the type of LEN to grub_size_t.
40982 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
40983 grub_off_t.
40984 (grub_file_size): Return grub_off_t.
40985 (grub_file_tell): Likewise.
40986 All callers and references changed.
40987
40988 * include/grub/disk.h (struct grub_disk_dev): Change the types of
40989 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
40990 "write".
40991 (struct grub_disk): Change the type of "total_sectors" to
40992 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 40993 "read_hook".
524a1e6a 40994 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
40995 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
40996 (grub_disk_write): Likewise.
40997 All callers and references changed.
40998
40999 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
41000 char * for grub_strncmp to silence gcc.
41001 (grub_iso9660_mount): Likewise.
41002 (grub_iso9660_mount): Likewise.
41003 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
41004 return statement.
41005 (grub_iso9660_iterate_dir): Likewise.
41006 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
41007
41008 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
41009 LEN to grub_disk_addr_t and grub_size_t, respectively.
41010
41011 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
41012
41013 * fs/jfs.c (grub_jfs_read_file): Likewise.
41014
41015 * fs/minix.c (grub_jfs_read_file): Likewise.
41016
41017 * fs/sfs.c (grub_jfs_read_file): Likewise.
41018
41019 * fs/ufs.c (grub_jfs_read_file): Likewise.
41020
41021 * fs/xfs.c (grub_jfs_read_file): Likewise.
41022
41023 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
41024 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
41025 respectively.
41026
41027 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
41028 BLKNR to -1 instead of returning GRUB_ERRNO.
41029 (grub_ext2_read_file): Change the types of SECTOR and
41030 LEN to grub_disk_addr_t and grub_size_t, respectively.
41031
41032 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
41033 LEN to grub_disk_addr_t and grub_size_t, respectively.
41034
41035 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
41036 grub_file_read.
41037
41038 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
41039 string. Do not cast SECTOR explicitly.
41040
41041 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
41042 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
41043 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
41044 grub_disk_addr_t and grub_size_t, respectively. If the sector is
41045 over 2TB and LBA mode is not supported, raise an error.
41046 (get_safe_sectors): New function.
41047 (grub_biosdisk_read): Use get_safe_sectors.
41048 (grub_biosdisk_write): Likewise.
41049
41050 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
41051 (grub_efidisk_write): Likewise.
41052
41053 * disk/loopback.c (delete_loopback): Cosmetic changes.
41054 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
41055 correctly.
41056 (grub_loopback_open): Likewise.
41057 (grub_loopback_read): Likewise. Also, change the type of POS to
41058 grub_off_t, and fix the usage of grub_memset.
41059
41060 * commands/i386/pc/play.c: Include grub/machine/time.h.
41061
41062 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
41063 print FILE->SIZE.
41064
41065 * commands/configfile.c: Include grub/env.h.
41066
41067 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
41068 GRUB_ERRNO directly instead. Change the type of POS to
41069 grub_off_t. Follow the coding standard.
41070
41071 * commands/blocklist.c: Include grub/partition.h.
41072 (grub_cmd_blocklist): Return an error if the underlying device is
41073 not a disk. Take the starting sector of a partition into account,
41074 if a partition is used.
41075
41076 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
41077 a length field.
41078 (lba_mode): Support 64-bit addresses.
41079 (chs_mode): Likewise.
41080 (copy_buffer): Adapted to the new offsets of a length field and a
41081 segment field.
41082 (blocklist_default_start): Allocate 64-bit space.
41083
41084 * boot/i386/pc/boot.S (force_lba): Removed.
41085 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 41086 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 41087 space.
41088 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
41089 is useless.
41090 (lba_mode): Refactored to support a 64-bit address. More size
41091 optimization.
41092 (setup_sectors): Likewise.
41093
53af98ad 410942006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
41095
41096 * DISTLIST: Added include/grub/i386/linux.h. Removed
41097 include/grub/i386/pc/linux.h
41098
41099 * configure.ac (AC_INIT): Bumped to 1.94.
41100
41101 * config.guess: Updated from gnulib.
41102 * config.sub: Likewise.
41103 * install-sh: Likewise.
41104 * mkinstalldirs: Likewise.
41105
b4c1940a 411062006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
41107
41108 * conf/common.rmk (grub_modules_init.lst): Depended on
41109 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
41110 MODSRCFILES.
41111
41112 * genmk.rb (PModule::rule): Reverted the previous change.
41113
cfca1cfd 411142006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
41115
41116 * conf/common.rmk (grub_modules_init.lst): Depends on
41117 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
41118 that the target does not exist before producing.
41119 (grub_modules_init.h): Remove the target before generating.
41120 (grub_emu_init.c): Likewise.
41121
41122 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
41123
aa6d7826 411242006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
41125
41126 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
41127 for the target-specific tests. Make sure that we also have the
41128 up-to-date target variables for those tests.
41129
26c607b9 411302006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
41131
41132 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
41133 (PModule::rule): Likewise.
41134
0162321a 411352006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
41136
41137 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
41138 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
41139 target-specific flags should be prefixed.
41140 (PModule::rule): Likewise.
41141
6c826348 411422006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
41143
41144 * configure.ac (CMP): Check if cmp is available explicitly.
41145
b977bf01 411462006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
41147
41148 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
41149 (target_cpu): New variable.
41150 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 41151
b977bf01 41152 * util/i386/pc/grub-install.in (host_cpu): Removed.
41153 (target_cpu): New variable.
41154 (pkglibdir): Use target_cpu instead of host_cpu.
41155
41156 * util/genmoddep.c: Removed.
f19dbdb7 41157
b977bf01 41158 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
41159 instead of GRUB_HOST_SIZEOF_VOID_P.
41160 * kern/dl.c: Likewise.
41161
41162 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
41163 ...
41164 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
41165 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
41166 (GRUB_TARGET_SIZEOF_LONG): ... this.
41167 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
41168 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
41169 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
41170 to ...
41171 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
41172 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
41173 (GRUB_TARGET_SIZEOF_LONG): ... this.
41174 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
41175 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
41176 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
41177 to ...
41178 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
41179 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
41180 (GRUB_TARGET_SIZEOF_LONG): ... this.
41181 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
41182 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
41183
41184 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
41185 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
41186 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
41187 instead of GRUB_HOST_SIZEOF_LONG.
41188 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
41189 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
41190 GRUB_CPU_WORDS_BIGENDIAN.
41191 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
41192 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
41193 grub_host_ssize_t.
41194
41195 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
41196 (genmoddep_SOURCES): Likewise.
41197 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
41198 (genmoddep_SOURCES): Likewise.
41199 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
41200 (genmoddep_SOURCES): Likewise.
41201 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
41202 Likewise.
41203 (genmoddep_SOURCES): Likewise.
41204
41205 * genmoddep.awk: New file.
41206
41207 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
41208 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
41209 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
41210 (PModule::rule): Likewise.
41211 (Program::rule): Likewise.
41212 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
41213 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
41214 respectively.
41215
41216 * configure.ac: Rewritten intensively to use host and target
41217 instead of build and host, respectively.
41218
41219 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
41220 (host_cpu): Removed.
41221 (target_cpu): New variable.
41222 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
41223 (BUILD_CC): Removed.
41224 (BUILD_CFLAGS): Likewise.
41225 (BUILD_CPPFLAGS): Likewise.
41226 (TARGET_CC): New variable.
41227 (TARGET_CFLAGS): Likewise.
41228 (TARGET_CPPFLAGS): Likewise.
41229 (TARGET_LDFLAGS): Likewise.
41230 (AWK): Likewise.
41231 (include): Use target_cpu instead of host_cpu.
41232 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 41233
b977bf01 41234 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
41235
f09771a1 412362006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
41237
41238 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
41239 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
41240 field 'false' to 'exec_on_false'.
41241 (grub_script_create_cmdif): Renamed argument names to reflect above
41242 changes.
41243
41244 * normal/execute.c (grub_script_execute_cmdif): Likewise.
41245
41246 * normal/script.c (grub_script_create_cmdif): Likewise.
41247
118f4fb3 412482006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
41249
41250 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
41251 top.
41252 (grub_hfsplus_btree_recptr): Likewise.
41253 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
41254 FILEBLOCK both to pass a block number and store next block
41255 number.
41256 (grub_hfsplus_read_block): Rewritten heavily to support an extent
41257 overflow file correctly. Specify errors appropriately, because
41258 fshelp expects that GRUB_ERRNO is set when fails. Reuse
41259 grub_hfsplus_btree_recptr to get the pointer to a found key.
41260 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
41261 is found.
41262
41263 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
41264 linux.mod.
41265 (_linux_mod_SOURCES): New variable.
41266 (_linux_mod_CFLAGS): Likewise.
41267 (_linux_mod_LDFLAGS): Likewise.
41268 (linux_mod_SOURCES): Likewise.
41269 (linux_mod_CFLAGS): Likewise.
41270 (linux_mod_LDFLAGS): Likewise.
41271
41272 * DISTLIST: Added loader/i386/efi/linux.c,
41273 loader/i386/efi/linux_normal.c and
41274 include/grub/i386/efi/loader.h.
41275
41276 * loader/i386/efi/linux.c: New file.
41277 * loader/i386/efi/linux_normal.c: Likewise.
41278 * include/grub/i386/efi/loader.h: Likewise.
41279
89a7d726 412802006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
41281
41282 * commands/blocklist.c: New file.
41283
41284 * DISTLIST: Added commands/blocklist.c.
41285
41286 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 41287 color for the background, and a darker color for the foreground.
89a7d726 41288 (grub_console_checkkey): Return READ_KEY.
41289 (grub_console_cls): Set the background to
41290 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
41291
41292 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
41293
41294 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
41295 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
41296
41297 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
41298 prototype.
41299
41300 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
41301 BG. The spec is wrong again.
41302
41303 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
41304 prototype.
41305 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
41306
41307 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
41308 commands/blocklist.c.
41309 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 41310
89a7d726 41311 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
41312 (blocklist_mod_SOURCES): New variable.
41313 (blocklist_mod_CFLAGS): Likewise.
41314 (blocklist_mod_LDFLAGS): Likewise.
41315
75c8f258 413162006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
41317
41318 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
41319 duplication.
41320 (lba_mode): Use %eax more intensively to reduce the code size.
41321
da2eb181 413222006-05-20 Marco Gerards <marco@gnu.org>
41323
41324 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
41325
41326 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
41327 for `menuentry'.
41328 (script): Accept leading newlines.
41329 (newlines): New rule to describe 0 or more newlines.
41330 (commands): Accept `command' with trailing newline. Fixed the
41331 order in which arguments were passed to `grub_script_add_cmd'.
41332 Accept commands separated by newlines.
41333 (function): Changed to accept newlines.
41334 (menuentry) Rewritten.
41335
41336 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
41337 front of the list, instead of to the end.
41338
577b4050 413392006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
41340
41341 * util/i386/pc/grub-install.in (bindir): New variable.
41342 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
41343 Shaver <lbgwjl@gmail.com>.
41344
0d6e1189 413452006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
41346
41347 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
41348 grub/machine/linux.h
41349 * loader/i386/pc/linux.c: Likewise.
41350
41351 * include/grub/i386/pc/linux.h: Moved to ...
41352 * include/grub/i386/linux.h: ... here.
41353
41354 * include/grub/i386/linux.h (struct linux_kernel_params): New
41355 struct.
f19dbdb7 41356
31b86e9f 413572006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
41358
41359 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
41360 checking.
41361 (grub_video_vbe_blit_glyph): Likewise.
41362 (grub_video_vbe_blit_bitmap): Likewise.
41363 (grub_video_vbe_blit_render_target): Likewise.
41364
83b984de 413652006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
41366
41367 * configure.ac (--with-platform): Properly quote the square
41368 brackets.
41369
5f0413bd 413702006-05-08 Marco Gerards <marco@gnu.org>
41371
41372 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
41373 this...
41374 (kernel_elf_HEADERS): ...to this. Updated all users.
41375 (grubof_symlist.c): Renamed from this...
41376 (kernel_elf_symlist.c): ...to this. Updated all users.
41377 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
41378 (grubof_SOURCES): Renamed from this...
41379 (kernel_elf_SOURCES): ...to this.
41380 (grubof_HEADERS): Renamed from this...
41381 (kernel_elf_HEADERS): ...to this.
41382 (grubof_CFLAGS): Renamed from this...
41383 (kernel_elf_CFLAGS): ...to this.
41384 (grubof_ASFLAGS): Renamed from this...
41385 (kernel_elf_ASFLAGS): ...to this.
41386 (grubof_LDFLAGS): Renamed from this...
41387 (kernel_elf_LDFLAGS): ...to this.
41388
41389 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
41390 this...
41391 (kernel_elf_HEADERS): ...to this. Updated all users.
41392 (grubof_symlist.c): Renamed from this...
41393 (kernel_elf_symlist.c): ...to this. Updated all users.
41394 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
41395 (grubof_SOURCES): Renamed from this...
41396 (kernel_elf_SOURCES): ...to this.
41397 (grubof_HEADERS): Renamed from this...
41398 (kernel_elf_HEADERS): ...to this.
41399 (grubof_CFLAGS): Renamed from this...
41400 (kernel_elf_CFLAGS): ...to this.
41401 (grubof_ASFLAGS): Renamed from this...
41402 (kernel_elf_ASFLAGS): ...to this.
41403 (grubof_LDFLAGS): Renamed from this...
41404 (kernel_elf_LDFLAGS): ...to this.
41405
41406 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
41407 `kernel.elf' instead of `grubof'.
41408
05568c2e 414092006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
41410
41411 Add --with-platform to configure. Use pkglibdir instead of
41412 pkgdatadir. This is reported by Roger Leigh.
41413
41414 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
41415 (host_vendor): Likewise.
41416 (host_os): Likewise.
41417 (pkgdatadir): Likewise.
41418 (platform): New variable.
41419 (pkglibdir): Likewise.
41420 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 41421
05568c2e 41422 * util/i386/pc/grub-install.in (datadir): Removed.
41423 (host_vendor): Likewise.
41424 (host_os): Likewise.
41425 (pkgdatadir): Likewise.
41426 (platform): New variable.
41427 (pkglibdir): Likewise.
41428 Use PKGLIBDIR instead of PKGDATADIR.
41429
41430 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
41431 instead of GRUB_DATADIR.
41432 (main): Likewise.
41433 * util/i386/pc/grub-mkimage.c (usage): Likewise.
41434 (main): Likewise.
41435 * util/i386/efi/grub-mkimage.c (usage): Likewise.
41436 (main): Likewise.
41437
41438 * configure.ac (--with-platform): New option.
41439 Use PLATFORM instead of HOST_VENDOR to specify a platform.
41440
41441 * Makefile.in: Include a makefile based on PLATFORM instead of
41442 HOST_VENDOR.
41443 (pkgdatadir): Not appended by the machine type.
41444 (pkglibdir): Appended by the machine type.
41445 (host_vendor): Removed.
41446 (platform): New variable.
41447 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
41448 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
41449 (uninstall): Likewise.
41450
4e93851c 414512006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
41452
41453 Use the environment context in the menu. Remove the commands
41454 "default" and "timeout", and use variables instead.
f19dbdb7 41455
4e93851c 41456 * normal/menu.c: Include grub/env.h.
41457 (print_entry): Cast TITLE to silence gcc.
41458 (get_timeout): New function.
41459 (set_timeout): Likewise.
41460 (get_entry_number): Likewise.
41461 (run_menu): Use a default entry, a fallback entry and a timeout
41462 in the environment variables "default", "fallback" and
41463 "timeout". Also, tweak the default entry if it is not within the
41464 current menu entries.
41465 (grub_menu_run): Use a fallback entry in the environment variable
41466 "fallback".
41467
41468 * normal/main.c (read_config_file): Do not initialize
41469 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
41470 NEWMENU->TIMEOUT.
41471 (grub_normal_execute): Use a data slot to store the menu.
41472
41473 * include/grub/normal.h (struct grub_menu): Removed default_entry,
41474 fallback_entry and timeout.
41475 (struct grub_menu_list): Removed.
41476 (grub_menu_list_t): Likewise.
41477 (struct grub_context): Likewise.
41478 (grub_context_t): Likewise.
41479 (grub_context_get): Likewise.
41480 (grub_context_get_current_menu): Likewise.
41481 (grub_context_push_menu): Likewise.
41482 (grub_context_pop_menu): Likewise.
41483 (grub_default_init): Likewise.
41484 (grub_default_fini): Likewise.
41485 (grub_timeout_init): Likewise.
41486 (grub_timeout_fini): Likewise.
41487
41488 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
41489 and timeout.mod.
41490 (normal_mod_SOURCES): Removed normal/context.c.
41491
41492 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
41493 commands/default.c, commands/timeout.c and normal/context.c.
41494 (normal_mod_SOURCES): Removed normal/context.c.
41495
41496 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
41497 commands/timeout.c and normal/context.c.
41498 (normal_mod_SOURCES): Removed normal/context.c.
41499
41500 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
41501 commands/default.c, commands/timeout.c and normal/context.c.
41502 (normal_mod_SOURCES): Removed normal/context.c.
41503
41504 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
41505 timeout.mod.
41506 (default_mod_SOURCES): Removed.
41507 (default_mod_CFLAGS): Likewise.
41508 (default_mod_LDFLAGS): Likewise.
41509 (timeout_mod_SOURCES): Removed.
41510 (timeout_mod_CFLAGS): Likewise.
41511 (timeout_mod_LDFLAGS): Likewise.
41512
41513 * DISTLIST: Removed commands/default.c, commands/timeout.c and
41514 normal/context.c.
41515
41516 * commands/default.c: Removed.
41517 * commands/timeout.c: Likewise.
41518 * normal/context.c: Likewise.
41519
1eb9cc1d 415202006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
41521
41522 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
41523
385bd9c1 415242006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
41525
41526 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
41527 "next" to "prev" for readability.
41528 (struct grub_env_sorted_var): New struct.
41529 (grub_env_context): Renamed to ...
41530 (initial_context): ... this.
41531 (grub_env_var_context): Renamed to ...
41532 (current_context): ... this.
41533 (grub_env_find): Look only at CURRENT_CONTEXT.
41534 (grub_env_context_open): Rewritten to copy exported variables from
41535 previous context.
41536 (grub_env_context_close): Rewritten according to the new
41537 scheme. Also, add an assertion to prevent the initial context from
41538 removed.
41539 (grub_env_insert): Removed the code for the sorted list.
41540 (grub_env_remove): Likewise.
41541 (grub_env_export): Simply mark the variable with
41542 GRUB_ENV_VAR_GLOBAL.
41543 (grub_env_set): A cosmetic change for naming consistency.
41544 (grub_env_get): Likewise.
41545 (grub_env_unset): Likewise.
41546 (grub_env_iterate): Rewritten to sort variables within this
41547 function.
41548 (grub_register_variable_hook): Fixed for naming consistency. Call
41549 grub_env_find again, only if NAME is not found at the first time.
41550 (mangle_data_slot_name): New function.
41551 (grub_env_set_data_slot): Likewise.
41552 (grub_env_get_data_slot): Likewise.
41553 (grub_env_unset_data_slot): Likewise.
41554
41555 * include/grub/env.h (grub_env_var_type): New enum.
41556 (GRUB_ENV_VAR_LOCAL): New constant.
41557 (GRUB_ENV_VAR_GLOBAL): Likewise.
41558 (GRUB_ENV_VAR_DATA): Likewise.
41559 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
41560 "type".
41561 (grub_env_set): Replace VAR with NAME for consistency.
41562 (grub_register_variable_hook): Likewise.
41563 (grub_env_export): Specify the name of the argument.
41564 (grub_env_set_data_slot): New prototype.
41565 (grub_env_get_data_slot): Likewise.
41566 (grub_env_unset_data_slot): Likewise.
41567
7f362539 415682006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
41569
41570 Extend the loader so that GRUB can accept a loader which comes
41571 back to GRUB when a loaded image exits. Also, this change adds
41572 support for a chainloader on EFI.
f19dbdb7 41573
7f362539 41574 * term/efi/console.c: Include grub/misc.h.
41575 (grub_console_checkkey): Display a scan code on the top for
41576 debugging. This will be removed once the EFI port gets stable.
41577 Correct the scan code mapping.
41578
41579 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
41580 allocate memory from larger regions, in order to reduce the number
41581 of allocated regions. Otherwise, the MacOSX loader panics.
41582 (filter_memory_map): Avoid less than 1MB for compatibility with
41583 other loaders.
41584 (add_memory_regions): Allocate from the tail of a region, if
41585 possible, to avoid allocating a region near to 1MB, for the MacOSX
41586 loader.
41587
41588 * kern/efi/init.c (grub_efi_set_prefix): Specify
41589 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
41590
41591 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
41592 argument IMAGE_HANDLE and specify it to get a loaded image.
41593 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
41594 grub_efi_get_loaded_image.
fe6b695a 41595 (grub_efi_get_filename): Divide the length by the size of
7f362539 41596 grub_efi_char16_t.
41597 (grub_efi_get_device_path): New function.
41598 (grub_efi_print_device_path): Print End Device Path nodes. Divide
41599 the length by the size of grub_efi_char16_t for a file path device
41600 path node.
41601
41602 * kern/loader.c (grub_loader_noreturn): New variable.
41603 (grub_loader_set): Accept a new argument NORETURN. Set
41604 GRUB_LOADER_NORETURN to NORETURN.
41605 All callers changed.
41606 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
41607 grub_machine_fini.
41608
41609 * include/grub/efi/efi.h (grub_efi_get_device_path): New
41610 prototype.
41611 (grub_efi_get_loaded_image): Take an argument to specify an image
41612 handle.
41613
41614 * include/grub/loader.h (grub_loader_set): Added one more argument
41615 NORETURN.
41616
41617 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
41618 instead of grub_efi_open_protocol.
41619 (grub_efidisk_get_device_name): Likewise.
41620 (grub_efidisk_close): Print a newline.
41621 (grub_efidisk_get_device_handle): Fixed to use
41622 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
41623 GRUB_EFI_DEVICE_PATH_TYPE.
41624
41625 * disk/efi/efidisk.c (device_path_guid): Moved to ...
41626 * kern/efi/efi.c (device_path_guid): ... here.
41627
41628 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
41629 chain.mod.
41630 (kernel_mod_HEADERS): Added efi/disk.h.
41631 (_chain_mod_SOURCES): New variable.
41632 (_chain_mod_CFLAGS): Likewise.
41633 (_chain_mod_LDFLAGS): Likewise.
41634 (chain_mod_SOURCES): Likewise.
41635 (chain_mod_CFLAGS): Likewise.
41636 (chain_mod_LDFLAGS): Likewise.
41637
41638 * DISTLIST: Added include/grub/efi/chainloader.h,
41639 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
41640
41641 * include/grub/efi/chainloader.h: New file.
41642 * loader/efi/chainloader.c: Likewise.
41643 * loader/efi/chainloader_normal.c: Likewise.
41644
c0111d6e 416452006-04-30 Marco Gerards <marco@gnu.org>
41646
41647 * commands/configfile.c (grub_cmd_source): New function.
41648 (GRUB_MOD_INIT): Register the commands `source' and `.'.
41649 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
41650
df5341da 416512006-04-30 Marco Gerards <marco@gnu.org>
41652
41653 * normal/execute.c (grub_script_execute_cmd): Change the return
41654 type to `grub_err_t'. Correctly return the error.
41655 (grub_script_execute_cmdline): In case a command line is not a
41656 command or a function, try to interpret it as an assignment.
41657
f85934bd 416582006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
41659
41660 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
41661 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
41662 skip a node whose name is obviously invalid as UTF-16,
41663 i.e. contains a NUL character. Stop the iteration when the last
41664 directory entry is found. Instead of using the return value of
41665 grub_hfsplus_btree_iterate_node, store the value in RET and use
41666 it, because the iterator can be stopped by the last directory
41667 entry.
41668
8f8a2cf8 416692006-04-30 Marco Gerards <marco@gnu.org>
41670
41671 * include/grub/env.h (grub_env_export): New prototype. Reported
41672 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
41673
a27e84ce 416742006-04-30 Marco Gerards <marco@gnu.org>
41675
41676 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
41677 size of the extents in a catalog file record.
41678
eaef0553 416792006-04-29 Marco Gerards <marco@gnu.org>
41680
41681 * commands/configfile.c (grub_cmd_configfile): Execute the
41682 configfile within its own context.
41683
41684 * include/grub/env.h (grub_env_context_open): New prototype.
41685 (grub_env_context_close): Likewise.
41686
41687 * kern/env.c (grub_env): Removed.
41688 (grub_env_sorted): Likewise.
41689 (grub_env_context): New variable.
41690 (grub_env_var_context): Likewise.
41691 (grub_env_find): Search both the active context and the global
41692 context.
41693 (grub_env_context_open): New function.
41694 (grub_env_context_close): Likewise.
41695 (grub_env_insert): Likewise.
41696 (grub_env_remove): Likewise.
41697 (grub_env_export): Likewise.
41698 (grub_env_set): Changed to use helper functions to avoid code
41699 duplication.
41700 (grub_env_iterate): Rewritten so both the current context and the
41701 global context are being used.
41702
41703 * normal/command.c (export_command): New function.
41704 (grub_command_init): Register the `export' function.
41705
7b455f4d 417062006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
41707
41708 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
41709 explicitly to suppress gcc's warnings.
41710 * fs/fat.c (grub_fat_find_dir): Likewise.
41711 (grub_fat_label): Likewise.
41712 * fs/xfs.c (grub_xfs_read_inode): Likewise.
41713 (grub_xfs_mount): Likewise.
41714 (grub_xfs_label): Likewise.
41715 * fs/affs.c (grub_affs_mount): Likewise.
41716 (grub_affs_label): Likewise.
41717 (grub_affs_iterate_dir): Likewise.
41718 * fs/sfs.c (grub_sfs_mount): Likewise.
41719 (grub_sfs_iterate_dir): Likewise.
41720 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
41721 * fs/hfs.c (grub_hfs_mount): Likewise.
41722 (grub_hfs_cmp_catkeys): Likewise.
41723 (grub_hfs_find_dir): Likewise.
41724 (grub_hfs_dir): Likewise.
41725 (grub_hfs_label): Likewise.
41726 * fs/jfs.c (grub_jfs_mount): Likewise.
41727 (grub_jfs_opendir): Likewise.
41728 (grub_jfs_getent): Likewise.
41729 (grub_jfs_lookup_symlink): Likewise.
41730 (grub_jfs_label): Likewise.
41731 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
41732 (grub_hfsplus_iterate_dir): Likewise.
41733 (grub_hfsplus_btree_iterate_node): Made static.
41734
41735 * util/grub-emu.c (prefix): New variable.
41736 (grub_machine_set_prefix): New function.
41737 (main): Do not set the environment variable "prefix" here. Only
41738 set PREFIX, which is used later by grub_machine_set_prefix.
41739
41740 * include/grub/video.h: Do not include grub/symbol.h.
41741 (grub_video_register): Not exported. This symbol is not defined in
41742 the kernel.
41743 (grub_video_unregister): Likewise.
41744 (grub_video_iterate): Likewise.
41745 (grub_video_setup): Likewise.
41746 (grub_video_restore): Likewise.
41747 (grub_video_get_info): Likewise.
41748 (grub_video_get_blit_format): Likewise.
41749 (grub_video_set_palette): Likewise.
41750 (grub_video_get_palette): Likewise.
41751 (grub_video_set_viewport): Likewise.
41752 (grub_video_get_viewport): Likewise.
41753 (grub_video_map_color): Likewise.
41754 (grub_video_map_rgb): Likewise.
41755 (grub_video_map_rgba): Likewise.
41756 (grub_video_fill_rect): Likewise.
41757 (grub_video_blit_glyph): Likewise.
41758 (grub_video_blit_bitmap): Likewise.
41759 (grub_video_blit_render_target): Likewise.
41760 (grub_video_scroll): Likewise.
41761 (grub_video_swap_buffers): Likewise.
41762 (grub_video_create_render_target): Likewise.
41763 (grub_video_delete_render_target): Likewise.
41764 (grub_video_set_active_render_target): Likewise.
41765
41766 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
41767 Undefined.
41768 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
41769
41770 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
41771 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41772 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41773 instead of $(srcdir)/genkernsyms.sh.
41774
41775 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
41776 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41777 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41778 instead of $(srcdir)/genkernsyms.sh.
41779
41780 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
41781 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41782 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41783 instead of $(srcdir)/genkernsyms.sh.
41784
41785 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
41786 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
41787 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
41788 instead of $(srcdir)/genkernsyms.sh.
41789
41790 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
41791 genkernsyms.sh.
41792
41793 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
41794 genkernsyms.sh.
41795 (gensymlist.sh): New target.
41796 (genkernsyms.sh): Likewise.
41797
41798 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
41799 genkernsyms.sh.in and gensymlist.sh.in.
41800
41801 * genkernsyms.sh: Removed.
41802 * gensymlist.sh: Likewise.
f19dbdb7 41803
7b455f4d 41804 * genkernsyms.sh.in: New file.
41805 * gensymlist.sh.in: Likewise.
41806
1885bb27 418072006-04-25 Hollis Blanchard <hollis@penguinppc.org>
41808
41809 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
41810 clobber "prefix", since we may have already set it manually.
41811
71538dff 418122006-04-25 Hollis Blanchard <hollis@penguinppc.org>
41813
41814 * kern/misc.c (abort): New alias for grub_abort.
41815
2965c7cc 418162006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
41817
41818 A new machine-specific function "grub_machine_set_prefix" is
41819 defined. This is called after loading modules, so that a prefix
41820 initialization can use modules. Also, this change adds an
41821 intensive debugging feature for the memory manager via the
41822 configure option "--enable-mm-debug".
f19dbdb7 41823
2965c7cc 41824 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
41825 PART.LEN.
41826
41827 * kern/sparc64/ieee1275/init.c (abort): Removed.
41828 (grub_stop): Likewise.
41829 (grub_exit): New function.
41830 (grub_set_prefix): Renamed to ...
41831 (grub_machine_set_prefix): ... this.
41832 (grub_machine_init): Do not call grub_set_prefix.
41833
41834 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
41835 (grub_machine_set_prefix): ... this.
41836 (grub_machine_init): Do not call grub_set_prefix.
41837
41838 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
41839 (grub_machine_init): Do not set the prefix here.
41840
41841 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
41842
41843 * kern/efi/init.c: Include grub/mm.h.
41844 (grub_efi_set_prefix): New function.
41845
41846 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
41847 (grub_efi_get_filename): New function.
41848 (grub_print_device_path): Renamed to ...
41849 (grub_efi_print_device_path): ... this.
41850
41851 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
41852 [MM_DEBUG] (grub_realloc): Likewise.
41853 [MM_DEBUG] (grub_free): Likewise.
41854 [MM_DEBUG] (grub_memalign): Likewise.
41855 [MM_DEBUG] (grub_mm_debug): New variable.
41856 [MM_DEBUG] (grub_debug_malloc): New function.
41857 [MM_DEBUG] (grub_debug_free): New function.
41858 [MM_DEBUG] (grub_debug_realloc): New function.
41859 [MM_DEBUG] (grub_debug_memalign): New function.
41860
41861 * kern/misc.c (grub_abort): Print a newline to distinguish
41862 the message.
41863
41864 * kern/main.c (grub_main): Call grub_machine_set_prefix and
41865 grub_set_root_dev after loading modules. This is necessary when
41866 setting a prefix depends on modules.
41867
41868 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
41869 (grub_efi_print_device_path): ... this.
41870 (grub_efi_get_filename): New prototype.
41871 (grub_efi_set_prefix): Likewise.
41872
41873 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
41874 and grub/disk.h.
41875 (grub_efidisk_get_device_handle): New prototype.
41876 (grub_efidisk_get_device_name): Likewise.
41877
41878 * include/grub/mm.h: Include config.h.
41879 (MM_DEBUG): Removed.
41880 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
41881 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
41882 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
41883 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
41884 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
41885 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
41886 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
41887 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
41888 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
41889
41890 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
41891
41892 * disk/efi/efidisk.c: Include grub/partition.h.
41893 (iterate_child_devices): New function.
41894 (add_device): First, compare only last device path nodes, so that
41895 devices are sorted by the types.
41896 (grub_efidisk_get_device_handle): New function.
41897 (grub_efidisk_get_device_name): Likewise.
41898
41899 * configure.ac (--enable-mm-debug): New option to enable the
41900 memory manager debugging feature. This makes the binary much
41901 bigger, so is disabled by default.
41902
9cacaa17 419032006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
41904
41905 Use grub_abort instead of grub_stop, and grub_exit must be
41906 define in each architecture now. Also, this change adds support
41907 for EFI disks.
f19dbdb7 41908
9cacaa17 41909 * util/i386/pc/grub-probefs.c: Include grub/term.h.
41910 (grub_getkey): New function.
41911 (grub_term_get_current): Likewise.
41912
41913 * util/i386/pc/grub-setup.c: Include grub/term.h.
41914 (grub_getkey): New function.
41915 (grub_term_get_current): Likewise.
41916
41917 * util/misc.c (grub_stop): Renamed to ...
41918 (grub_exit): ... this.
41919
41920 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
41921 (grub_exit): ... this.
41922 (grub_machine_init): Use grub_abort instead of abort.
41923 (grub_stop): Removed.
41924
41925 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
41926 abort.
41927
41928 * kern/i386/pc/startup.S (grub_exit): New function.
41929 (cold_reboot): New label.
41930
41931 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
41932 (grub_efi_init): Call grub_efidisk_init.
41933 (grub_efi_fini): Call grub_efidisk_fini.
41934
41935 * kern/efi/efi.c: Include grub/mm.h.
41936 (grub_efi_console_control_guid): Renamed to ...
41937 (console_control_guid): ... this.
41938 (grub_efi_loaded_image_guid): Renamed to ...
41939 (loaded_image_guid): ... this.
41940 (grub_efi_locate_handle): New function.
41941 (grub_efi_open_protocol): Likewise.
41942 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
41943 GRUB_EFI_CONSOLE_CONTROL_GUID.
41944 (grub_efi_exit): Removed.
41945 (grub_stop): Likewise.
41946 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
41947 (grub_exit): New function.
41948 (grub_print_device_path): Likewise.
41949
41950 * kern/rescue.c (grub_rescue_cmd_exit): New function.
41951 (grub_enter_rescue_mode): Register "exit".
41952
41953 * kern/misc.c (grub_real_dprintf): A cosmetic change.
41954 (grub_abort): New function.
41955
41956 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
41957
41958 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
41959
41960 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
41961
41962 * include/grub/efi/efi.h (grub_efi_exit): Removed.
41963 (grub_print_device_path): New prototype.
41964 (grub_efi_locate_handle): Likewise.
41965 (grub_efi_open_protocol): Likewise.
41966
41967 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
41968 * disk/efi/efidisk.c: Likewise.
41969
41970 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
41971
41972 * include/grub/efi/console_control.h
41973 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
41974
41975 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
41976 last 8 bytes as an array.
41977 (GRUB_EFI_DISK_IO_GUID): New macro.
41978 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
41979 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
41980 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
41981 grub_uint8_t.
41982 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
41983 (struct grub_efi_device_path): Rename the member "sub_type" to
41984 "subtype".
41985 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
41986 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
41987 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
41988 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
41989 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
41990 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
41991 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
41992 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
41993 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
41994 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
41995 (struct grub_efi_pci_device_path): New structure.
41996 (grub_efi_pci_device_path_t): New type.
41997 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
41998 (struct grub_efi_pccard_device_path): New structure.
41999 (grub_efi_pccard_device_path_t): New type.
42000 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
42001 (struct grub_efi_memory_mapped_device_path): New structure.
42002 (grub_efi_memory_mapped_device_path_t): New type.
42003 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
42004 (struct grub_efi_vendor_device_path): New structure.
42005 (grub_efi_vendor_device_path_t): New type.
42006 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
42007 (struct grub_efi_controller_device_path): New structure.
42008 (grub_efi_controller_device_path_t): New type.
42009 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
42010 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
42011 (struct grub_efi_acpi_device_path): New structure.
42012 (grub_efi_acpi_device_path_t): New type.
42013 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
42014 (struct grub_efi_expanded_acpi_device_path): New structure.
42015 (grub_efi_expanded_acpi_device_path_t): New type.
42016 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
42017 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
42018 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
42019 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
42020 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
42021 (struct grub_efi_atapi_device_path): New structure.
42022 (grub_efi_atapi_device_path_t): New type.
42023 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
42024 (struct grub_efi_fibre_channel_device_path): New structure.
42025 (grub_efi_fibre_channel_device_path_t): New type.
42026 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
42027 (struct grub_efi_1394_device_path): New structure.
42028 (grub_efi_1394_device_path_t): New type.
42029 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
42030 (struct grub_efi_usb_device_path): New structure.
42031 (grub_efi_usb_device_path_t): New type.
42032 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
42033 (struct grub_efi_usb_class_device_path): New structure.
42034 (grub_efi_usb_class_device_path_t): New type.
42035 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
42036 (struct grub_efi_i2o_device_path): New structure.
42037 (grub_efi_i2o_device_path_t): New type.
42038 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
42039 (struct grub_efi_mac_address_device_path): New structure.
42040 (grub_efi_mac_address_device_path_t): New type.
42041 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
42042 (struct grub_efi_ipv4_device_path): New structure.
42043 (grub_efi_ipv4_device_path_t): New type.
42044 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
42045 (struct grub_efi_ipv6_device_path): New structure.
42046 (grub_efi_ipv6_device_path_t): New type.
42047 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
42048 (struct grub_efi_infiniband_device_path): New structure.
42049 (grub_efi_infiniband_device_path_t): New type.
42050 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
42051 (struct grub_efi_uart_device_path): New structure.
42052 (grub_efi_uart_device_path_t): New type.
42053 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
42054 (struct grub_efi_vendor_messaging_device_path): New structure.
42055 (grub_efi_vendor_messaging_device_path_t): New type.
42056 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
42057 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
42058 (struct grub_efi_hard_drive_device_path): New structure.
42059 (grub_efi_hard_drive_device_path_t): New type.
42060 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
42061 (struct grub_efi_cdrom_device_path): New structure.
42062 (grub_efi_cdrom_device_path_t): New type.
42063 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
42064 (struct grub_efi_vendor_media_device_path): New structure.
42065 (grub_efi_vendor_media_device_path_t): New type.
42066 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
42067 (struct grub_efi_file_path_device_path): New structure.
42068 (grub_efi_file_path_device_path_t): New type.
42069 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
42070 (struct grub_efi_protocol_device_path): New structure.
42071 (grub_efi_protocol_device_path_t): New type.
42072 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
42073 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
42074 (struct grub_efi_bios_device_path): New structure.
42075 (grub_efi_bios_device_path_t): New type.
42076 (struct grub_efi_disk_io): New structure.
42077 (grub_efi_disk_io_t): New type.
42078 (struct grub_efi_block_io_media): New structure.
42079 (grub_efi_block_io_media_t): New type.
42080 (struct grub_efi_block_io): New structure.
42081 (grub_efi_block_io_t): New type.
42082
42083 * include/grub/misc.h (grub_stop): Removed.
42084 (grub_exit): New prototype.
42085 (grub_abort): Likewise.
42086
42087 * include/grub/disk.h (enum grub_disk_dev_id): Added
42088 GRUB_DISK_DEVICE_EFIDISK_ID.
42089
42090 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
42091 disk/efi/efidisk.c.
42092 (kernel_syms.lst): Remove the target if an error occurs.
42093
49986a9f 420942006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
42095
42096 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
42097 as it was simply too buggy.
42098
970d3b8a 420992006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
42100
42101 * kern/misc.c (grub_lltoa): New function.
42102 (grub_vsprintf): Added support for the long long suffix,
42103 i.e. "ll".
42104
ff04ec24 421052006-04-20 Hollis Blanchard <hollis@penguinppc.org>
42106
42107 * Makefile.in (LDFLAGS): Add variable.
42108 (LD): Remove variable.
42109 * configure.ac: Add -m32 to LDFLAGS.
42110 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
42111 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
42112 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
42113 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
42114 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
42115 variables.
42116 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
42117 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
42118 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
42119
37e5e1a4 421202006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
42121
42122 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
42123 length for unknown glyph.
42124
c352d8dd 421252006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
42126
2eab1c0d 42127 Add support for pre-loaded modules into the EFI port.
f19dbdb7 42128
2eab1c0d 42129 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
42130 completely. Accept one more argument DIR. The caller has changed.
42131
42132 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
42133
42134 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
42135 (grub_efi_loaded_image_guid): New variable.
42136 (grub_efi_get_loaded_image): New function.
42137 (grub_arch_modules_addr): Likewise.
42138
42139 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
42140 prototype.
42141
42142 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
42143 (struct grub_efi_loaded_image): New structure.
42144 (grub_efi_loaded_image_t): New type.
42145
421462006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 42147
c352d8dd 42148 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
42149 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
42150 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
42151
6d01d6b4 421522006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
42153
42154 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
42155
976a4ea0 421562006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
42157
42158 * DISTLIST: Added include/grub/efi/console.h,
42159 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
42160 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
42161
42162 * include/grub/efi/console.h: New file.
42163 * include/grub/efi/time.h: Likewise.
42164 * include/grub/i386/efi/kernel.h: Likewise.
42165 * kern/efi/init.c: Likewise.
42166 * kern/efi/mm.c: Likewise.
42167 * term/efi/console.c: Likewise.
f19dbdb7 42168
976a4ea0 42169 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
42170 (grub_stop): Removed.
42171 (grub_get_rtc): Likewise.
42172 (grub_machine_init): Simply call grub_efi_init.
42173 (grub_machine_fini): Call grub_efi_fini.
42174
42175 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
42176 (grub_efi_output_string): Removed.
42177 (grub_efi_stall): New function.
42178 (grub_stop): Likewise.
42179 (grub_get_rtc): Likewise.
42180
42181 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
42182 (grub_efi_stall): New prototype.
42183 (grub_efi_allocate_pages): Likewise.
42184 (grub_efi_free_pages): Likewise.
42185 (grub_efi_get_memory_map): Likewise.
42186 (grub_efi_mm_init): Likewise.
42187 (grub_efi_mm_fini): Likewise.
42188 (grub_efi_init): Likewise.
42189 (grub_efi_fini): Likewise.
42190
42191 * include/grub/i386/efi/time.h: Do not include
42192 grub/symbol.h. Include grub/efi/time.h.
42193 (GRUB_TICKS_PER_SECOND): Removed.
42194 (grub_get_rtc): Likewise.
42195
42196 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
42197 Added padding. The EFI spec is buggy.
42198 (GRUB_EFI_BLACK): New macro.
42199 (GRUB_EFI_BLUE): Likewise.
42200 (GRUB_EFI_GREEN): Likewise.
42201 (GRUB_EFI_CYAN): Likewise.
42202 (GRUB_EFI_RED): Likewise.
42203 (GRUB_EFI_MAGENTA): Likewise.
42204 (GRUB_EFI_BROWN): Likewise.
42205 (GRUB_EFI_LIGHTGRAY): Likewise.
42206 (GRUB_EFI_BRIGHT): Likewise.
42207 (GRUB_EFI_DARKGRAY): Likewise.
42208 (GRUB_EFI_LIGHTBLUE): Likewise.
42209 (GRUB_EFI_LIGHTGREEN): Likewise.
42210 (GRUB_EFI_LIGHTCYAN): Likewise.
42211 (GRUB_EFI_LIGHTRED): Likewise.
42212 (GRUB_EFI_LIGHTMAGENTA): Likewise.
42213 (GRUB_EFI_YELLOW): Likewise.
42214 (GRUB_EFI_WHITE): Likewise.
42215 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
42216 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
42217 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
42218 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
42219 (GRUB_EFI_BACKGROUND_RED): Likewise.
42220 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
42221 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
42222 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
42223 (GRUB_EFI_TEXT_ATTR): Likewise.
42224
42225 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
42226 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
42227 (kernel_mod_HEADERS): Added efi/time.h.
42228
83709125 422292006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
42230
42231 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
42232 include/grub/efi/api.h, include/grub/efi/console_control.h,
42233 include/grub/efi/efi.h, include/grub/efi/pe32.h,
42234 include/grub/i386/efi/time.h, kern/efi/efi.c,
42235 kern/i386/efi/init.c, kern/i386/efi/startup.S,
42236 and util/i386/efi/grub-mkimage.c.
42237
42238 * Makefile.in (RMKFILES): Added i386-efi.rmk.
42239
42240 * genmk.rb (PModule#rule): Do not export symbols if
42241 #{prefix}_EXPORTS is set to "no".
42242
42243 * conf/i386-efi.mk: New file.
42244 * conf/i386-efi.rmk: Likewise.
42245 * include/grub/efi/api.h: Likewise.
42246 * include/grub/efi/console_control.h: Likewise.
42247 * include/grub/efi/efi.h: Likewise.
42248 * include/grub/efi/pe32.h: Likewise.
42249 * include/grub/i386/efi/time.h: Likewise.
42250 * kern/efi/efi.c: Likewise.
42251 * kern/i386/efi/init.c: Likewise.
42252 * kern/i386/efi/startup.S: Likewise.
42253 * util/i386/efi/grub-mkimage.c: Likewise.
42254
422552006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 42256
42257 * include/grub/script.h: Include <grub/parser.h> and
42258 "grub_script.tab.h".
42259 (struct grub_lexer_param): New struct.
42260 (struct grub_parser_param): Likewise.
42261 (grub_script_create_arglist): Pass the state in an argument.
42262 (grub_script_add_arglist): Likewise.
42263 (grub_script_create_cmdline): Likewise.
42264 (grub_script_create_cmdblock): Likewise.
42265 (grub_script_create_cmdif): Likewise.
42266 (grub_script_create_cmdmenu): Likewise.
42267 (grub_script_add_cmd): Likewise.
42268 (grub_script_arg_add): Likewise.
42269 (grub_script_lexer_ref): Likewise.
42270 (grub_script_lexer_deref): Likewise.
42271 (grub_script_lexer_record_start): Likewise.
42272 (grub_script_lexer_record_stop): Likewise.
42273 (grub_script_mem_record): Likewise.
42274 (grub_script_mem_record_stop): Likewise.
42275 (grub_script_malloc): Likewise.
42276 (grub_script_yylex): Likewise.
42277 (grub_script_yyparse): Likewise.
42278 (grub_script_yyerror): Likewise.
42279 (grub_script_yylex): Likewise.
42280 (grub_script_lexer_init): Return the state.
42281
42282 * normal/lexer.c (grub_script_lexer_state): Removed variable.
42283 (grub_script_lexer_done): Likewise.
42284 (grub_script_lexer_getline): Likewise.
42285 (grub_script_lexer_refs): Likewise.
42286 (script): Likewise.
42287 (newscript): Likewise.
42288 (record): Likewise.
42289 (recording): Likewise.
42290 (recordpos): Likewise.
42291 (recordlen): Likewise.
42292 (grub_script_lexer_init): Return the state instead of setting
42293 global variables.
42294 (grub_script_lexer_ref): Use the newly added argument for state
42295 instead of globals.
42296 (grub_script_lexer_deref): Likewise.
42297 (grub_script_lexer_record_start): Likewise.
42298 (grub_script_lexer_record_stop): Likewise.
42299 (recordchar): Likewise.
42300 (nextchar): Likewise.
42301 (grub_script_yylex2): Likewise.
42302 (grub_script_yylex): Likewise.
42303 (grub_script_yyerror): Likewise.
42304
42305 * normal/parser.y (func_mem): Removed variable.
42306 (menu_entry): Likewise.
42307 (err): Likewise.
42308 (%lex-param): New parser option.
42309 (%parse-param): Likewise.
42310 (script): Always return the AST.
42311 (argument): Pass the state around.
42312 (arguments): Likewise.
42313 (grubcmd): Likewise.
42314 (commands): Likewise.
42315 (function): Likewise.
42316 (menuentry): Likewise.
42317 (if_statement): Likewise.
42318 (if): Likewise.
42319
42320 * normal/script.c (grub_script_memused): Removed variable.
42321 (grub_script_parsed): Likewise.
42322 (grub_script_malloc): Added a state argument. Use that instead of
42323 global variables.
42324 (grub_script_mem_record): Likewise.
42325 (grub_script_mem_record_stop): Likewise.
42326 (grub_script_arg_add): Likewise.
42327 (grub_script_add_arglist): Likewise.
42328 (grub_script_create_cmdline): Likewise.
42329 (grub_script_create_cmdif): Likewise.
42330 (grub_script_create_cmdmenu): Likewise.
42331 (grub_script_add_cmd): Likewise.
42332 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 42333
e2a8c904 423342006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 42335
42336 * normal/command.c (grub_command_init): Remove the title command.
42337
42338 * normal/lexer.c (grub_script_yylex): Renamed from this...
42339 (grub_script_yylex2): ... to this.
42340 (grub_script_yylex): New function. Temporary
42341 introduced to filter some tokens.
42342 (grub_script_yyerror): Print a newline.
42343
42344 * normal/main.c (read_config_file): Output information about the
42345 lines that contain errors. Wait for a key after all lines have
42346 been processed. Don't return an empty menu.
42347
42348 * normal/parser.y (func_mem): Don't initialize.
42349 (menu_entry): Likewise.
42350 (err): New variable.
42351 (script): Don't return anything when an error was encountered.
42352 (ws, returns): Removed rules.
42353 (argument): Disabled concatenated variable support.
42354 (arguments): Remove explicit separators.
42355 (grubcmd): Likewise.
42356 (function): Likewise.
42357 (menuentry): Likewise.
42358 (if): Likewise.
42359 (commands): Likewise. Add error handling.
42360
42361 * normal/script.c (grub_script_create_cmdline): If
42362 `grub_script_parsed' is 0, assume the parser encountered an error.
42363
c9a86192 423642006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
42365
42366 * configure.ac: Add support for EFI. Fix the typo
42367 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
42368
70f3b243 423692006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
42370
42371 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
42372 foreign multibyte characters should be shown correctly.
42373
65f201ad 423742006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
42375
42376 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
42377 calculation.
42378 (read_config_file): Made it to close file before returning.
42379
b4b93674 423802006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
42381
42382 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
42383 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
42384 video/i386/pc/vbefill.c.
42385
42386 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
42387 video/i386/pc/vbefill.c.
42388
42389 * include/grub/video.h (grub_video_blit_format): New enum.
42390 (grub_video_mode_info): Added new member blit_format.
42391 (grub_video_get_blit_format): New function prototype.
42392
42393 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
42394 function prototype.
42395 (grub_video_vbe_map_rgb): Likewise.
42396 (grub_video_vbe_unmap_color): Likewise.
42397
42398 * include/grub/i386/pc/vbeblit.h: New file.
42399
42400 * include/grub/i386/pc/vbefill.h: New file.
42401
42402 * video/video.c (grub_video_get_blit_format): New function.
42403 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
42404 (grub_video_vbe_map_rgb): Likewise.
42405 (grub_video_vbe_unmap_color): Likewise.
42406
42407 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
42408 optimized fills.
42409 (grub_video_vbe_blit_render_target): Changed to use more optimized
42410 blits.
42411 (grub_video_vbe_setup): Added detection for optimized settings.
42412 (grub_video_vbe_create_render_target): Likewise.
42413
42414 * video/i386/pc/vbeblit.c: New file.
42415
42416 * video/i386/pc/vbefill.c: New file.
42417
c2379b9c 424182006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
42419
42420 * font/manager.c (grub_font_get_glyph): Removed font fixup from
42421 here...
42422
42423 * util/unifont2pff.rb: ... and moved it to here. Improved argument
42424 parsing to support both hex and dec ranges. If filename was missing
42425 show usage information.
42426
bd0d7896 424272006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
42428
42429 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
42430 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
42431
42432 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
42433 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
42434 (video_mod_SOURCES): Added.
42435 (video_mod_CFLAGS): Likewise.
42436 (video_mod_LDFLAGS): Likewise.
42437 (gfxterm_mod_SOURCES): Likewise.
42438 (gfxterm_mod_CFLAGS): Likewise.
42439 (gfxterm_mod_LDFLAGS): Likewise.
42440 (videotest_mod_SOURCES): Likewise.
42441 (videotest_mod_CFLAGS): Likewise.
42442 (videotest_mod_LDFLAGS): Likewise.
42443 (vesafb_mod_SOURCES): Removed.
42444 (vesafb_mod_CFLAGS): Likewise.
42445 (vesafb_mod_LDFLAGS): Likewise.
42446 (vga_mod_SOURCES): Likewise.
42447 (vga_mod_CFLAGS): Likewise.
42448 (vga_mod_LDFLAGS): Likewise.
42449
42450 * commands/videotest.c: New file.
42451
42452 * font/manager.c (fill_with_default_glyph): Modified to use
42453 grub_font_glyph.
42454 (grub_font_get_glyph): Likewise.
42455 (fontmanager): Renamed from this...
42456 (font_manager): ... to this.
42457
42458 * include/grub/font.h (grub_font_glyph): Added new structure.
42459 (grub_font_get_glyph): Modified to use grub_font_glyph.
42460
42461 * include/grub/misc.h (grub_abs): Added as inline function.
42462
42463 * include/grub/video.h: New file.
42464
42465 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
42466 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
42467 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
42468 (grub_vbe_get_controller_info): Renamed from this...
42469 (grub_vbe_bios_get_controller_info): ... to this.
42470 (grub_vbe_get_mode_info): Renamed from this...
42471 (grub_vbe_bios_get_mode_info): ... to this.
42472 (grub_vbe_set_mode): Renamed from this...
42473 (grub_vbe_bios_set_mode): ... to this.
42474 (grub_vbe_get_mode): Renamed from this...
42475 (grub_vbe_bios_get_mode): ... to this.
42476 (grub_vbe_set_memory_window): Renamed from this...
42477 (grub_vbe_bios_set_memory_window): ... to this.
42478 (grub_vbe_get_memory_window): Renamed from this...
42479 (grub_vbe_bios_get_memory_window): ... to this.
42480 (grub_vbe_set_scanline_length): Renamed from this...
42481 (grub_vbe_set_scanline_length): ... to this.
42482 (grub_vbe_get_scanline_length): Renamed from this...
42483 (grub_vbe_bios_get_scanline_length): ... to this.
42484 (grub_vbe_set_display_start): Renamed from this...
42485 (grub_vbe_bios_set_display_start): ... to this.
42486 (grub_vbe_get_display_start): Renamed from this...
42487 (grub_vbe_bios_get_display_start): ... to this.
42488 (grub_vbe_set_palette_data): Renamed from this...
42489 (grub_vbe_bios_set_palette_data): ... to this.
42490 (grub_vbe_set_pixel_rgb): Removed.
42491 (grub_vbe_set_pixel_index): Likewise.
42492
42493 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
42494 from this...
42495 (grub_vbe_bios_get_controller_info): ... to this.
42496 (grub_vbe_get_mode_info): Renamed from this...
42497 (grub_vbe_bios_get_mode_info): ... to this.
42498 (grub_vbe_set_mode): Renamed from this...
42499 (grub_vbe_bios_set_mode): ... to this.
42500 (grub_vbe_get_mode): Renamed from this...
42501 (grub_vbe_bios_get_mode): ... to this.
42502 (grub_vbe_set_memory_window): Renamed from this...
42503 (grub_vbe_bios_set_memory_window): ... to this.
42504 (grub_vbe_get_memory_window): Renamed from this...
42505 (grub_vbe_bios_get_memory_window): ... to this.
42506 (grub_vbe_set_scanline_length): Renamed from this...
42507 (grub_vbe_set_scanline_length): ... to this.
42508 (grub_vbe_get_scanline_length): Renamed from this...
42509 (grub_vbe_bios_get_scanline_length): ... to this.
42510 (grub_vbe_set_display_start): Renamed from this...
42511 (grub_vbe_bios_set_display_start): ... to this.
42512 (grub_vbe_get_display_start): Renamed from this...
42513 (grub_vbe_bios_get_display_start): ... to this.
42514 (grub_vbe_set_palette_data): Renamed from this...
42515 (grub_vbe_bios_set_palette_data): ... to this.
42516 (grub_vbe_bios_get_controller_info): Fixed problem with registers
42517 getting corrupted after calling it. Added more pushes and pops.
42518 (grub_vbe_bios_set_mode): Likewise.
42519 (grub_vbe_bios_get_mode): Likewise.
42520 (grub_vbe_bios_get_memory_window): Likewise.
42521 (grub_vbe_bios_set_scanline_length): Likewise.
42522 (grub_vbe_bios_get_scanline_length): Likewise.
42523 (grub_vbe_bios_get_display_start): Likewise.
42524 (grub_vbe_bios_set_palette_data): Likewise.
42525
42526 * normal/cmdline.c (cl_set_pos): Refresh the screen.
42527 (cl_insert): Likewise.
42528 (cl_delete): Likewise.
42529
42530 * term/gfxterm.c: New file.
42531
42532 * term/i386/pc/vesafb.c: Removed file.
42533
42534 * video/video.c: New file.
42535
42536 * video/i386/pc/vbe.c (real2pm): Added new function.
42537 (grub_video_vbe_draw_pixel): Likewise.
42538 (grub_video_vbe_get_video_ptr): Likewise.
42539 (grub_video_vbe_get_pixel): Likewise
42540 (grub_video_vbe_init): Likewise.
42541 (grub_video_vbe_fini): Likewise.
42542 (grub_video_vbe_setup): Likewise.
42543 (grub_video_vbe_get_info): Likewise.
42544 (grub_video_vbe_set_palette): Likewise.
42545 (grub_video_vbe_get_palette): Likewise.
42546 (grub_video_vbe_set_viewport): Likewise.
42547 (grub_video_vbe_get_viewport): Likewise.
42548 (grub_video_vbe_map_color): Likewise.
42549 (grub_video_vbe_map_rgb): Likewise.
42550 (grub_video_vbe_map_rgba): Likewise.
42551 (grub_video_vbe_unmap_color): Likewise.
42552 (grub_video_vbe_fill_rect): Likewise.
42553 (grub_video_vbe_blit_glyph): Likewise.
42554 (grub_video_vbe_blit_bitmap): Likewise.
42555 (grub_video_vbe_blit_render_target): Likewise.
42556 (grub_video_vbe_scroll): Likewise.
42557 (grub_video_vbe_swap_buffers): Likewise.
42558 (grub_video_vbe_create_render_target): Likewise.
42559 (grub_video_vbe_delete_render_target): Likewise.
42560 (grub_video_vbe_set_active_render_target): Likewise.
42561 (grub_vbe_set_pixel_rgb): Remove function.
42562 (grub_vbe_set_pixel_index): Likewise.
42563 (index_color_mode): Remove static variable.
42564 (active_mode): Likewise.
42565 (framebuffer): Likewise.
42566 (bytes_per_scan_line): Likewise.
42567 (grub_video_vbe_adapter): Added new static variable.
42568 (framebuffer): Likewise.
42569 (render_target): Likewise.
42570 (initial_mode): Likewise.
42571 (mode_in_use): Likewise.
42572 (mode_list): Likewise.
42573
5f97350b 425742006-03-10 Marco Gerards <marco@gnu.org>
42575
42576 * configure.ac (AC_INIT): Bumped to 1.93.
42577
42578 * DISTLIST: Added `include/grub/hfs.h'.
42579
a3c5c6f8 425802006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
42581
42582 * boot/i386/pc/boot.S (general_error): Before looping, try INT
42583 18H, which might help the BIOS falling back to next boot media.
42584
6de53d26 425852006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
42586
42587 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
42588 Poe Chen <poe.poechen@gmail.com>.
42589
77c4a393 425902006-01-17 Marco Gerards <marco@gnu.org>
42591
42592 * include/grub/normal.h: Include <grub/script.h>.
42593 (grub_command_list): Removed struct.
42594 (grub_command_list_t): Removed type.
42595 (grub_menu_entry): Remove members `num' and `command_list'. Add
42596 members `commands' and `sourcecode'.
42597 * include/grub/script.h: Add inclusion guards.
42598 (grub_script_cmd_menuentry): New struct.
42599 (grub_script_execute_menuentry): New prototype.
42600 (grub_script_lexer_record_start): Likewise.
42601 (grub_script_lexer_record_stop): Likewise.
42602 * normal/execute.c (grub_script_execute_menuentry): New function.
42603 * normal/lexer.c (record, recording, recordpos, recordlen): New
42604 variables.
42605 (grub_script_lexer_record_start): New function.
42606 (grub_script_lexer_record_stop): Likewise.
42607 (recordchar): Likewise.
42608 (nextchar): Likewise.
42609 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
42610 2048 as the buffer size. Add the tokens `menuentry' and `@'.
42611 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
42612 (current_menu): New variable.
42613 (free_menu): Mainly rewritten.
42614 (grub_normal_menu_addentry): New function.
42615 (read_config_file): Rewritten.
42616 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 42617 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 42618 the menu entry.
42619 (run): Mainly rewritten.
42620 * normal/parser.y (menu_entry): New variable.
42621 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
42622 (menuentry): New rule.
42623 (command): Add `menuentry'.
42624 (if_statement): Allow additional returns before `fi'.
42625 * normal/script.c (grub_script_create_cmdmenu): New function.
42626
144f1f98 426272006-01-03 Marco Gerards <marco@gnu.org>
42628
42629 * INSTALL: GNU Bison is required.
42630 * configure.ac: Rewritten the test to detect Bison.
42631 * Makefile.in (YACC): New variable. Reported by Xun Sun
42632 <xun.sun.cn@gmail.com>.
42633
af4b2d89 426342006-01-03 Marco Gerards <marco@gnu.org>
42635
42636 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
42637 the HFS+ filesystem to filesystem blocks.
42638 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
42639 GCC warning is silenced.
42640
15643b71 426412006-01-03 Marco Gerards <marco@gnu.org>
42642
42643 * partmap/apple.c (apple_partition_map_iterate): Convert the data
42644 read from disk from big endian to host byte order.
42645
00905879 426462006-01-03 Hollis Blanchard <hollis@penguinppc.org>
42647
42648 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
42649 documentation.
42650 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
42651 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
42652 embedded HFS+ filesystem.
42653 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
42654 (grub_hfs_sblock): Move from here...
42655 * include/grub/hfs.h: To here... New file.
42656 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
42657 documentation.
42658 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
42659 New macros.
42660 (grub_hfsplus_volheader): Change type of member `magic' to
42661 `grub_uint16_t'.
42662 (grub_hfsplus_data): Add new member `embedded_offset'.
42663 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
42664 returned block.
42665 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
42666 Calculate the offset.
42667
8899bc3e 426682005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
42669
42670 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
42671 Removed.
42672 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
42673
ae8c0277 426742005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
42675
42676 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
42677 ENV->NAME is NULL after allocating ENV->VALUE.
42678
07084456 426792005-12-25 Marco Gerards <marco@gnu.org>
42680
42681 * kern/env.c (grub_env_set): Rewritten the error handling code.
42682
4750f5f1 426832005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
42684
42685 * geninit.sh: Made more robust, and more portable.
42686
50214199 426872005-12-25 Marco Gerards <marco@gnu.org>
42688
42689 Add support for Apple HFS+ filesystems.
f19dbdb7 42690
50214199 42691 * fs/hfsplus.c: New file.
42692
42693 * DISTLIST: Added `fs/hfsplus.c'.
42694
42695 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
42696 (hfsplus_mod_SOURCES): New variable.
42697 (hfsplus_mod_CFLAGS): Likewise.
42698 (hfsplus_mod_LDFLAGS): Likewise.
42699 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
42700 (grub_setup_SOURCES): Likewise.
42701 (grub_mkdevicemap_SOURCES): Likewise.
42702 (grub_emu_SOURCES): Likewise.
42703 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
42704
42705 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
42706
42707 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
42708
befaed6c 427092005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
42710
42711 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
42712 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
42713 include/grub/parser.h, include/grub/script.h, kern/parser.c,
42714 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
42715 normal/lexer.c, normal/parser.y, normal/script.c, and
42716 partmap/gpt.c.
42717 Removed kern/sparc64/cache.c.
42718
42719 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
42720 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
42721 grub_emu_init.c.
42722
42723 * configure.ac (AC_INIT): Bumped to 1.92.
42724
6a124103 427252005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
42726
42727 * kern/err.c (grub_error_push): Added new function to support error
42728 stacks.
42729 (grub_error_pop): Likewise.
42730 (grub_error_stack_items): New local variable to support error stacks.
42731 (grub_error_stack_pos): Likewise.
42732 (grub_error_stack_assert): Likewise.
42733 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
42734 stack depth.
42735 (grub_print_error): Added support to print errors from error stack.
42736
42737 * include/grub/err.h (grub_error_push): Added function prototype.
42738 (grub_error_pop): Likewise.
42739
be973c1b 427402005-12-09 Hollis Blanchard <hollis@penguinppc.org>
42741
42742 * configure.ac: Accept `powerpc64' as host_cpu.
42743 (amd64): Rename to `biarch32'.
42744
42745 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
42746 non-cacheline-aligned addresses.
42747
42748 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
42749 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
42750 if `size' is non-zero.
42751
b04216ab 427522005-12-03 Marco Gerards <mgerards@xs4all.nl>
42753
42754 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
42755 and `cd' to make sure the filename is not prefixed with a
42756 directory name.
42757 (pkgdata_MODULES): Add `gpt.mod'.
42758 (gpt_mod_SOURCES): New variable.
42759 (gpt_mod_CFLAGS): Likewise.
42760 (gpt_mod_LDFLAGS): Likewise.
42761
42762 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
42763
42764 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
42765 New macro.
42766
42767 * partmap/gpt.c: New file.
42768
42769 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
42770 GPT partition map is detected.
42771
41730ed9 427722005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
42773
42774 * commands/i386/pc/play.c: New file.
42775 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
42776 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
42777 macros.
f19dbdb7 42778
95dc3643 427792005-11-27 Marco Gerards <mgerards@xs4all.nl>
42780
42781 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
42782 ((unused))' to silence gcc warning.
42783
1569ec51 427842005-11-26 Hollis Blanchard <hollis@penguinppc.org>
42785
42786 * configure.ac: Correct `AC_PROG_YACC' test.
42787
9abde152 427882005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42789
42790 * util/powerpc/ieee1275/grub-install.in: Run the mount point
42791 check before installing files.
42792
44b83271 427932005-11-22 Mike Small <smallm@panix.com>
42794
42795 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
42796 number regex so multidigit numbers are recognized correctly.
42797
427982005-11-22 Mike Small <smallm@panix.com>
42799
42800 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
42801 debugging message before attempting to claim memory.
42802 (grub_rescue_cmd_initrd): Add a claim debugging message and try
42803 multiple addresses in case of failure.
42804
9c12956b 428052005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42806
42807 * term/tparm.c (get_space): Remove empty `if' statement.
42808
42809 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
42810
42811 * kern/parser.c (check_varstate): Rename `state' to 's'.
42812
aeaf81d9 428132005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42814
42815 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
42816 variable definitions to the beginning of each function. Sort stack
42817 variables by size.
42818 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
42819 `buf' argument to `char *'.
42820
79bbb63f 428212005-11-22 Hollis Blanchard <hollis@penguinppc.org>
42822
42823 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
42824 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 42825 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 42826 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
42827 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
42828 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
42829 configfile.mod, search.mod, gzio.mod and test.mod.
42830 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
42831 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
42832 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
42833 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
42834 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
42835 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
42836 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
42837 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
42838 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
42839 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
42840 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
42841 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
42842 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
42843 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
42844 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
42845 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
42846 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
42847 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
42848 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
42849 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
42850 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
42851 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
42852 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
42853
42854 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
42855 `grep --include'.
42856 (pkgdata_MODULES): Add test.mod.
42857
233b1628 428582005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
42859
42860 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
42861 appending to variables with "+=".
42862 (PModule): Use full pathname to generate *.lst filenames.
42863
42864 * Makefile.in: Fixed list rules moved from genmk.rb.
42865 (.DELETE_ON_ERROR): New special target.
42866 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
42867
42868 * conf/i386-pc.rmk: Include conf/common.mk.
42869 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 42870 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 42871 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
42872 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
42873 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
42874 configfile.mod, search.mod, gzio.mod and test.mod.
42875 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
42876 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
42877 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
42878 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
42879 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
42880 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
42881 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
42882 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
42883 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
42884 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
42885 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
42886 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
42887 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
42888 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
42889 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
42890 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
42891 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
42892 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
42893 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
42894 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
42895 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
42896 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
42897 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
42898 here...
42899 * conf/common.rmk: ... to here. New file.
42900
42901 * conf/common.mk: New file.
42902
16f820c8 429032005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
42904
42905 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
42906 (grub_script.tab.c): ... here.
42907
42908 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
42909 (grub_script.tab.c): ... here.
42910
42911 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
42912 (grub_script.tab.c): ... here.
42913
42914 * normal/command.c (grub_command_find): Fixed a memory leak of
42915 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
42916
63ba1554 429172005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
42918
42919 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
42920 "@" which marks the start of a comment on ARM.
42921 (VARIABLE): Likewise.
42922
7f67dc13 429232005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
42924
79bbb63f 42925 Add support for Linux/ADFS partition tables.
7f67dc13 42926
42927 * partmap/acorn.c: New file.
42928
42929 * include/grub/acorn_filecore.h: Likewise.
42930
42931 * DISTLIST: Added `partmap/acorn.c' and
42932 `include/grub/acorn_filecore.h'.
f19dbdb7 42933
7f67dc13 42934 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
42935 `partmap/acorn.c'.
42936 (pkgdata_MODULES): Add `acorn.mod'.
42937 (acorn_mod_SOURCES): New variable.
42938 (acorn_mod_CFLAGS): Likewise.
42939
42940 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
42941 `partmap/acorn.c'.
42942 (pkgdata_MODULES): Add `acorn.mod'.
42943 (acorn_mod_SOURCES): New variable.
42944 (acorn_mod_CFLAGS): Likewise.
42945
42946 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
42947 (pkgdata_MODULES): Add `acorn.mod'.
42948 (acorn_mod_SOURCES): New variable.
42949 (acorn_mod_CFLAGS): Likewise.
42950 (acorn_mod_LDFLAGS): Likewise.
42951
42952 * include/types.h (grub_disk_addr_t): New typedef.
42953
6d099807 429542005-11-13 Marco Gerards <mgerards@xs4all.nl>
42955
42956 * geninit.sh: New file.
42957
42958 * geninitheader.sh: Likewise.
42959
42960 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
42961 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
42962 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
42963 * commands/configfile.c (grub_configfile_init)
42964 (grub_configfile_fini): Likewise.
42965 * commands/default.c (grub_default_init, grub_default_fini):
42966 Likewise.
42967 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
42968 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
42969 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
42970 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
42971 Likewise.
42972 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
42973 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
42974 Likewise.
42975 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 42976 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 42977 Likewise.
42978 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
42979 Likewise.
fe6b695a 42980 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 42981 Likewise.
42982 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
42983 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
42984 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
42985 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
42986 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
42987 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
42988 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
42989 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
42990 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
42991 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
42992 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
42993 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
42994 * partmap/amiga.c (grub_amiga_partition_map_init)
42995 (grub_amiga_partition_map_fini): Likewise.
42996 * partmap/apple.c (grub_apple_partition_map_init)
42997 (grub_apple_partition_map_fini): Likewise.
42998 * partmap/pc.c (grub_pc_partition_map_init)
42999 (grub_pc_partition_map_fini): Likewise.
43000 * partmap/sun.c (grub_sun_partition_map_init,
43001 grub_sun_partition_map_fini): Likewise.
43002 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
43003 Likewise.
43004
43005 * util/grub-emu.c: Include <grub_modules_init.h>.
43006 (main): Don't initialize and de-initialize any modules directly,
43007 use `grub_init_all' and `grub_fini_all' instead.
43008
43009 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
43010 `grub_vesafb_mod_init'.
43011 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
43012 all users.
43013 * term/i386/pc/vga.c (grub_vga_init): Renamed to
43014 `grub_vga_mod_init'. Updated all users.
43015 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 43016
6d099807 43017 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
43018 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
43019 rules.
43020
43021 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
43022 Generate a function to initialize the module in utilities.
43023 Updated all callers.
43024 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
43025 initialize the module in utilities. Updated all callers.
43026
9046bcf0 430272005-11-09 Hollis Blanchard <hollis@penguinppc.org>
43028
43029 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
43030 escape sequence and a literal ^L to clear the screen.
43031
43032 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
43033 when returning from Open Firmware.
43034
d13ea639 430352005-11-09 Hollis Blanchard <hollis@penguinppc.org>
43036
43037 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
43038 (grub_ofconsole_height): Likewise.
43039 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
43040 manually insert a '\n'.
43041 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
43042 `grub_ofconsole_height'. Return early if these are already set.
43043
a8fcf206 430442005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
43045
43046 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
43047 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
43048 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
43049 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
43050 and `normal/script.c'.
43051 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
43052 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
43053 (test_mod_SOURCES): New variable.
43054 (test_mod_CFLAGS): Likewise.
43055 (test_mod_LDFLAGS): Likewise.
43056 (pkgdata_MODULES): Add `test.mod'.
43057 (grub_script.tab.c): New rule.
43058 (grub_script.tab.h): Likewise.
43059
b6b32745 430602005-11-07 Marco Gerards <mgerards@xs4all.nl>
43061
43062 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
43063 `commands/test.c', `normal/execute.c', `normal/lexer.c',
43064 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
43065 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
43066 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
43067 (test_mod_SOURCES): New variable.
43068 (test_mod_CFLAGS): Likewise.
43069 (pkgdata_MODULES): Add `test.mod'.
43070 (grub_script.tab.c): New rule.
43071 (grub_script.tab.h): Likewise.
43072
daac212a 430732005-11-06 Marco Gerards <mgerards@xs4all.nl>
43074
43075 Add initial scripting support.
43076
43077 * commands/test.c: New file.
43078 * include/grub/script.h: Likewise.
43079 * normal/execute.c: Likewise.
43080 * normal/function.c: Likewise.
43081 * normal/lexer.c: Likewise.
43082 * normal/parser.y: Likewise.
43083 * normal/script.c: Likewise.
43084
43085 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 43086
daac212a 43087 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
43088 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
43089 `normal/function.c' and `normal/script.c'.
43090 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
43091 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 43092 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
43093 variables.
daac212a 43094 (pkgdata_MODULES): Add `test.mod'.
43095 (grub_script.tab.c): New rule.
43096 (grub_script.tab.h): Likewise.
43097
43098 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
43099
43100 * include/grub/normal.h (grub_test_init): New prototype.
43101 (grub_test_fini): Likewise.
f19dbdb7 43102
daac212a 43103 * normal/command.c: Include <grub/script.h>.
43104 (grub_command_execute): Rewritten.
f19dbdb7 43105
daac212a 43106 * util/grub-emu.c (main): Call `grub_test_init' and
43107 `grub_test_fini'.
43108
77500b2b 431092005-11-03 Hollis Blanchard <hollis@penguinppc.org>
43110
43111 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
43112 to 0.
43113 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
43114 there are no pending characters.
43115
e45deb9e 431162005-11-03 Hollis Blanchard <hollis@penguinppc.org>
43117
43118 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
43119 `grub_strndup' to drop device arguments. Replace unnecessary
43120 `grub_strndup' with `grub_strdup'.
43121
4ce32619 431222005-11-03 Hollis Blanchard <hollis@penguinppc.org>
43123
43124 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
43125 `debug' environment variable has been set.
43126
431272005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 43128
4ce32619 43129 * Makefile.in (install-local): Use $(DATA).
43130 (uninstall): Likewise.
43131 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
43132 (sbin_UTILITIES): ... to here.
43133 (sbin_SCRIPTS): New variable.
43134 (grub_install_SOURCES): New variable.
43135 * util/powerpc/ieee1275/grub-install.in: New file.
43136 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
43137 variable.
43138 (add_segments): Call `grub_util_get_path'.
43139
25fe6f03 431402005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
43141
43142 From Timothy Baldwin:
43143 * commands/ls.c (grub_ls_list_files): Close FILE with
43144 grub_file_close.
43145 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
43146
04ccf3ec 431472005-10-24 Marco Gerards <mgerards@xs4all.nl>
43148
43149 * include/grub/parser.h: New file.
43150
43151 * kern/parser.c: Likewise.
43152
43153 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
43154 (grub_setup_SOURCES): Likewise.
43155 (grub_probefs_SOURCES): Likewise.
43156 (grub_emu_SOURCES): Likewise.
43157 (kernel_img_HEADERS): Add `parser.h'.
43158
43159 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
43160 (grub_emu_SOURCES): Add `kern/parser.c'.
43161 (grubof_SOURCES): Likewise.
43162
43163 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
43164 (grubof_SOURCES): Add `kern/parser.c'.
43165
43166 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
43167
43168 * kern/misc.c (grub_split_cmdline): Removed function.
43169
43170 * kern/rescue.c: Include <grub/parser.h>.
43171 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
43172 of `grub_split_cmdline'.
43173
43174 * normal/command.c: Include <grub/parser.h>.
43175 (grub_command_execute): Use `grub_parser_split_cmdline' instead
43176 of `grub_split_cmdline'.
43177
43178 * normal/completion.c: Include <grub/parser.h>.
43179 (cmdline_state): New variable.
43180 (iterate_dir): End the filename with a quote depending on the
43181 command line state.
43182 (get_state): new function.
43183 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
43184 split the arguments and determine the current argument. When the
43185 argument string is not quoted, escape all spaces.
43186
6d8f4b0e 431872005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
43188
43189 * normal/sparc64/setjmp.S: New file.
43190
15cf03ed 431912005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
43192
43193 * include/grub/sparc64/libgcc.h: New file.
43194 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
43195 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
43196 normal/sparc64/setjmp.c.
43197
03e8661a 431982005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
43199
43200 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
43201 * kern/sparc64/cache.S: New file.
43202 * kern/sparc64/cache.c: Removed.
43203 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
43204 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
43205 -mtune=ultrasparc.
43206 (COMMON_LDFLAGS): Add -melf64_sparc.
43207 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
43208 (grubof_SOURCES): Use cache.S instead of cache.c.
43209 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
43210 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
43211 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
43212 commented though.
43213 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
43214 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
43215 (linux_mod_CFLAGS): Commented out.
43216 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
43217 out because module isn't built.
43218 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
43219 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
43220 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
43221 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
43222 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
43223 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
43224 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
43225 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
43226 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
43227 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
43228 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
43229 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
43230 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
43231 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
43232
34eeec8a 432332005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
43234
43235 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
43236 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
43237 longer, because HFS should not be used on PC.
43238
708367a3 432392005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
43240
43241 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
43242 consistently within the loop.
43243
6fa1251a 432442005-10-15 Marco Gerards <mgerards@xs4all.nl>
43245
43246 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
43247 directory can not be read.
43248
4801580b 432492005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
43250
43251 * configure.ac (AC_INIT): Increase the version number to 1.91.
43252
43253 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
43254 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
43255 term/i386/pc/serial.c.
43256
219ad426 432572005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
43258
43259 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
43260 file size must be permitted.
43261
43262 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
43263 between %ah and %al.
43264
688e5699 432652005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
43266
43267 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
43268 grub_uint64_t.
43269 Call the hook with a NUL-terminated filename.
43270 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
43271 grub_cpu_to_be32.
43272
43273 * kern/term.c (cursor_state): New variable.
43274 (grub_term_set_current): Reset the cursor state on a new
43275 terminal.
43276 (grub_setcursor): Rewritten to use CURSOR_STATE.
43277 (grub_getcursor): New function.
43278
43279 * include/grub/term.h (grub_getcursor): New prototype.
43280
43281 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
43282 integers on ARM. Reported by Timothy Baldwin
43283 <T.E.Baldwin99@members.leeds.ac.uk>.
43284
bb34586c 432852005-10-11 Marco Gerards <mgerards@xs4all.nl>
43286
43287 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
43288 allocated.
43289 (grub_sfs_dir): Likewise.
43290
9a909877 432912005-10-09 Marco Gerards <mgerards@xs4all.nl>
43292
43293 Add support for the SFS filesystem.
43294
43295 * fs/sfs.c: New file.
43296
43297 * DISTLIST: Added `fs/sfs.c'.
43298
43299 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
43300 (grub_probefs_SOURCES): Likewise.
43301 (grub_emu_SOURCES): Likewise.
43302 (pkgdata_MODULES): Add `sfs.mod'.
43303 (sfs_mod_SOURCES): New variable.
43304 (sfs_mod_CFLAGS): Likewise.
43305 (sfs_mod_LDFLAGS): Likewise.
43306
43307 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
43308 (pkgdata_MODULES): Add `sfs.mod'.
43309 (sfs_mod_SOURCES): New variable.
43310 (sfs_mod_CFLAGS): Likewise.
43311
43312 * util/grub-emu.c (main): Call `grub_sfs_init' and
43313 `grub_sfs_fini'.
43314
43315 * include/grub/fs.h (grub_sfs_init): New prototype.
43316 (grub_sfs_fini): Likewise.
43317
57bdbde3 433182005-10-07 Marco Gerards <mgerards@xs4all.nl>
43319
43320 Add support for the AFFS filesystem.
43321
43322 * fs/affs.c: New file.
43323
43324 * DISTLIST: Added `fs/affs.c'.
43325
43326 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
43327 (grub_probefs_SOURCES): Likewise.
43328 (grub_emu_SOURCES): Likewise.
43329 (pkgdata_MODULES): Add `affs.mod'.
43330 (affs_mod_SOURCES): New variable.
43331 (affs_mod_CFLAGS): Likewise.
43332 (affs_mod_LDFLAGS): Likewise.
43333
43334 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
43335 (pkgdata_MODULES): Add `affs.mod'.
43336 (affs_mod_SOURCES): New variable.
43337 (affs_mod_CFLAGS): Likewise.
43338
43339 * util/grub-emu.c (main): Call `grub_affs_init' and
43340 `grub_affs_fini'.
43341
43342 * include/grub/fs.h (grub_affs_init): New prototype.
43343 (grub_affs_fini): Likewise.
43344
047b67e0 433452005-10-01 Marco Gerards <mgerards@xs4all.nl>
43346
43347 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
43348
59b8208a 433492005-10-01 Marco Gerards <mgerards@xs4all.nl>
43350
43351 * configure.ac: Accept `x86_64' as host_cpu. In that case add
43352 `-m32' to CFLAGS.
43353
43354 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
43355 linking.
f19dbdb7 43356
59b8208a 43357 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
43358 (COMMON_LDFLAGS): New variable.
43359 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
43360 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
43361 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
43362 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
43363 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
43364 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
43365 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
43366 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
43367 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
43368 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
43369 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
43370 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
43371 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
43372 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
43373 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
43374 variables.
43375 (normal_mod_ASFLAGS): Add `-m32'.
43376
43377 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
43378 (grub_host_size_t, grub_host_ssize_t): New types.
43379 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 43380 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 43381 `GRUB_HOST_SIZEOF_VOID_P'.
43382
43383 * include/grub/kernel.h (struct grub_module_header): Type of
43384 member offset changed to `grub_host_off_t'. Type of member size
43385 changed to `grub_host_size_t'.
43386 (struct grub_module_info): Type of member offset changed to
43387 `grub_host_off_t'. Type of member size changed to
43388 `grub_host_size_t'.
43389
b4093103 433902005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
43391
43392 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 43393
b4093103 43394 * kern/i386/pc/startup.S (multiboot_header): New label.
43395 (multiboot_entry): Likewise.
43396 (multiboot_trampoline): Likewise.
43397
43398 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
43399 Increased to 0x4A0.
43400
43401 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
43402 put parentheses after a question mark.
43403 [!GRUB_UTIL] (my_mod): New variable.
43404
43405 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
43406
b2499b29 434072005-09-28 Marco Gerards <mgerards@xs4all.nl>
43408
43409 Adds support for the XFS filesystem. Btrees are not supported
43410 yet.
43411
43412 * fs/xfs.c: New file.
43413
43414 * DISTLIST: Added `fs/xfs.c'.
43415
43416 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
43417 (grub_probefs_SOURCES): Likewise.
43418 (grub_emu_SOURCES): Likewise.
43419 (pkgdata_MODULES): Add `xfs.mod'.
43420 (xfs_mod_SOURCES): New variable.
43421 (xfs_mod_CFLAGS): Likewise.
43422
43423 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
43424 (pkgdata_MODULES): Add `xfs.mod'.
43425 (xfs_mod_SOURCES): New variable.
43426 (xfs_mod_CFLAGS): Likewise.
43427
43428 * util/grub-emu.c (main): Call `grub_xfs_init' and
43429 `grub_xfs_fini'.
43430
43431 * include/grub/fs.h (grub_xfs_init): New prototype.
43432 (grub_xfs_fini): Likewise.
43433
f19dbdb7 43434
83d37a62 434352005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
43436
43437 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
43438 color modes, allow greater than 16 colors to be configured as
43439 a default palette.
43440
47d2d65e 434412005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
43442
43443 * normal/completion.c (complete_arguments): Add the qualifier
43444 const into OPTIONS.
43445
43446 From Omniflux <omniflux+lists@omniflux.com>:
43447 * include/grub/terminfo.h: New file.
43448 * include/grub/tparm.h: Likewise.
43449 * include/grub/i386/pc/serial.h: Likewise.
43450 * term/terminfo.c: Likewise.
43451 * term/tparm.c: Likewise.
43452 * term/i386/pc/serial.c: Likewise.
43453 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
43454 serial.mod.
43455 (terminfo_mod_SOURCES): New variable.
43456 (terminfo_mod_CFLAGS): Likewise.
43457 (serial_mod_SOURCES): Likewise.
43458 (serial_mod_CFLAGS): Likewise.
43459
48b671ff 434602005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
43461
43462 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
43463 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
43464 and kern/powerpc/ieee1275/cmain.c, respectively.
43465
43466 * boot/powerpc/ieee1275/crt0.S: Moved to ...
43467 * kern/powerpc/ieee1275/crt0.S: ... here.
43468
43469 * boot/powerpc/ieee1275/cmain.c: Moved to ...
43470 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 43471
48b671ff 43472 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
43473 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
43474 instead of boot/powerpc/ieee1275/crt0.S and
43475 boot/powerpc/ieee1275/cmain.c, respectively.
43476
43477 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
43478 sectors. It was not used anyway.
43479
09fc77a7 434802005-08-30 Hollis Blanchard <hollis@penguinppc.org>
43481
43482 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
43483 `unused parameter' warning.
43484
003789c7 434852005-08-30 Hollis Blanchard <hollis@penguinppc.org>
43486
43487 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
43488 function.
43489 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
43490 getcharwidth.
43491
67f44c86 434922005-08-28 Marco Gerards <metgerards@student.han.nl>
43493
43494 * include/grub/normal.h (enum grub_completion_type): Added
43495 `GRUB_COMPLETION_TYPE_ARGUMENT'.
43496
43497 * normal/cmdline.c (print_completion): Handle
43498 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
43499 * normal/menu_entry.c (store_completion): Likewise.
43500
43501 * normal/completion.c (complete_arguments): New function.
43502 (grub_normal_do_completion): Call `complete_arguments' when the
43503 current words start with a dash.
43504
0b5abe02 435052005-08-27 Marco Gerards <metgerards@student.han.nl>
43506
43507 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
43508 `gzio.mod' instead of `io.mod').
43509
d9864ee1 435102005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
43511
43512 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
43513 (DISTDIRS): Added io and video.
43514 Rewrite the search routine to make an output consistently.
43515
43516 * DISTLIST: Added conf/sparc64-ieee1275.mk,
43517 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
43518 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
43519 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
43520 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
43521 util/powerpc/ieee1275/misc.c.
f19dbdb7 43522
d9864ee1 43523 * include/grub/gzio.h: New file.
43524 * io/gzio.c: Likewise.
f19dbdb7 43525
d9864ee1 43526 * kern/file.c (grub_file_close): Call grub_device_close only if
43527 FILE->DEVICE is not NULL.
43528
43529 * include/grub/mm.h [!NULL] (NULL): New macro.
43530
43531 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
43532
43533 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
43534 (pkgdata_MODULES): Added gzio.mod.
43535 (gzio_mod_SOURCES): New variable.
43536 (gzio_mod_CFLAGS): Likewise.
43537
43538 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
43539 (pkgdata_MODULES): Added gzio.mod.
43540 (gzio_mod_SOURCES): New variable.
43541 (gzio_mod_CFLAGS): Likewise.
43542
43543 * commands/cat.c: Include grub/gzio.h.
43544 (grub_cmd_cat): Use grub_gzfile_open instead of
43545 grub_file_open.
f19dbdb7 43546
d9864ee1 43547 * commands/cmp.c: Include grub/gzio.h.
43548 (grub_cmd_cmp): Use grub_gzfile_open instead of
43549 grub_file_open.
43550
43551 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
43552 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
43553 grub_file_open.
43554 (grub_rescue_cmd_module): Likewise.
43555
fa46f4b5 435562005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
43557
43558 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
43559 kern/sparc64/ieee1275/init.c because it contains _start.
43560 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
43561
e9211b5d 435622005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
43563
43564 * configure.ac: Add support for sparc64 host with ieee1275
43565 firmware.
43566 * configure: Generated from configure.ac.
43567 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
43568 instead of int.
43569 (grub_ofdisk_read): Likewise.
43570 (grub_ofdisk_open): Use %p to print pointer values, and cast the
43571 pointers as (void *) to remove a warning.
43572 (grub_ofdisk_close): Likewise.
43573 (grub_ofdisk_read): Likewise.
43574 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
43575 returns, so make it return void to remove a warning.
43576 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
43577 Corresponding prototype change.
43578 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
43579 values, and cast the pointers as (void *) to remove a warning.
43580 (grub_mm_dump): Likewise.
43581 * conf/sparc64-ieee1275.mk: New file.
43582 * conf/sparc64-ieee1275.rmk: Likewise.
43583 * include/grub/sparc64/setjmp.h: Likewise.
43584 * include/grub/sparc64/types.h: Likewise.
43585 * include/grub/sparc64/ieee1275/console.h: Likewise.
43586 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
43587 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
43588 * include/grub/sparc64/ieee1275/time.h: Likewise.
43589 * kern/sparc64/cache.c: Likewise.
43590 * kern/sparc64/dl.c: Likewise.
43591 * kern/sparc64/ieee1275/init.c: Likewise.
43592 * kern/sparc64/ieee1275/openfw.c: Likewise.
43593
385c6a92 435942005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
43595
43596 * util/console.c (grub_ncurses_putchar): If C is greater than
43597 0x7f, set C to a question mark.
43598 (grub_ncurses_getcharwidth): New function.
43599 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
43600 getcharwidth.
43601
43602 * normal/menu.c (print_entry): Made aware of Unicode. First,
43603 convert TITLE to UCS-4, and predict the cursor position by
43604 grub_getcharwidth.
43605
43606 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
43607 const to SRC.
43608 * kern/misc.c (grub_utf16_to_utf8): Likewise.
43609
16ccb8b1 436102005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
43611
43612 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
43613 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
43614 grub_strcat.
43615
43616 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
43617 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
43618 grub_strcpy and grub_strlen. Take it into account that a space
43619 character is inserted as a delimiter.
43620
6a85ce79 436212005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
43622
43623 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 43624 invalid magic in the error.
6a85ce79 43625
43626 * commands/search.c: New file.
f19dbdb7 43627
6a85ce79 43628 * util/grub-emu.c (main): Call grub_search_init and
43629 grub_search_fini.
43630
43631 * kern/rescue.c (grub_rescue_print_disks): Removed.
43632 (grub_rescue_print_devices): New function.
43633 (grub_rescue_cmd_ls): Use grub_device_iterate with
43634 grub_rescue_print_devices instead of grub_disk_dev_iterate with
43635 grub_rescue_print_disks.
43636
43637 * kern/partition.c (grub_partition_iterate): Return the result of
43638 PARTMAP->ITERATE instead of GRUB_ERRNO.
43639
43640 * kern/device.c: Include grub/partition.h.
43641 (grub_device_iterate): New function.
43642
43643 * include/grub/partition.h (grub_partition_iterate): Return int
43644 instead of grub_err_t.
43645
43646 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
43647 prototype.
43648 [GRUB_UTIL] (grub_search_fini): Likewise.
43649
43650 * include/grub/device.h (grub_device_iterate): New prototype.
43651
43652 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
43653 commands/search.c.
43654 (pkgdata_MODULES): Added search.mod.
43655 (search_mod_SOURCES): New variable.
43656 (search_mod_CFLAGS): Likewise.
43657
43658 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
43659 (pkgdata_MODULES): Added search.mod.
43660 (search_mod_SOURCES): New variable.
43661 (search_mod_CFLAGS): Likewise.
43662
43663 * commands/ls.c (grub_ls_list_disks): Renamed to ...
43664 (grub_ls_list_devices): ... this, and use grub_device_iterate.
43665 All callers changed.
43666
43667 * DISTLIST: Added commands/search.c.
43668
ef095434 436692005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
43670
43671 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
43672 conversion.
43673 (grub_getcharwidth): New function.
43674
43675 * kern/misc.c (grub_utf8_to_ucs4): New function.
43676
43677 * include/grub/term.h (struct grub_term): Added a new member
43678 "getcharwidth".
43679 (grub_getcharwidth): New prototype.
43680
43681 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
43682
43683 * term/i386/pc/console.c (map_char): New function. Segregated from
43684 grub_console_putchar.
43685 (grub_console_putchar): Use map_char.
43686 (grub_console_getcharwidth): New function.
43687 (grub_console_term): Specified grub_console_getcharwidth as
43688 getcharwidth.
43689
43690 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
43691 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
43692
43693 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
43694 GRUB_ERRNO.
43695 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
43696 on grub_strtoul completely.
43697 (write_char): Declare local variables in the beginning of the
43698 function.
43699 (grub_vesafb_getcharwidth): New function.
43700 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
43701 getcharwidth.
43702
1f0a95e4 437032005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
43704
43705 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
43706 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
43707 commands/i386/pc/vbetest.c.
43708
43709 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
43710 call grub_vbe_get_controller_info again, because the returned
43711 information is volatile.
43712 (grub_vbe_set_video_mode): Mostly rewritten.
43713 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
43714 grub_vbe_status_t correctly.
43715 (grub_vbe_get_video_mode_info): Likewise.
43716 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
43717 several if statements.
43718
43719 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
43720 * commands/i386/pc/vbeinfo.c: ... this.
43721
43722 * commands/i386/pc/vbe_test.c: Renamed to ...
43723 * commands/i386/pc/vbetest.c: ... this.
43724
43725 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
43726 ...
43727 (grub_cmd_vbeinfo): ... this. Save video modes before
43728 iterating. Skip a video mode, if it is not available, not enough
43729 information is given or it is monochrome. Show the memory
43730 model. Leave the interpretation of MODEVAR to grub_strtoul
43731 completely.
43732 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
43733 (GRUB_MOD_FINI): Likewise.
43734
43735 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
43736 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
43737 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
43738 duplicated grub_env_get. Leave the interpretation of MODEVAR to
43739 grub_strtoul completely.
43740 (real2pm): Removed.
43741 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
43742 (GRUB_MOD_FINI): Likewise.
43743
43744 * normal/misc.c: Include grub/mm.h.
43745
43746 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
43747 vbe_list_modes with vbetest.mod and vbeinfo.mod.
43748 (vbe_list_modes_mod_SOURCES): Removed.
43749 (vbe_list_modes_mod_CFLAGS): Likewise.
43750 (vbe_test_mod_SOURCES): Likewise.
43751 (vbe_test_mod_CFLAGS): Likewise.
43752 (vbeinfo_mod_SOURCES): New variable.
43753 (vbeinfo_mod_CFLAGS): Likewise.
43754 (vbetest_mod_SOURCES): Likewise.
43755 (vbetest_mod_CFLAGS): Likewise.
43756
992ffbbe 437572005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
43758
43759 * normal/misc.c: New file.
43760
43761 * DISTLIST: Added normal/misc.c.
f19dbdb7 43762
992ffbbe 43763 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
43764 DISK to HOOK. Call HOOK with DISK.
43765 * partmap/apple.c (apple_partition_map_iterate): Likewise.
43766 * partmap/pc.c (pc_partition_map_iterate): Likewise.
43767 * partmap/sun.c (sun_partition_map_iterate): Likewise.
43768
43769 * normal/menu_entry.c (struct screen): Added a new member
43770 "completion_shown".
43771 (completion_buffer): New global variable.
43772 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
43773 (store_completion): New function.
43774 (complete): Likewise.
43775 (clear_completions): Likewise.
43776 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
43777 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
43778 a tab, call complete.
43779
43780 * normal/completion.c (disk_dev): Removed.
43781 (print_simple_completion): Likewise.
43782 (print_partition_completion): Likewise.
43783 (print_func): New global variable.
43784 (add_completion): Do not take the arguments WHAT or PRINT any
43785 longer. Added a new argument TYPE. Instead of printing directly,
43786 call PRINT_FUNC if not NULL.
43787 All callers changed.
43788 (complete_device): Use a local variable DEV instead of
43789 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
43790 (grub_normal_do_completion): Take a new argument HOOK. Do not
43791 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
43792 empty string, return NULL instead.
43793 All callers changed.
43794
43795 * normal/cmdline.c (print_completion): New function.
43796
43797 * kern/partition.c (grub_partition_iterate): Add an argument DISK
43798 to HOOK.
43799 All callers changed.
43800
43801 * kern/disk.c (grub_print_partinfo): Removed.
43802
43803 * include/grub/partition.h (struct grub_partition_map): Add a new
43804 argument DISK into HOOK of ITERATE.
43805 (grub_partition_iterate): Add a new argument DISK to HOOK.
43806
43807 * include/grub/normal.h (enum grub_completion_type): New enum.
43808 (grub_completion_type_t): New type.
43809 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
43810 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
43811 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
43812 (GRUB_COMPLETION_TYPE_FILE): Likewise.
43813 (grub_normal_do_completion): Added a new argument HOOK.
43814 (grub_normal_print_device_info): New prototype.
43815
43816 * include/grub/disk.h (grub_print_partinfo): Removed.
43817
43818 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
43819 (normal_mod_SOURCES): Likewise.
43820 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
43821 (normal_mod_SOURCES): Likewise.
43822
43823 * commands/ls.c (grub_ls_list_disks): Use
43824 grub_normal_print_device_info instead of grub_print_partinfo. Free
43825 PNAME.
43826 (grub_ls_list_files): Use grub_normal_print_device_info instead of
43827 duplicating the code.
43828
0bd41162 438292005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
43830
43831 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 43832 follow GCS more precisely.
43833 * commands/i386/pc/vbe_test.c: Likewise.
43834 * include/grub/i386/pc/vbe.h: Likewise.
43835 * term/i386/pc/vesafb.c: Likewise.
43836 * video/i386/pc/vbe.c: Likewise.
0bd41162 43837
6323696a 438382005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
43839
43840 * DISTLIST: Added term/i386/pc/vesafb.c
43841 DISTLIST: Added video/i386/pc/vbe.c
43842 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
43843 DISTLIST: Added commands/i386/pc/vbe_test.c.
43844 * commands/i386/pc/vbe_list_modes.c: New file.
43845 * commands/i386/pc/vbe_test.c: Likewise.
43846 * term/i386/pc/vesafb.c: Likewise.
43847 * video/i386/pc/vbe.c: Likewise.
43848 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
43849 (grub_vbe_probe) Added prototype.
43850 (grub_vbe_set_video_mode) Likewise.
43851 (grub_vbe_get_video_mode) Likewise.
43852 (grub_vbe_get_video_mode_info) Likewise.
43853 (grub_vbe_set_pixel_rgb) Likewise.
43854 (grub_vbe_set_pixel_index) Likewise.
43855 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
43856 (pkgdata_MODULES): Added vesafb.mod.
43857 (pkgdata_MODULES): Added vbe_list_modes.mod.
43858 (pkgdata_MODULES): Added vbe_test.mod.
43859 (vbe_mod_SOURCES): Added.
43860 (vbe_mod_CFLAGS): Likewise.
43861 (vesafb_mod_SOURCES): Likewise.
43862 (vesafb_mod_CFLAGS): Likewise.
43863 (vbe_list_modes_mod_SOURCES): Likewise.
43864 (vbe_list_modes_mod_CFLAGS): Likewise.
43865 (vbe_test_mod_SOURCES): Likewise.
43866 (vbe_test_mod_CFLAGS): Likewise.
43867
0a74e62f 438682005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
43869
0a74e62f 43870 * normal/command.c (grub_command_execute): If INTERACTIVE is
43871 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
43872 CMDLINE. Disable the pager if INTERACTIVE is true.
43873 All callers are changed.
43874
43875 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
43876 before reading a config file.
43877 * normal/main.c (read_config_file): Even if a command is not
43878 found, register it if it is within an entry.
43879
43880 * util/grub-emu.c: Include sys/types.h and unistd.h.
43881 (options): Added --hold.
43882 (struct arguments): Added a new member "hold".
43883 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
43884 missing.
43885 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
43886 cleared by a debugger, if it is not zero.
43887
43888 * include/grub/normal.h (grub_command_execute): Add an argument
43889 INTERACTIVE.
43890
e51f85ae 438912005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
43892
43893 * DISTLIST: Added include/grub/i386/pc/vbe.h.
43894
e9c6f39b 438952005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
43896
43897 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
43898 program with another one, because the old one didn't detect a bug
43899 in gcc-3.4. Always use regparm 2, because the new test is still
43900 not enough for gcc-4.0. Someone must investigate a simple test
43901 case which detects a bug in gcc-4.0.
43902
8de3495c 439032005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
43904
43905 * DISTLIST: Added normal/completion.c.
43906
43907 * normal/completion.c: New file.
f19dbdb7 43908
8de3495c 43909 * term/i386/pc/console.c (grub_console_getwh): New function.
43910 (grub_console_term): Assign grub_console_getwh to getwh.
43911
43912 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
43913 function is defined in normal/completion.c as
43914 grub_normal_do_completion.
43915 (grub_cmdline_get): Use grub_normal_do_completion instead of
43916 grub_tab_complete.
43917
43918 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
43919 returns non-zero, otherwise return 0.
43920 (grub_partition_iterate): First, probe the partition map. Then,
43921 call ITERATE only for this partition map.
43922
43923 * kern/misc.c (grub_strncmp): Rewritten.
43924
43925 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
43926 returns non-zero. Otherwise return 0.
43927
43928 * include/grub/partition.h (grub_partition_map_iterate): Return
43929 int instead of void.
43930
43931 * include/grub/normal.h (grub_normal_do_completion): New prototype.
43932
43933 * include/grub/misc.h (grub_strncmp): Change the type of N to
43934 grub_size_t.
43935
43936 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
43937 of void.
43938
43939 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 43940 unsigned explicitly before comparing it with I.
8de3495c 43941
43942 * kern/main.c (grub_env_write_root): Add the attribute unused into
43943 VAR.
43944
43945 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
43946 normal/completion.c.
43947 (normal_mod_SOURCES): Likewise.
43948 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
43949 (normal_mod_SOURCES): Likewise.
43950
43951 * normal/command.c (grub_iterate_commands): If ITERATE returns
43952 non-zero, return one immediately.
43953
e85e144b 439542005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
43955
43956 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
43957 * kern/i386/pc/startup.S: Updated Global Descriptor table's
43958 descriptions.
43959 (grub_vbe_get_controller_info): New function.
43960 (grub_vbe_get_mode_info): Likewise.
43961 (grub_vbe_set_mode): Likewise.
43962 (grub_vbe_get_mode): Likewise.
43963 (grub_vbe_set_memory_window): Likewise.
43964 (grub_vbe_get_memory_window): Likewise.
43965 (grub_vbe_set_scanline_length): Likewise.
43966 (grub_vbe_get_scanline_length): Likewise.
43967 (grub_vbe_set_display_start): Likewise.
43968 (grub_vbe_get_display_start): Likewise.
43969 (grub_vbe_set_palette_data): Likewise.
43970 * include/grub/i386/pc/vbe.h: New file.
43971
c46153d2 439722005-08-08 Hollis Blanchard <hollis@penguinppc.org>
43973
43974 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
43975 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
43976 * DISTLIST: Likewise.
43977 * kern/ieee1275/of.c: Moved to ...
43978 * kern/ieee1275/ieee1275.c: ... here.
43979
0cb90c45 439802005-08-08 Hollis Blanchard <hollis@penguinppc.org>
43981
43982 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
43983 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
43984 Pass 0 as `end' parameter to grub_strtoul().
43985
a19fb360 439862005-08-08 Hollis Blanchard <hollis@penguinppc.org>
43987
43988 * include/grub/powerpc/ieee1275/console.h: Do not include
43989 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
43990 ifdef.
43991 (grub_console_cur_color): Remove i386-specific prototype.
43992 (grub_console_real_putchar): Likewise.
43993 (grub_console_checkkey): Likewise.
43994 (grub_console_getkey): Likewise.
43995 (grub_console_getxy): Likewise.
43996 (grub_console_gotoxy): Likewise.
43997 (grub_console_cls): Likewise.
43998 (grub_console_setcursor): Likewise.
43999 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
44000 Include <grub/machine/console.h>.
44001 * term/ieee1275/ofconsole.c: Likewise.
44002
4ac9bd04 440032005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
44004
44005 * Makefile.in (LIBLZO): New variable.
44006
44007 * configure.ac: Check for LZO version 2.
44008
44009 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
44010 lzo/lzo1x.h instead of lzo1x.h.
44011
44012 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
44013 of -llzo.
44014
44015 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
44016 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
44017
44018 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
44019 copying the data from PARTITION to P.
44020
f4917dfd 440212005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
44022
44023 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
44024 negative, unload the module.
44025
44026 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
44027 map is "pc_partition_map" but not "pc".
44028 (usage): Fix the description. The options are --boot-image and
44029 --core-image but not --boot-file or --core-file.
44030 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
44031 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
44032 DEFAULT_DIRECTORY.
44033
44034 * util/i386/pc/grub-install.in: Do not specify --boot-file or
44035 --core-file. Specify INSTALL_DEVICE as an argument.
44036
44037 * util/console.c: Include config.h.
44038 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
44039 [HAVE_NCURSES_H]: Include ncurses.h.
44040 [HAVE_CURSES_H]: Include curses.h.
44041 [!A_NORMAL] (A_NORMAL): Defined as zero.
44042 [!A_STANDOUT] (A_STANDOUT): Likewise.
44043
44044 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
44045 -lncurses.
44046 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
44047
44048 * configure.ac: Check for curses libraries and headers.
44049
44050 * Makefile.in (LIBCURSES): New variable.
44051
44052 * genmk.rb (Script::rule): Set the executable bits.
44053
44054 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
44055 name of the PC partition map is "pc_partition_map" but not "pc".
44056
0e143073 440572005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
44058
44059 * util/i386/pc/grub-install.in (grub_probefs): New variable.
44060 (modules): Likewise.
44061 (usage): Added descriptions for --modules and --grub-probefs.
44062 Handle --modules and --grub-probefs. Save the arguments in MODULES
44063 and GRUB_PROBEFS, respectively.
44064 Auto-detect a filesystem module against GRUBDIR. If the result is
44065 empty and modules are not specified explicitly, abort the
44066 installation. Add the result to MODULES.
44067
44068 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
44069 disk/powerpc/ieee1275/ofdisk.c,
44070 include/grub/powerpc/ieee1275/init.h and
44071 term/powerpc/ieee1275/ofconsole.c.
44072 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
44073 term/ieee1275/ofconsole.c.
44074
44075 * include/grub/powerpc/ieee1275/console.h: Resurrected.
44076
44077 * COPYING: Upgraded to the latest version. Only the address of the
44078 FSF office has changed.
f19dbdb7 44079
efd6e6d5 440802005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
44081
44082 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
44083 kern/ieee1275.c with kern/ieee1275/of.c.
44084
44085 * kern/ieee1275.c: Moved to ...
44086 * kern/ieee1275/of.c: ... here.
44087
8ceafda2 440882005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
44089
44090 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 44091 readability.
8ceafda2 44092
44093 * config.guess: Updated to the latest version from gnulib.
44094 * config.sub: Likewise.
44095 * install.sh: Likewise.
44096 * mkinstalldirs: Likewise.
44097
44098 * include/grub/console.h: Removed. This file is arch-specific. Do
44099 not put this in include/grub.
44100
44101 * include/grub/i386/pc/console.h: Resurrected.
44102
44103 * util/console.c: Include grub/machine/console.h instead of
44104 grub/console.h.
44105 * util/grub-emu.c: Likewise.
44106
267f6cd9 441072005-08-04 Marco Gerards <metgerards@student.han.nl>
44108
44109 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
44110 hardcoded value.
f19dbdb7 44111
267f6cd9 44112 From Vincent Pelletier <subdino2004@yahoo.fr>
44113 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
44114 Redefined to use grub_getwh.
44115 (grub_term): New member named getwh.
44116 (grub_getwh): New prototype.
44117 * kern/term.c (grub_getwh): New function.
44118 * term/i386/pc/console.c (grub_console_getwh): New function.
44119 (grub_console_term): New member `getwh'.
44120 * term/i386/pc/vga.c (grub_vga_getwh): New function.
44121 (grub_vga_term): New member `getwh'.
0b5abe02 44122 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 44123 grub_ssize_t.
44124 (grub_ofconsole_getw): New function.
44125 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
44126 (grub_ofconsole_term): New field named getwh and new initial
44127 value.
44128
3be7266d 441292005-08-03 Hollis Blanchard <hollis@penguinppc.org>
44130
44131 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
44132 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
44133 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
44134 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
44135 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
44136 of <grub/machine/ieee1275.h>.
44137 * commands/ieee1275/reboot.c: Likewise.
44138 * boot/powerpc/ieee1275/ieee1275.c: Move ...
44139 * kern/ieee1275.c: ... to here. All users updated. Change all
44140 parameter structs to use new type `grub_ieee1275_cell_t'.
44141 * term/powerpc/ieee1275/ofconsole.c: Move ...
44142 * term/ieee1275/ofconsole.c: ... to here. All users updated.
44143 * disk/powerpc/ieee1275/ofdisk.c: Move ...
44144 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
44145 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
44146 to return int.
44147 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
44148 Remove unused prototypes. All users updated.
44149 * include/grub/powerpc/ieee1275/console.h: Removed.
44150 * include/grub/powerpc/ieee1275/ieee1275.h: Define
44151 `grub_ieee1275_cell_t'.
44152 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
44153 Cast comparisons with -1 to the correct type.
44154 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
44155 type to match `grub_ieee1275_entry_fn'.
44156
8b5f3938 441572005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
44158
44159 * DISTLIST: Added util/i386/pc/grub-probefs.c.
44160
44161 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
44162 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
44163 partmap/sun.c.
44164 (grub_probefs_SOURCES): New variable.
44165
44166 * util/i386/pc/grub-probefs.c: New file.
44167
44168 * util/i386/pc/grub-setup.c (main): Call
44169 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
44170 grub_hfs_init and grub_jfs_init to initialize the system. Call
44171 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
44172 grub_pc_partition_map_fini to finish the system.
44173
ea409713 441742005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
44175
44176 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
44177 function.
44178 (grub_multiboot_load_elf32): Likewise.
44179 (grub_multiboot_is_elf64): Likewise.
44180 (grub_multiboot_load_elf64): Likewise.
44181 (grub_multiboot_load_elf): Likewise.
44182 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
44183 an ELF32 or ELF64 file.
44184 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
44185
44186 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
44187 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
44188 NULL before calling FS->LABEL.
44189 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
44190 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
44191 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
44192 before calling FS->LABEL.
44193
141a288b 441942005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
44195
44196 * util/i386/pc/grub-install.in (datadir): New variable.
44197 (libdir): Removed.
44198 (pkgdatadir): New variable.
44199 (pkglibdir): Removed.
44200
0d5f8a54 442012005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
44202
44203 * DISTLIST: Added util/i386/pc/grub-install.in.
44204
44205 * util/i386/pc/grub-install.in: New file.
44206
44207 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
44208 (grub_install_SOURCES): Likewise.
44209
44210 * genmk.rb: Added support for scripts.
44211 (Script): New class.
44212 (scripts): New variable.
44213
44214 * Makefile.in (install-local): Install sbin_SCRIPTS by
44215 INSTALL_SCRIPT.
44216 (uninstall): Remove sbin_SCRIPTS.
44217
44218 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
44219 device, try to get a GRUB device by
44220 grub_util_biosdisk_get_grub_dev.
44221 Free DEST_DEV.
44222
44223 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
44224 description for --device-map.
44225
5f968e1e 442262005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
44227
44228 Change the semantics of variable hooks. They now return strings
44229 instead of error values.
f19dbdb7 44230
5f968e1e 44231 * util/i386/pc/grub-setup.c: Include grub/env.h.
44232 (setup): Use grub_device_set_root instead of grub_env_set.
44233
44234 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
44235 grub_env_get instead of grub_device_set_root and
44236 grub_device_get_root, respectively.
44237
44238 * kern/main.c (grub_env_write_root): New function.
44239 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
44240 grub_env_set instead of grub_device_set_root.
44241
44242 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
44243 many variables.
44244 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
44245 rather than calling ENV->WRITE_HOOK afterwards.
44246 (grub_env_get): Return the result of ENV->READ_HOOK rather than
44247 passing a pointer of a pointer.
44248 (grub_register_variable_hook): Change the types of "read_hook" and
44249 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
44250 respectively.
44251 Allocate the default empty string on the heap, because this string
44252 may be freed later.
44253
44254 * kern/device.c: Include grub/env.h.
44255 (grub_device_set_root): Removed.
44256 (grub_device_get_root): Likewise.
44257 (grub_device_open): Use grub_env_get instead of
44258 grub_device_get_root.
44259
44260 * include/grub/env.h (grub_env_read_hook_t): New type.
44261 (grub_env_write_hook_t): Likewise.
44262 (grub_env_var): Change the types of "read_hook" and "write_hook"
44263 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
44264 (grub_register_variable_hook): Likewise.
44265
44266 * include/grub/device.h (grub_device_set_root): Removed.
44267 (grub_device_set_root): Likewise.
44268
44269 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
44270 make sure that DIRNAME terminates with '/', so that
44271 grub_fat_find_dir will fail if PATH is not a directory.
44272
44273 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
44274 from DIRNAME.
44275 Use the qualifier auto for print_files and print_files_long.
44276 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
44277 as a regular file.
44278 Put a newline only if there is no error.
44279 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
44280 used.
44281
896f0afd 442822005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
44283
44284 * kern/partition.c (grub_partition_probe): Initialize PART to
44285 NULL. Otherwise, when no partition map is registered, this returns
44286 a garbage.
44287
b28b81b2 442882005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
44289
44290 * partmap/apple.c (apple_partition_map_iterate): Check if POS
44291 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
44292 valid.
44293
5f3607e0 442942005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
44295
44296 * commands/ls.c (grub_ls_list_disks): Print the filesystem
44297 information on each device, if it does not have partitions. Print
44298 "Device" instead of "Disk", because this function is not specific
44299 to disk devices.
44300
44301 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
44302 static to ensure that it is put on the memory rather than a
44303 register.
44304
502c87e8 443052005-07-17 Yoshinori Okuji <okuji@enbug.org>
44306
44307 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
44308 (grub_cat_init): Likewise.
44309 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
44310 (options): Likewise.
44311 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
44312 (grub_configfile_init): Likewise.
44313 * font/manager.c (GRUB_MOD_INIT): Likewise.
44314 * commands/help.c (GRUB_MOD_INIT): Likewise.
44315 (grub_help_init): Likewise.
44316 * normal/command.c (grub_command_init): Likewise.
44317 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
44318 * disk/loopback.c (grub_loop_init): Likewise.
44319 (GRUB_MOD_INIT): Likewise.
44320 * commands/ls.c (grub_ls_init): Likewise.
44321 (GRUB_MOD_INIT): Likewise.
44322 (options): Likewise.
44323 * commands/boot.c (grub_boot_init): Likewise.
44324 (GRUB_MOD_INIT): Likewise.
44325 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
44326 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
44327 (GRUB_MOD_INIT): Likewise.
44328 * commands/cmp.c (grub_cmp_init): Likewise.
44329 (GRUB_MOD_INIT): Likewise.
44330
44331 * normal/arg.c: Use <> instead of "" to include header files.
44332 (SHORT_ARG_HELP): New macro.
44333 (SHORT_ARG_USAGE): Likewise.
44334 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
44335 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
44336 descriptions.
44337 (find_short): Check if C is 'h' or 'u' explicitly.
44338 (grub_arg_show_help): Use space characters instead of tabs. Treat
44339 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
44340 are shown with --help and --usage only if they are not used for
44341 the command itself.
44342 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
44343 'h' and 'u'.
44344
44345 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
44346 const into "longarg". Change the type of "shortarg" to int.
44347
f806d18e 443482005-07-17 Yoshinori Okuji <okuji@enbug.org>
44349
44350 * boot/i386/pc/boot.S (boot_drive_check): New label.
44351
44352 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
44353 macro.
44354
44355 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
44356 which do not pass a boot drive correctly. Copied from GRUB Legacy.
44357
e293232b 443582005-07-17 Yoshinori Okuji <okuji@enbug.org>
44359
44360 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
44361 When turning off Gate A20, skip the check and return immediately,
44362 because this is not fatal usually.
44363
ebedfd00 443642005-07-17 Yoshinori Okuji <okuji@enbug.org>
44365
44366 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
44367 be 0x7C00 instead of 0x8000.
44368
44369 * boot/i386/pc/pxeboot.S: Rewritten.
44370
44371 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
44372 EXT_C.
44373 (gate_a20_check_state): Read a byte from 0x108000. Invert the
44374 result.
44375
654fc59f 443762005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
44377
44378 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
44379 robustness. This routine now supports a BIOS call and System
44380 Control Port A to modify the gate A20.
44381
44382 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
44383 Increased to 0x440.
44384
09f9923f 443852005-07-12 Hollis Blanchard <hollis@penguinppc.org>
44386
44387 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
44388 device path and resulting ihandle.
44389 (grub_ofdisk_close): dprintf the ihandle being closed.
44390 (grub_ofdisk_read): dprintf function parameters.
44391 * kern/mm.c (grub_mm_init_region): Likewise.
44392 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
44393 (grub_linux_boot): dprintf the Linux entry point, initrd address and
44394 size, and boot arguments.
44395 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
44396 before loading into memory.
44397 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
44398 before loading into memory.
44399
7ef504d8 444002005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
44401
44402 * kern/mm.c: Added much documentation.
44403 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
44404 8, set to 5 instead of 8.
44405
e0f050c2 444062005-07-10 Yoshinori Okuji <okuji@enbug.org>
44407
44408 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
44409
44410 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
44411 (grub_mkdevicemap_SOURCES): New variable.
44412
44413 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
44414 lib/device.c of GRUB Legacy.
44415
7224189a 444162005-07-10 Yoshinori Okuji <okuji@enbug.org>
44417
44418 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
44419 instead of PATH is NULL.
44420
68c864eb 444212005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
44422
44423 * commands/cmp.c (BUFFER_SIZE): New macro.
44424 (grub_cmd_cmp): Close the right file at the right time. Compare
44425 only data just read. Don't report files of different size as
44426 identical. Dynamically allocate buffers. Move variable
44427 declarations at the beginning of function.
44428
e6f3e614 444292005-07-09 Yoshinori Okuji <okuji@enbug.org>
44430
44431 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
44432 reverse.
44433
f8f1559a 444342004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
44435
44436 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
44437 when backspace is pressed at beginning of line.
44438
39c9d41d 444392005-07-03 Yoshinori Okuji <okuji@enbug.org>
44440
44441 * DISTLIST: Added genfslist.sh.
44442
44443 * normal/main.c (fs_module_list): New variable.
44444 (autoload_fs_module): New function.
44445 (read_fs_list): Likewise.
44446 (grub_normal_execute): Call read_fs_list.
44447
44448 * kern/fs.c (grub_fs_autoload_hook): New variable.
44449 (grub_fs_probe): Added support for auto-loading.
44450
44451 * include/grub/normal.h (struct grub_fs_module_list): New struct.
44452 (grub_fs_module_list_t): New type.
44453
44454 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
44455 (grub_fs_autoload_hook): New prototype.
44456
44457 * genfslist.sh: New file.
f19dbdb7 44458
39c9d41d 44459 * genmk.rb: Added a rule to generate a filesystem list.
44460
121c1d83 444612005-06-30 Marco Gerards <metgerards@student.han.nl>
44462
44463 * configure.ac: Fix the test for cross-compiling.
44464
44465 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
44466 define GRUB_UTIL anymore.
44467
44468 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
44469 so this function works on other systems than just big endian.
44470 (load_modules): Likewise.
44471 (add_segments): Likewise.
44472
e75d76e1 444732005-06-23 Hollis Blanchard <hollis@penguinppc.org>
44474
44475 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
44476 contains `l' modifier, get a long from va_arg().
44477
50b5a0a7 444782005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
44479
44480 * kern/mm.c (grub_free): If the next free block which is being
44481 merged is the first free block, set the first block to the block
44482 being freed.
44483 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
44484
89371b20 444852005-05-08 Hollis Blanchard <hollis@penguinppc.org>
44486
44487 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
44488 `grub_ieee1275_chosen'.
44489
168d6e58 444902005-05-08 Hollis Blanchard <hollis@penguinppc.org>
44491
44492 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
44493 (grub_ieee1275_chosen): New variable.
44494 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
44495 `chosen'.
44496 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
44497 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
44498 Rename first argument to `phandle' for consistency.
44499 (grub_ieee1275_get_property_length): Likewise.
44500 (grub_ieee1275_next_property): Likewise. Change type of first argument
44501 to grub_ieee1275_phandle_t.
44502 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
44503 Move export next to declaration.
44504 (grub_ieee1275_chosen): New variable.
44505 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
44506 Correct cosmetic typo.
44507 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
44508 `grub_ieee1275_chosen'.
44509 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
44510 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
44511 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
44512 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
44513 `grub_ieee1275_chosen'.
44514
ca5baa3f 445152005-05-10 Hollis Blanchard <hollis@penguinppc.org>
44516
44517 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
44518 /chosen/bootargs.
44519 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
44520 /chosen/bootargs as "variable=value" pairs.
44521
708b345f 445222005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
44523
44524 * include/grub/misc.h (grub_dprintf): New macro.
44525 (grub_real_dprintf): New prototype.
44526 (grub_strword): Likewise.
44527 (grub_iswordseparator): Likewise.
44528 * kern/misc.c (grub_real_dprintf): New function.
44529 (grub_strword): Likewise.
44530 (grub_iswordseparator): Likewise.
44531
f4c5e67c 445322005-04-30 Hollis Blanchard <hollis@penguinppc.org>
44533
44534 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
44535 (roundup): Remove macro.
44536 (grub_ieee1275_flags): Make static.
44537 (grub_ieee1275_realmode): Remove.
44538 (grub_ieee1275_test_flag): New function.
44539 (grub_ieee1275_set_flag): Likewise.
44540 (find_options): Rename to `grub_ieee1275_find_options'; update
44541 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
44542 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
44543 (cmain): New prototype.
44544 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
44545 `grub_ieee1275_flags' directly.
44546 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
44547 machine/biosdisk.h.
44548 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
44549 Don't include grub/machine/init.h.
44550 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
44551 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
44552 Remove prototype.
44553 (grub_ieee1275_realmode): Likewise.
44554 (grub_ieee1275_flag): New enum.
44555 (grub_ieee1275_test_flag): New prototype.
44556 (grub_ieee1275_set_flag): New prototype.
44557 * include/grub/powerpc/ieee1275/init.h: Remove file.
44558 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
44559 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
44560 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
44561 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
44562 comment.
44563 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
44564 `grub_ieee1275_test_flag'.
44565 (grub_ieee1275_encode_devname): Likewise.
44566
ed16607e 445672005-04-21 Hollis Blanchard <hollis@penguinppc.org>
44568
44569 * include/grub/powerpc/ieee1275/ieee1275.h
44570 (grub_ieee1275_encode_devname): New prototype.
44571 (grub_ieee1275_get_filename): Likewise.
44572 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
44573 function.
44574 (grub_set_prefix): Likewise.
44575 (grub_machine_init): Call grub_set_prefix.
44576 * kern/powerpc/ieee1275/openfw.c: Fix typos.
44577 (grub_parse_type): New enum.
44578 (grub_ieee1275_get_devargs): New function.
44579 (grub_ieee1275_get_devname): Likewise.
44580 (grub_ieee1275_parse_args): Likewise.
44581 (grub_ieee1275_get_filename): Likewise.
44582 (grub_ieee1275_encode_devname): Likewise.
44583
be369920 445842005-03-30 Marco Gerards <metgerards@student.han.nl>
44585
44586 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
44587 `grub_loader_unset'.
44588
a5ce3a4a 445892005-03-26 Hollis Blanchard <hollis@penguinppc.org>
44590
44591 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
44592 instead of grub_ieee1275_interpret.
44593 (grub_halt_init): New function.
44594 (grub_halt_fini): Likewise.
44595 (GRUB_MOD_INIT): Correct message grammar.
44596 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
44597 instead of grub_ieee1275_interpret.
44598 (grub_reboot_init): New function.
44599 (grub_reboot_fini): Likewise.
44600 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
44601 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
44602 util/i386/pc/misc.c with commands/ieee1275/halt.c,
44603 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
44604 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
44605 function.
44606 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
44607 Add prototype.
44608 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
44609 prototype.
44610 (grub_halt): Likewise.
44611 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
44612 (cmain): Remove __attribute__((unused)).
44613 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
44614 (grub_heap_len): Likewise.
44615 (grub_machine_fini): New function.
44616 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
44617 (grub_halt): Likewise.
44618 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
44619 function.
44620 * util/powerpc/ieee1275/misc.c: New file.
44621
0058f771 446222005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
44623
44624 * DISTLIST: New file.
44625 * gendistlist.sh: Likewise.
f19dbdb7 44626
0058f771 44627 * Makefile.in (COMMON_DISTFILES): Removed.
44628 (BOOT_DISTFILES): Likewise.
44629 (CONF_DISTFILES): Likewise.
44630 (DISK_DISTFILES): Likewise.
44631 (FS_DISTFILES): Likewise.
44632 (INCLUDE_DISTFILES): Likewise.
44633 (KERN_DISTFILES): Likewise.
44634 (LOADER_DISTFILES): Likewise.
44635 (TERM_DISTFILES): Likewise.
44636 (UTIL_DISTFILES): Likewise.
44637 (DISTFILES): Likewise.
44638 (uninstall): Uninstall files in $(pkgdata_DATA).
44639 (DISTLIST): New target.
44640 (distdir): Use the contents of the file DISTLIST to get a list of
44641 distributed files.
44642
46b3b8a5 446432005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
44644
44645 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
44646 descriptor. This is ported from GRUB Legacy.
44647
44648 * gencmdlist.sh: Added an extra semicolon to make it work with
44649 old sed versions. Reported by Robert Bihlmeyer
44650 <robbe@orcus.priv.at>.
44651
5822ff87 446522005-03-08 Yoshinori Okuji <okuji@enbug.org>
44653
44654 Automatic loading of commands is supported.
f19dbdb7 44655
5822ff87 44656 * normal/main.c (read_command_list): New function.
44657 (grub_normal_execute): Call read_command_list.
44658
44659 * normal/command.c (grub_register_command): Return zero or CMD.
44660 Allocate CMD->NAME from the heap.
44661 Initialize CMD->MODULE_NAME to zero.
44662 Find the same name as well. If the same command is found and it is
44663 a dummy command, overwrite members. If it is not a dummy command,
44664 return zero.
44665 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
44666 (grub_command_find): If a dummy command is found, load a module
44667 and retry to find a command only once.
44668
44669 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
44670 make sure that each command is loaded.
44671
44672 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
44673 macro.
44674 (struct grub_command): Remove const from the member `name'.
44675 Add a new member `module_name'.
44676 (grub_register_command): Return grub_command_t.
44677
44678 * commands/help.c (grub_cmd_help): Call grub_command_find to make
44679 sure that each command is loaded.
44680
44681 * genmk.rb (PModule::rule): Specify a module name without the
44682 suffix ".mod" to gencmdlist.sh.
44683
7b1f4b57 446842005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
44685
44686 * gencmdlist.sh: New file.
f19dbdb7 44687
7b1f4b57 44688 * genmk.rb (PModule::rule): Generate a rule for a command list.
44689 Clean command.lst.
44690 Generate command.lst from $(COMMANDFILES).
44691
44692 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
44693 (DATA): Added $(pkgdata_DATA).
44694 (install-local): Install files in $(pkgdata_DATA).
44695
062aaf39 446962005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
44697
44698 * term/i386/pc/vga.c (debug_command): Removed.
44699 (GRUB_MOD_INIT): Do not register the command "debug".
44700
44701 From Hollis Blanchard:
44702 * commands/configfile.c: New file.
44703 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
44704 commands/configfile.c.
44705 (pkgdata_MODULES): Added configfile.mod.
44706 (configfile_mod_SOURCES): New variable.
44707 (configfile_mod_CFLAGS): Likewise.
44708 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
44709 commands/configfile.c.
44710 (pkgdata_MODULES): Added configfile.mod.
44711 (configfile_mod_SOURCES): New variable.
44712 (configfile_mod_CFLAGS): Likewise.
44713 * util/grub-emu.c (main): Call grub_configfile_init and
44714 grub_configfile_fini.
44715 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
44716 prototype.
44717 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 44718
cee01aa6 447192005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
44720
44721 * normal/arg.c (grub_arg_show_help): Do not show the bug report
44722 address.
44723
44724 * commands/help.c (grub_cmd_help): Do not print newlines after
44725 the last command in print_command_help.
44726
93f3a1d8 447272005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
44728
44729 * commands/default.h: New file.
44730 * commands/timeout.h: Likewise.
44731 * normal/context.c: Likewise.
f19dbdb7 44732
93f3a1d8 44733 * util/misc.c: Do not include sys/times.h.
44734 Include sys/time.h and grub/machine/time.h.
44735 (grub_get_rtc): Rewritten with gettimeofday.
44736
44737 * util/grub-emu.c (main): Call grub_default_init and
44738 grub_timeout_init before grub_normal_init, and call
44739 grub_timeout_fini and grub_default_fini after grub_main.
44740
44741 * util/console.c (grub_ncurses_checkkey): Return the read
44742 character or -1.
44743
44744 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
44745 timeouts.
44746
44747 * normal/main.c (read_config_file): Push MENU. If this fails,
44748 print an error and wait for a user input.
44749 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
44750 If a menu is empty or an error occurs, pop MENU.
44751 (grub_normal_execute): Pop and free MENU after grub_menu_run
44752 returns.
44753
44754 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
44755
44756 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
44757 include time.h.
44758 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
44759 without GRUB_UTIL.
44760 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
44761 time.h.
44762 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
44763 without GRUB_UTIL.
44764
44765 * include/grub/normal.h (struct grub_menu_list): New struct.
44766 (grub_menu_list_t): New type.
44767 (struct grub_context): New struct.
44768 (grub_context_t): New type.
44769 (grub_register_command): Got rid of EXPORT_FUNC.
44770 (grub_unregister_command): Likewise.
44771 (grub_context_get): New prototype.
44772 (grub_context_get_current_menu): Likewise.
44773 (grub_context_push_menu): Likewise.
44774 (grub_context_pop_menu): Likewise.
44775 [GRUB_UTIL] (grub_default_init): Likewise.
44776 [GRUB_UTIL] (grub_default_fini): Likewise.
44777 [GRUB_UTIL] (grub_timeout_init): Likewise.
44778 [GRUB_UTIL] (grub_timeout_fini): Likewise.
44779
44780 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
44781 commands/timeout.c and normal/context.c.
44782 (pkgdata_MODULES): Added default.mod and timeout.mod.
44783 (normal_mod_SOURCES): Added normal/context.c.
44784 (default_mod_SOURCES): New variable.
44785 (default_mod_CFLAGS): Likewise.
44786 (timeout_mod_SOURCES): Likewise.
44787 (timeout_mod_CFLAGS): Likewise.
44788 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
44789 conf/i386-pc.rmk.
44790 (pkgdata_MODULES): Added default.mod and timeout.mod.
44791 (normal_mod_SOURCES): Added normal/context.c.
44792 (default_mod_SOURCES): New variable.
44793 (default_mod_CFLAGS): Likewise.
44794 (timeout_mod_SOURCES): Likewise.
44795 (timeout_mod_CFLAGS): Likewise.
44796
44797 * Makefile.in (all-local): Added $(MKFILES).
44798
4ed2e1dd 447992005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
44800
44801 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
44802 (grub_emu_SOURCES): Likewise.
44803 (pkgdata_MODULES): Add `sun.mod'.
44804 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
44805 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
44806 `partmap/sun.c'.
44807 (pkgdata_MODULES): Add `sun.mod'.
44808 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
44809 * include/grub/partition.h (grub_sun_partition_map_init): New
44810 prototype.
44811 (grub_sun_partition_map_fini): Likewise.
44812 * partmap/sun.c: New file.
44813 * util/grub-emu.c (main): Initialize and de-initialize the sun
44814 partitionmap support.
44815
4d4e372e 448162005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
44817
44818 This implements an Emacs-like menu entry editor.
f19dbdb7 44819
4d4e372e 44820 * normal/menu_entry.c: New file.
f19dbdb7 44821
4d4e372e 44822 * util/console.c (grub_ncurses_putchar): Translate some Unicode
44823 characters to ASCII.
44824 (saved_char): New variable.
44825 (grub_ncurses_checkkey): Rewritten completely.
44826 (grub_ncurses_getkey): Likewise.
44827 (grub_ncurses_init): Call raw instead of cbreak.
44828
44829 * normal/menu.c (print_entry): Do not put a space.
44830 (init_page): Renamed to ...
44831 (grub_menu_init_page): ... this. All callers changed.
44832 (edit_menu_entry): Removed.
44833 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
44834
44835 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
44836
44837 * kern/misc.c (grub_vprintf): Call grub_refresh.
44838
44839 * normal/menu.c (DISP_LEFT): Renamed to ...
44840 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
44841 * normal/menu.c (DISP_UP): Renamed to ...
44842 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
44843 * normal/menu.c (DISP_RIGHT): Renamed to ...
44844 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
44845 * normal/menu.c (DISP_DOWN): Renamed to ...
44846 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
44847 * normal/menu.c (DISP_HLINE): Renamed to ...
44848 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
44849 * normal/menu.c (DISP_VLINE): Renamed to ...
44850 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
44851 * normal/menu.c (DISP_UL): Renamed to ...
44852 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
44853 * normal/menu.c (DISP_UR): Renamed to ...
44854 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
44855 * normal/menu.c (DISP_LL): Renamed to ...
44856 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
44857 * normal/menu.c (DISP_LR): Renamed to ...
44858 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
44859 * normal/menu.c (TERM_WIDTH): Renamed to ...
44860 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
44861 * normal/menu.c (TERM_HEIGHT): Renamed to ...
44862 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
44863 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
44864 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
44865 * normal/menu.c (TERM_MARGIN): Renamed to ...
44866 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
44867 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
44868 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
44869 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
44870 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
44871 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
44872 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
44873 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
44874 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
44875 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
44876 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
44877 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
44878 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
44879 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
44880 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
44881 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
44882 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
44883 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
44884 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
44885 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
44886 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
44887 All callers changed.
44888
44889 * include/grub/normal.h: New prototype.
44890
44891 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
44892 normal/menu_entry.c.
44893 (normal_mod_SOURCES): Likewise.
44894 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
44895 (normal_mod_SOURCES): Likewise.
44896
e6b92c8a 448972005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
44898
44899 * include/grub/normal.h (grub_halt_init): New prototype.
44900 (grub_halt_fini): Likewise.
44901 (grub_reboot_init): Likewise.
44902 (grub_reboot_fini): Likewise.
44903
44904 * util/grub-emu.c: Include signal.h.
44905 (main_env): New global variable.
44906 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
44907 catch C-c.
44908 (grub_machine_fini): New function.
44909 (main): Call grub_halt_init and grub_reboot_init before
44910 grub_main, and grub_reboot_fini and grub_halt_fini after it.
44911 Call setjmp with MAIN_ENV to go back afterwards.
44912 Call grub_machine_fini right before return.
44913
44914 * include/grub/util/misc.h: Include setjmp.h.
44915 (main_env): New prototype.
44916
44917 * include/grub/kernel.h (grub_machine_fini): New prototype.
44918 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
44919 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
44920
44921 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
44922 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
44923 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 44924
e6b92c8a 44925 * util/i386/pc/misc.c: New file.
f19dbdb7 44926
e6b92c8a 44927 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
44928 util/i386/pc/misc.c, commands/i386/pc/halt.c and
44929 commands/i386/pc/reboot.c.
44930
c642636f 449312005-02-14 Guillem Jover <guillem@hadrons.org>
44932
44933 * include/grub/dl.h (grub_dl_check_header): New prototype.
44934 (grub_arch_dl_check_header): Change return type to grub_err_t,
44935 remove size parameter and export function. Update all callers.
44936 * kern/dl.c (grub_dl_check_header): New function.
44937 (grub_dl_load_core): Use `grub_dl_check_header' instead of
44938 `grub_arch_dl_check_header'. Check ELF type. Check if sections
44939 are inside the core.
44940 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
44941 independent ELF header checks.
44942 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
44943 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
44944 `grub_dl_check_header' instead of explicit checks. Check for the
44945 ELF type.
44946 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
44947 `grub_dl_check_header' instead of explicit checks. Remove arch
44948 specific ELF header checks.
44949
e6b92c8a 44950 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
44951 argument SIZE.
44952
5eabe94b 449532005-02-13 Hollis Blanchard <hollis@penguinppc.org>
44954
44955 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
44956 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
44957
1b14a681 449582005-02-12 Hollis Blanchard <hollis@penguinppc.org>
44959
44960 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 44961 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 44962 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 44963 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 44964 * partmap/amiga.c (amiga_partition_map_iterate): Return
44965 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
44966 * partmap/apple.c (apple_partition_map_iterate): Likewise.
44967
aca108aa 449682005-02-01 Guillem Jover <guillem@hadrons.org>
44969
44970 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
44971 help info.
44972
c9f9c556 449732005-01-31 Marco Gerards <metgerards@student.han.nl>
44974
44975 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
44976 Removed prototype.
44977 (grub_rescue_cmd_linux): New prototype.
44978 (grub_rescue_cmd_initrd): Likewise.
44979 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
44980 `bi_rec'.
44981 (grub_linux_release_mem): Release the memory for the initrd.
44982 (grub_load_linux): Renamed from this...
44983 (grub_rescue_cmd_linux): ...To this. Changed all callers.
44984 Changed `entry' not to be static. Loop over memory regions to
44985 find another one when the default fails.
44986 (grub_rescue_cmd_initrd): New function.
44987 (grub_linux_init): Remove function.
44988 (grub_linux_fini): Likewise.
44989 (GRUB_MOD_INIT): Register `initrd'.
44990 (GRUB_MOD_FINI): Unregister `initrd'.
44991 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
44992 Function removed.
44993 (grub_linux_normal_fini): Likewise.
44994 (GRUB_MOD_INIT): Register `initrd'.
44995 (GRUB_MOD_FINI): Unregister `initrd'.
44996
990cf3aa 449972005-01-31 Marco Gerards <metgerards@student.han.nl>
44998
44999 * commands/help.c: New file.
45000 * normal/arg.c (show_help): Renamed to...
45001 (grub_arg_show_help): ... this.
45002 * commands/i386/pc/halt.c: New file.
45003 * commands/i386/pc/reboot.c: Likewise.
45004 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
45005 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
45006 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
45007 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
45008 variables.
45009 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
45010 `commands/help.c'.
45011 (pkgdata_MODULES): Add `help.mod'.
45012 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
45013 * grub/i386/pc/init.h (grub_reboot): New prototype.
45014 (grub_halt): Likewise.
45015 * include/grub/normal.h (grub_arg_show_help): New prototype.
45016 (grub_help_init): Likewise.
45017 (grub_help_fini): Likewise.
45018 * util/grub-emu.c (main): Initialize and deinitialize the help
45019 command.
45020
45021 * normal/cmdline.c (grub_cmdline_get): Doc fix.
45022
45023 * normal/command.c (grub_command_init): Fixed the description of
45024 the `set' and `unset' commands.
45025
450262005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 45027
45028 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
45029 function.
45030 * commands/ieee1275/halt.c: New file.
45031 * commands/ieee1275/reboot.c: Likewise.
45032 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
45033 `__attribute__ ((unused))'. Some GCS related fixed.
45034 (grub_suspend_init) [GRUB_UTIL]: Function removed.
45035 (grub_suspend_fini): Likewise.
45036 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
45037 and `halt.mod'.
45038 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
45039 (halt_mod_CFLAGS): New variables.
45040 * include/grub/powerpc/ieee1275/ieee1275.h
45041 (grub_ieee1275_interpret): New prototype.
45042
1ab09cc7 450432005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
45044
45045 * include/grub/misc.h (memmove): New prototype.
45046 (memcpy): Likewise.
45047
8b8cbdb2 450482005-01-22 Hollis Blanchard <hollis@penguinppc.org>
45049
45050 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
45051 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
45052
e3741a27 450532005-01-22 Marco Gerards <metgerards@student.han.nl>
45054
45055 * kern/misc.c (grub_strndup): Function rewritten.
45056
776bd780 450572005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
45058
45059 * normal/menu.c (TERM_WIDTH): Macro redefined.
45060 (TERM_TOP_BORDER_Y): Likewise.
45061 (draw_border): Replaced while-loop by a for-loop. Make the number
45062 of lines consistent with the number of lines displayed in
45063 print_entries. Added a margin below the rectangle.
45064 (print_entry): Make the entry fit in the rectangle.
45065 (print_entries): Display the scroll arrows next to the right
45066 border.
45067
78026bce 450682005-01-21 Marco Gerards <metgerards@student.han.nl>
45069
45070 * fs/minix.c (grub_minix_find_file): Reserve more space for
45071 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
45072 `grub_strncpy' to copy `path' into it.
45073
67bbaf0f 450742005-01-21 Marco Gerards <metgerards@student.han.nl>
45075
45076 Add the loopback device, a device via which files can be accessed
45077 as devices.
f19dbdb7 45078
67bbaf0f 45079 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
45080 (pkgdata_MODULES): Add loopback.mod.
45081 (loopback_mod_SOURCES): New variable.
45082 (loopback_mod_CFLAGS): Likewise.
45083 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
45084 `disk/loopback.c'.
45085 (pkgdata_MODULES): Add loopback.mod.
45086 (loopback_mod_SOURCES): New variable.
45087 (loopback_mod_CFLAGS): Likewise.
45088 * disk/loopback.c: new file.
45089 * include/grub/normal.h (grub_loop_init): New prototype.
45090 (grub_loop_fini): New prototype.
45091 * util/grub-emu.c (main): Initialize and de-initialize loopback
45092 support.
45093 * include/grub/disk.h (grub_disk_dev_id): Add
45094 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
45095
6f1c18bd 450962005-01-20 Hollis Blanchard <hollis@penguinppc.org>
45097
45098 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
45099 function.
45100 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
45101 (suspend_mod_SOURCES): New variable.
45102 (suspend_mod_CFLAGS): Likewise.
45103 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
45104 New prototype.
45105 * commands/ieee1275/suspend.c: New file.
45106
b38551da 451072005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
45108
45109 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 45110 ((unused))' to `__attribute__ ((used))'.
b38551da 45111 (GRUB_MOD_FINI): Likewise.
45112 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
45113 * genmk.rb (PModule): Assign space to common symbols when linking
45114 modules.
45115
777aff39 451162005-01-20 Marco Gerards <metgerards@student.han.nl>
45117
45118 * include/grub/mm.h (grub_mm_init_region): Change the type of the
45119 `unsigned' arguments to `grub_size_t'.
45120 (grub_malloc): Likewise.
45121 (grub_realloc): Likewise.
45122 (grub_memalign): Likewise.
45123 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
45124 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
45125 * util/misc.c (grub_malloc): Likewise.
45126 (grub_realloc): Likewise.
45127 * kern/mm.c (get_header_from_pointer): Change the casts to
45128 `unsigned' into a cast to `grub_size_t'.
45129
45130 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
45131 point to `currnode' when `currnode' is changed.
45132
45133 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
45134 Schottelius <nico-linux@schottelius.org>.
45135
d0ff18e1 451362005-01-09 Hollis Blanchard <hollis@penguinppc.org>
45137
45138 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
45139 (note_path): Remove variable.
45140 (GRUB_IEEE1275_NOTE_NAME): New macro.
45141 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
45142 (grub_ieee1275_note_hdr): New structure.
45143 (grub_ieee1275_note_desc): Likewise.
45144 (grub_ieee1275_note): Likewise.
45145 (load_note): Remove `dir' argument. All callers updated. Remove
45146 `note_img' and `path'. Do not load a file from `note_path'.
45147 Initialize a struct grub_ieee1275_note and write that to `out'.
45148 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
45149
4ca7004c 451502005-01-05 Marco Gerards <metgerards@student.han.nl>
45151
45152 * util/misc.c (grub_util_read_image): Revert last change. It
45153 called `grub_util_read_at', which seeks from the beginning of the
45154 file.
45155
0b412211 451562005-01-04 Hollis Blanchard <hollis@penguinppc.org>
45157
45158 * TODO: Add note about endianness in grub-mkimage.
45159 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
45160 section.
45161 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
45162 (grub_mkimage_SOURCES): New target.
45163 * include/grub/kernel.h (grub_start_addr): Remove variable.
45164 (grub_end_addr): Likewise.
45165 (grub_total_module_size): Likewise.
45166 (grub_kernel_image_size): Likewise.
45167 (GRUB_MODULE_MAGIC): New constant.
45168 (grub_module_info): New structure.
45169 (grub_arch_modules_addr): New prototype.
45170 (grub_get_end_addr): Remove prototype.
45171 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
45172 * include/grub/powerpc/ieee1275/kernel.h: New file.
45173 * include/grub/util/misc.h (grub_util_get_fp_size): New
45174 prototype.
45175 (grub_util_read_at): Likewise.
45176 (grub_util_write_image_at): Likewise.
45177 * kern/main.c (grub_get_end_addr): Remove function.
45178 (grub_load_modules): Call grub_arch_modules_addr instead of using
45179 grub_end_addr. Look for a grub_module_info struct in memory. Use
45180 the grub_module_info fields instead of calling grub_get_end_addr
45181 as loop conditions. Move grub_add_unused_region code here.
45182 (grub_add_unused_region): Remove function.
45183 * kern/i386/pc/init.c: Include grub/cache.h.
45184 (grub_machine_init): Remove call to grub_get_end_addr. Remove
45185 one call to add_mem_region.
45186 (grub_arch_modules_addr): New function.
45187 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
45188 (grub_total_module_size): Likewise.
45189 Include grub/machine/kernel.h.
45190 (grub_arch_modules_addr): New function.
45191 * util/grub-emu.c (grub_end_addr): Remove variable.
45192 (grub_total_module_size): Likewise.
45193 (grub_arch_modules_addr): New function.
45194 * util/misc.c: Include unistd.h.
45195 (grub_util_get_fp_size): New function.
45196 (grub_util_read_at): Likewise.
45197 (grub_util_write_image_at): Likewise.
45198 (grub_util_read_image): Call grub_util_read_at.
45199 (grub_util_write_image): Call grub_util_write_image_at.
45200 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
45201 additional memory in kernel_img for a struct grub_module_info.
45202 Fill in that grub_module_info.
45203 * util/powerpc/ieee1275/grub-mkimage.c: New file.
45204
458786f8 452052005-01-03 Hollis Blanchard <hollis@penguinppc.org>
45206
45207 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
45208 New function.
45209 * include/grub/powerpc/ieee1275/ieee1275.h
45210 (grub_ieee1275_milliseconds): New prototype.
45211 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
45212 Change to 1000.
45213 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
45214 grub_ieee1275_milliseconds.
45215
ac507d1b 452162005-01-03 Hollis Blanchard <hollis@penguinppc.org>
45217
45218 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
45219 variable.
45220 (find_options): New function.
45221 (cmain): Call find_options.
45222 * include/grub/powerpc/ieee1275/ieee1275.h
45223 (grub_ieee1275_realmode): New extern variable.
45224 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
45225 grub_map if grub_ieee1275_realmode is false.
45226
6b8fd1c4 452272004-12-29 Marco Gerards <metgerards@student.han.nl>
45228
45229 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
45230 lines are inserted and make it work like readline. Reported by
45231 Vincent Pelletier <subdino2004@yahoo.fr>.
45232
8514a1e0 452332004-12-28 Marco Gerards <metgerards@student.han.nl>
45234
45235 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
45236
45237 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
45238 `kern/powerpc/cache.S'.
45239
924b6140 452402004-12-27 Marco Gerards <metgerards@student.han.nl>
45241
45242 * genmk.rb: Handle the `Program' class in the main loop. Written
45243 by Johan Rydberg <jrydberg@gnu.org>.
45244 (Program): New class.
45245 (programs): New variable.
45246 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
45247 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
45248 instead of "grub/kernel.h". Include <grub/machine/init.h>.
45249 (help_arch): Function removed.
45250 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
45251 `powerpc/libgcc.h' and `loader.h'.
45252 (pkgdata_PROGRAMS): New variable.
45253 (sbin_UTILITIES): Variable removed.
45254 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
45255 (grubof_SOURCES): Variable re-defined so it only includes the
45256 core functionality.
45257 (grubof_CFLAGS): Remove `-DGRUBOF'.
45258 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
45259 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
45260 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
45261 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
45262 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
45263 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
45264 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
45265 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
45266 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
45267 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
45268 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
45269 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
45270 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
45271 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
45272 (pc_mod_CFLAGS): New variables.
45273 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
45274 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
45275 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
45276 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
45277 Moved from here...
45278 * include/grub/i386/pc/init.h (grub_os_area_addr)
45279 (rub_os_area_size): ... to here.
45280 * include/grub/powerpc/ieee1275/ieee1275.h
45281 (grub_ieee1275_entry_fn): Export symbol.
45282 * include/grub/powerpc/ieee1275/init.h: New file.
45283 * include/grub/powerpc/libgcc.h: Likewise.
45284 * include/grub/cache.h: Likewise.
45285 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
45286 <hollis@penguinppc.org>.
45287 * kern/dl.c: Include <grub/cache.h>.
45288 (grub_dl_flush_cache): New function.
45289 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
45290 for this module.
45291 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
45292 (grub_console_init): Removed prototypes.
45293 (grub_machine_init): Don't initialize the modules anymore.
45294 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
45295 static.
45296 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
45297 Macro undef removed.
45298 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
45299 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
45300 relocation `R_PPC_REL32'. Return an error when the relocation is
45301 unknown.
45302 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
45303 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
45304 * util/misc.c (grub_arch_sync_caches): Likewise.
45305
e4b47e0c 453062004-12-19 Marco Gerards <metgerards@student.han.nl>
45307
45308 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
45309 `symlist.c', add `grubof_symlist.c'.
45310 (symlist.c): Variable removed.
45311 (grubof_HEADERS): Variable added.
45312 (grubof_symlist.c): New target.
45313 (kernel_syms.lst): Use `grubof_HEADERS' instead of
45314 `kernel_img_HEADERS'.
45315 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
45316 * kern/powerpc/dl.c: New file.
45317 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
45318 Function removed.
45319 (grub_arch_dl_relocate_symbols): Likewise.
45320 (grub_register_exported_symbols): Likewise.
45321
4ceb3636 453222004-12-13 Marco Gerards <metgerards@student.han.nl>
45323
45324 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
45325 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
45326 to fail instead. Reported by Vincent Pelletier
45327 <subdino2004@yahoo.fr>.
45328
45329 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
45330 it is not allocated. Reported by Vincent Pelletier
45331 <subdino2004@yahoo.fr>.
45332
45333 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
45334 output so the output looks better.
f19dbdb7 45335
3f1578fe 453362004-12-04 Marco Gerards <metgerards@student.han.nl>
45337
45338 Modulize the partition map support and add support for the amiga
45339 partition map.
f19dbdb7 45340
3f1578fe 45341 * commands/ls.c: Include <grub/partition.h> instead of
45342 <grub/machine/partition.h>.
45343 * kern/disk.c: Likewise.
45344 * kern/rescue.c: Likewise.
45345 * loader/i386/pc/chainloader.c: Likewise.
45346 * normal/cmdline.c: Likewise.
45347 * kern/powerpc/ieee1275/init.c: Likewise.
45348 (grub_machine_init): Call `grub_pc_partition_map_init',
45349 `grub_amiga_partition_map_init' and
45350 `grub_apple_partition_map_init'.
45351 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
45352 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
45353 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
45354 `partition.h' and `pc_partition.h'.
45355 (grub_setup_SOURCES): Remove
45356 `disk/i386/pc/partition.c'. Add `kern/partition.c',
45357 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
45358 (grub_emu_SOURCES): Likewise.
45359 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
45360 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
45361 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
45362 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
45363 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
45364 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
45365 (grubof_SOURCES): Likewise.
45366 * disk/i386/pc/partition.c: File removed.
45367 * disk/powerpc/ieee1275/partition.c: Likewise.
45368 * include/grub/powerpc/ieee1275/partition.h: Likewise.
45369 * include/grub/i386/pc/partition.h: Likewise.
45370 * kern/partition.c: New file.
45371 * partmap/amiga.c: Likewise.
45372 * partmap/apple.c: Likewise.
45373 * partmap/pc.c: Likewise.
45374 * include/grub/partition.h: Likewise..
45375 * include/grub/pc_partition.h: Likewise.
45376 * util/grub-emu.c: Include <grub/partition.h> instead of
45377 <grub/machine/partition.h>.
45378 (main): Call `grub_pc_partition_map_init',
45379 `grub_amiga_partition_map_init' and
45380 `grub_apple_partition_map_init' and deinitialize afterwards.
45381 * util/i386/pc/biosdisk.c: Include `#include
45382 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
45383 `<grub/machine/partition.h>'.
45384 * util/i386/pc/grub-setup.c: Likewise.
45385 * util/i386/pc/biosdisk.c: Likewise.
45386 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
45387 partition information in case of a PC partition.
45388 * util/i386/pc/grub-setup.c: Include `#include
45389 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
45390 `<grub/machine/partition.h>'.
45391 (setup): Only access the PC specific partition information in case
45392 of a PC partition.
45393
0ef4ced9 453942004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 45395
0ef4ced9 45396 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
45397 (grub_longjmp): Likewise.
45398 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
45399 20.
45400 * normal/powerpc/setjmp.S: New file.
45401 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
45402 `normal/powerpc/setjmp.S'.
45403 (grubof_CFLAGS): Add `-DGRUBOF'.
45404 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
45405 [GRUB_UTIL && !GRUBOF].
f19dbdb7 45406
19950e29 454072004-11-16 Marco Gerards <metgerards@student.han.nl>
45408
45409 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
45410 property named `name'. Correctly handle the error returned by
45411 `grub_ieee1275_finddevice' if a device can not be opened.
45412
a2fea427 454132004-11-02 Hollis Blanchard <hollis@penguinppc.org>
45414
45415 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
45416 `actual' for negativity.
45417 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
45418 kern/fshelp.c.
45419
41ea0ea3 454202004-11-01 Marco Gerards <metgerards@student.han.nl>
45421
45422 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
45423 (PAGE_OFFSET): New macro.
45424 (CRTC_ADDR_PORT): Likewise.
45425 (CRTC_DATA_PORT): Likewise.
45426 (START_ADDR_HIGH_REGISTER): Likewise.
45427 (START_ADDR_LOW_REGISTER): Likewise.
45428 (GRAPHICS_ADDR_PORT): Likewise.
45429 (GRAPHICS_DATA_PORT): Likewise.
45430 (READ_MAP_REGISTER): Likewise.
45431 (INPUT_STATUS1_REGISTER): Likewise.
45432 (INPUT_STATUS1_VERTR_BIT): Likewise.
45433 (page): New variable.
45434 (wait_vretrace): New function.
45435 (set_read_map): Likewise.
45436 (set_start_address): Likewise.
45437 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
45438 the right page.
45439 (check_vga_mem): Take the page into account.
45440 (write_char): Likewise.
45441 (write_cursor): Likewise.
45442 (scroll_up): Likewise. Copy the page to the page that is not
45443 shown and switch between both pages.
45444 (grub_vga_putchar): Fix off by one error.
45445 (grub_vga_cls): Wait for the vertical retrace. Take the page into
45446 account.
45447
ad0bd20b 454482004-11-01 Marco Gerards <metgerards@student.han.nl>
45449
45450 Add support for iso9660 (including rockridge).
f19dbdb7 45451
ad0bd20b 45452 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
45453 (iso9660_mod_SOURCES): New variable.
45454 (iso9660_mod_CFLAGS): Likewise.
45455 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
45456 * include/grub/fs.h (grub_iso9660_init): New prototype.
45457 * util/grub-emu.c (main): Call `grub_iso9660_init'.
45458 * fs/iso9660.c: New file.
45459
45460 * include/grub/misc.h (grub_strncat): New prototype.
45461 * kern/misc.c (grub_strncat): New function.
f19dbdb7 45462
ad0bd20b 45463 * fs/hfs.c (grub_hfs_mount): Translate the error
45464 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
45465 * fs/jfs.c (grub_jfs_mount): Likewise.
45466 * fs/ufs.c (grub_ufs_mount): Likewise.
45467
a5477a59 454682004-10-28 Hollis Blanchard <hollis@penguinppc.org>
45469
45470 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
45471 which initialized BAT registers.
45472 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
45473 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
45474 Move from here...
45475 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
45476 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
45477 ... to here.
45478 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
45479 (grub_mapclaim): Likewise.
45480 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
45481 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
45482 hand.
45483
9304c1f8 454842004-10-19 Hollis Blanchard <hollis@penguinppc.org>
45485
45486 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
45487 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
45488 -ffreestanding and -msoft-float.
45489
86f4ae25 454902004-10-15 Hollis Blanchard <hollis@penguinppc.org>
45491
45492 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
45493 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
45494 set in grub_ieee1275_flags.
45495
38912228 454962004-10-14 Hollis Blanchard <hollis@penguinppc.org>
45497
45498 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
45499 prototype.
45500 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
45501 grub_console_init first.
45502 Change the memory range used for grub_ieee1275_claim and
45503 grub_mm_init_region.
45504 Print an error message if the claim fails.
45505 Include <grub/misc.h>.
45506
d1923dc8 455072004-10-13 Hollis Blanchard <hollis@penguinppc.org>
45508
45509 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
45510 Call grub_children_iterate for device nodes of type `scsi',
45511 `ide', or `ata'.
45512 (grub_ofdisk_open): Remove manual device alias resolution.
45513 Fix memory leak when device cannot be opened.
f19dbdb7 45514 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 45515 (grub_children_iterate): New prototype.
45516 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
45517 New function.
45518 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
45519 Return -1 if args.size was -1.
45520
4512e4f3 455212004-10-11 Hollis Blanchard <hollis@penguinppc.org>
45522
45523 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
45524 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
45525 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
45526 Open Firmware's memory for it; claim memory from _start to _end.
45527 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
45528 (_end): New extern.
45529 (_start): Zero BSS from __bss_start to _end.
45530 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
45531 New extern.
45532 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
45533
4d61feb0 455342004-10-11 Hollis Blanchard <hollis@penguinppc.org>
45535
ad0bd20b 45536 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
45537 -1 if args.base was -1.
4d61feb0 45538
026fa2f9 455392004-10-08 Hollis Blanchard <hollis@penguinppc.org>
45540
45541 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
45542 escape sequence instead of a literal ^L. Also call
45543 grub_ofconsole_gotoxy.
45544
9f2220ef 455452004-10-03 Hollis Blanchard <hollis@penguinppc.org>
45546
45547 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
45548 void * arguments to grub_addr_t. All callers updated. Also make
45549 the `result' argument optional.
45550 (grub_ieee1275_release): change void * arguments to grub_addr_t.
45551 All callers updated.
45552
8a572cd7 455532004-09-22 Hollis Blanchard <hollis@penguinppc.org>
45554
45555 * commands/ls.c (grub_ls_list_files): Use the string following the
45556 initial ')', if present, as the filesystem path.
45557 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
45558
45559 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
45560
18aa81f2 455612004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
45562
45563 Make the source code of the menu interface more readable.
f19dbdb7 45564
18aa81f2 45565 * normal/menu.c: Include grub/mm.h.
45566 (TERM_WIDTH): New macro.
45567 (TERM_HEIGHT): Likewise.
45568 (TERM_INFO_HEIGHT): Likewise.
45569 (TERM_MARGIN): Likewise.
45570 (TERM_SCROLL_WIDTH): Likewise.
45571 (TERM_TOP_BORDER_Y): Likewise.
45572 (TERM_LEFT_BORDER_X): Likewise.
45573 (TERM_BORDER_WIDTH): Likewise.
45574 (TERM_MESSAGE_HEIGHT): Likewise.
45575 (TERM_BORDER_HEIGHT): Likewise.
45576 (TERM_NUM_ENTRIES): Likewise.
45577 (TERM_FIRST_ENTRY_Y): Likewise.
45578 (TERM_ENTRY_WIDTH): Likewise.
45579 (TERM_CURSOR_X): Likewise.
45580 (draw_border): Use macros instead of magic numbers.
45581 (print_entry): Likewise.
45582 (print_entries): Likewise.
45583 (run_menu): Likewise. Also, handle the key 'e'.
45584 (run_menu_entry): Ignore empty command lines.
45585 (print_message): Added a new argument EDIT. If EDIT is true,
45586 print a different message.
45587 (init_page): Likewise.
45588 (edit_menu_entry): New function. Not implemented yet.
45589
b47efe30 455902004-09-17 Marco Gerards <metgerards@student.han.nl>
45591
45592 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
45593 can be loaded from normal mode.
f19dbdb7 45594
b47efe30 45595 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
45596 `multiboot.mod'.
45597 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
45598 (multiboot_mod_CFLAGS): New variables.
45599 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 45600 * loader/i386/pc/multiboot_normal.c: Likewise.
45601
b47efe30 45602 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
45603 attribute `unused'.
f19dbdb7 45604
b47efe30 45605 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
45606 `fdiro' to read the mode information from instead of `diro'.
45607
45608 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
45609 looking up a symlink.
45610
45611 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
45612 macro.
45613 * normal/command.c (grub_command_execute): Don't parse the
45614 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
45615 flags of the command.
45616
45617 * normal/menu.c (grub_menu_run): Fix typo.
45618
da75ac71 456192004-09-14 Hollis Blanchard <hollis@penguinppc.org>
45620
45621 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
45622
45623 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
45624 `y + 1' instead of `y - 1'.
45625
45626 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 45627
062b24c2 456282004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
45629
45630 From Hollis Blanchard <hollis@penguinppc.org>:
45631 * kern/misc.c (memmove): New alias for grub_memmove.
45632 (memcmp): New alias for grub_memcmp.
45633 (memset): New alias for grub_memset.
f19dbdb7 45634 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 45635 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 45636 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 45637 (grub_ieee1275_get_property): Likewise.
f19dbdb7 45638
8ddad845 456392004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
45640
45641 Added normal mode command `chainloader' as module chain.mod, which
45642 depends on normal.mod and _chain.mod.
f19dbdb7 45643
8ddad845 45644 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
45645 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
45646 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
45647 Deleted prototype.
45648 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
45649 but arguments parsing moved to ...
45650 (grub_chainloader_cmd): ... here. New function.
45651 * include/grub/i386/pc/chainloader.h: New file.
45652 * loader/i386/pc/chainloader_normal.c: Likewise.
45653
2c1f4ce3 456542004-09-11 Marco Gerards <metgerards@student.han.nl>
45655
45656 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
45657 (grub_mkimage_LDFLAGS): Likewise.
45658 (grub_emu_SOURCES): Likewise.
45659 (kernel_img_HEADERS): Added fshelp.h.
45660 * fs/ext2.c: Include <grub/fshelp.h>.
45661 (FILETYPE_REG): New macro.
45662 (FILETYPE_INO_REG): Likewise.
45663 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
45664 Changed all users.
45665 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
45666 all users.
45667 (grub_fshelp_node): New struct.
45668 (grub_ext2_data): Added member `diropen'. Changed member `inode'
45669 to a pointer.
45670 (grub_ext2_get_file_block): Removed function.
45671 (grub_ext2_read_block): New function.
45672 (grub_ext2_read_file): Replaced parameter `data' by `node'.
45673 This function was written.
45674 (grub_ext2_mount): Read the root inode. Create a diropen struct.
45675 (grub_ext2_find_file): Removed function.
45676 (grub_ext2_read_symlink): New function.
45677 (grub_ext2_iterate_dir): Likewise.
45678 (grub_ext2_open): Rewritten.
45679 (grub_ext2_dir): Rewritten.
45680 * include/grub/fshelp.h: New file.
45681 * fs/fshelp.c: Likewise.
45682
3c52136a 456832004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
45684
45685 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
45686 (print_message): Add a missing newline.
45687 (run_menu): Added timeout support.
45688 (run_menu_entry): New local function.
45689 (grub_menu_run): Added support for booting.
45690
45691 * kern/loader.c (grub_loader_is_loaded): New function.
45692
45693 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
45694 (grub_get_rtc): Exported.
45695
45696 * include/grub/i386/pc/time.h: Include grub/symbol.h.
45697 (grub_get_rtc): Exported.
45698
45699 * include/grub/normal.h (struct grub_command_list): Remove
45700 constant from the member `command'.
45701
45702 * include/grub/loader.h (grub_loader_is_loaded): Declared.
45703
45704 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
45705
45706 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
45707
aa033560 457082004-08-28 Marco Gerards <metgerards@student.han.nl>
45709
45710 Add support for the JFS filesystem.
45711
45712 * fs/jfs.c: New file.
45713 * include/grub/fs.h (grub_jfs_init): New prototype.
45714 (grub_jfs_fini): New prototype.
45715 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
45716 (grub_emu_SOURCES): Likewise.
45717 (pkgdata_MODULES): Add jfs.mod.
45718 (jfs_mod_SOURCES): New variable.
45719 (jfs_mod_CFLAGS): Likewise.
45720 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
45721 (grubof_SOURCES): Likewise.
45722 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
45723
45724 * fs/fat.c (grub_fat_find_dir): Convert the filename little
45725 endian to the host endian.
45726 (grub_fat_utf16_to_utf8): Move function from there...
45727 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 45728 the endianness of the source string anymore.
aa033560 45729 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
45730
94bc45af 457312004-08-24 Marco Gerards <metgerards@student.han.nl>
45732
45733 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
45734 (grub_boot_fini) [GRUB_UTIL]: Likewise.
45735 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
45736 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 45737
94bc45af 45738 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
45739 (grub_hfs_iterate_dir): Make the function static. Add prototypes
45740 for `node_found' and `it_dir'.
45741 (grub_hfs_dir): Add prototype for `dir_hook'.
45742
45743 * fs/minix.c (grub_minix_get_file_block): Add prototype for
45744 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
45745 and `indir32' to silence a gcc warning.
45746
45747 * include/grub/fs.h (grub_hfs_init): New prototype.
45748 (grub_hfs_fini): Likewise.
f19dbdb7 45749
45750
97543f08 457512004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
45752
45753 Each disk device has its own id now. This is useful to make use
45754 of multiple disk devices.
f19dbdb7 45755
97543f08 45756 * include/grub/disk.h (grub_disk_dev_id): New enum.
45757 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
45758 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
45759
45760 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
45761 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
45762
45763 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
45764 GRUB_DISK_DEVICE_OFDISK_ID as an id.
45765
45766 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
45767 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
45768
45769 * include/grub/disk.h (struct grub_disk_dev): Added a new member
45770 "id" which is used by the cache manager.
45771
45772 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
45773 of just "GRUB".
45774
64372eb4 457752004-08-18 Marco Gerards <metgerards@student.han.nl>
45776
45777 * fs/hfs.c: New file.
45778 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
45779 (grub_emu_SOURCES): Likewise.
45780 (pkgdata_MODULES): Add hfs.mod.
45781 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
45782 (grubof_SOURCES): Likewise.
45783 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
45784
45785 * include/grub/misc.h (grub_strncasecmp): Add prototype.
45786 * kern/misc.c (grub_strncasecmp): Add function.
45787
cc61b58f 457882004-08-14 Marco Gerards <metgerards@student.han.nl>
45789
45790 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
45791 with parentheses.
45792
45793 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
45794 (grub_ext2_dir): In case the directory entry type is unknown, read
45795 it from the inode.
45796
0ef123f6 457972004-08-02 Peter Bruin <pjbruin@dds.nl>
45798
45799 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
45800 grub_load_linux instead of grub_rescue_cmd_linux as second
45801 argument of grub_rescue_register_command.
45802
45803 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
45804
a447c5df 458052004-07-27 Marco Gerards <metgerards@student.han.nl>
45806
45807 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
45808 function.
45809 * commands/boot.c: Remove the check for `GRUB_UTIL'.
45810 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
45811 `loader/powerpc/ieee1275/linux.c',
45812 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
45813 * include/grub/powerpc/ieee1275/ieee1275.h
45814 (grub_ieee1275_release): New prototype.
45815 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
45816 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
45817 normal, boot, linux and linux_normal.
45818 * loader/powerpc/ieee1275/linux.c: New file.
45819 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
45820
5a9e3546 458212004-07-12 Marco Gerards <metgerards@student.han.nl>
45822
45823 * normal/arg.c (grub_arg_parse): Correct error handling after
45824 reallocating the argumentlist (check if `argl' is not null instead
45825 of checking if `args' is not null).
45826 * kern/mm.c (grub_realloc): Return the same pointer when using the
45827 same region, instead of returning the header address.
45828
e15199cb 458292004-07-11 Marco Gerards <metgerards@student.han.nl>
45830
45831 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
45832 one block instead of two when looking for the initial partition.
45833 (grub_partition_probe): Initialize the local variable `p' with 0.
45834 Use base 10 for the grub_strtoul call.
45835 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
45836 need for one local variable.
45837 (grub_strtoul): Don't add the new value to `num', instead of that
45838 just assign it.
45839
020616c2 458402004-07-11 Marco Gerards <metgerards@student.han.nl>
45841
45842 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
45843 (pxeboot_img_SOURCES): New variable.
45844 (pxeboot_img_ASFLAGS): Likewise.
45845 (pxeboot_img_LDFLAGS): Likewise.
45846 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
45847 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
45848 <lode_leroy@hotmail.com>.
45849
6c51eb64 458502004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
45851
45852 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
45853 there was no input.
45854
cfb12aff 458552004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
45856
45857 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
45858 the history buffer logic.
45859
6eabba74 458602004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
45861
45862 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
45863 (FILETYPE_INO_SYMLINK): New macros.
45864 (grub_ext2_find_file): Check if the node is a directory using the
45865 inode stat information instead of using the filetype in the
45866 dirent. Exclude the first character of an absolute symlink.
45867 (grub_ext2_dir): Mask out the filetype part of the mode member of
45868 the inode.
45869
66e19ef8 458702004-05-24 Marco Gerards <metgerards@student.han.nl>
45871
45872 Add support for UFS version 1 and 2. Add support for the minix
45873 filesystem version 1 and 2, both the variants with 14 and 30 long
45874 filenames.
f19dbdb7 45875
66e19ef8 45876 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
45877 fs/minix.c.
45878 (grub_emu_SOURCES): Likewise.
45879 (pkgdata_MODULES): Add ufs.mod and minix.mod.
45880 (ufs_mod_SOURCES): New variable.
45881 (ufs_mod_CFLAGS): Likewise.
45882 (minix_mod_SOURCES): Likewise.
45883 (minix_mod_CFLAGS): Likewise.
45884 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
45885 fs/minix.c.
45886 (grubof_SOURCES): Likewise.
45887 * fs/ufs.c: New file.
45888 * fs/minix.c: New file.
45889 * include/grub/fs.h (grub_ufs_init): New prototype.
45890 (grub_ufs_fini): Likewise.
45891 (grub_minix_init): Likewise.
45892 (grub_minix_fini): Likewise.
45893 * util/grub-emu.c (main): Initialize and deinitialize UFS and
45894 minix fs.
45895
cc2e748a 458962004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
45897
45898 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
45899 commands/ls.c, commands/terminal.c, commands/boot.c,
45900 commands/cmp.c and commands/cat.c.
45901 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
45902
45903 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
45904 "env.h"
45905
4b13b216 459062004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
45907
45908 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
45909 and grub_, respectively. Because the conversion is trivial and
45910 mechanical, I omit the details here. Please refer to the CVS
45911 if you need more information.
45912
6a142551 459132004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
45914
45915 * include/pupa: Renamed to ...
45916 * include/grub: ... this.
45917 * util/i386/pc/pupa-mkimage.c: Renamed to ...
45918 * util/i386/pc/grub-mkimage.c: ... this.
45919 * util/i386/pc/pupa-setup.c: Renamed to ...
45920 * util/i386/pc/grub-setup.c: ... this.
45921 * util/pupa-emu.c: Renamed to ...
45922 * util/grub-emu.c: ... this.
45923
e56cdf21 459242004-03-29 Marco Gerards <metgerards@student.han.nl>
45925
45926 Add support for the newworld apple macintosh (PPC). This has been
45927 tested on the powerbook 2000 only. It only adds support for
45928 generic ieee1275 functions, console and disk support. This should
45929 be easy to port to other architectures with support for Open
45930 Firmware.
f19dbdb7 45931
e56cdf21 45932 * configure.ac: Accept the powerpc as host_cpu. In the case of
45933 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
45934 specific tests are only executed while building for the i386.
45935 Inverse test for crosscompile.
45936 * genmk.rb (Utility): Allow assembler files.
45937 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
45938 * conf/powerpc-ieee1275.rmk: New file.
45939 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
45940 * disk/powerpc/ieee1275/partition.c: Likewise.
45941 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
45942 * include/pupa/powerpc/ieee1275/console.h: Likewise.
45943 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
45944 * include/pupa/powerpc/ieee1275/time.h: Likewise.
45945 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
45946 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
45947 * include/pupa/powerpc/ieee1275/loader.h
45948 * include/pupa/powerpc/setjmp.h: Likewise.
45949 * include/pupa/powerpc/types.h: Likewise.
45950 * kern/powerpc/ieee1275/init.c: Likewise.
45951 * kern/powerpc/ieee1275/openfw.c: Likewise.
45952 * term/powerpc/ieee1275/ofconsole.c: Likewise.
45953
45954 These files were written by Johan Rydberg
45955 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 45956
e56cdf21 45957 * boot/powerpc/ieee1275/cmain.c: New file.
45958 * boot/powerpc/ieee1275/crt0.S: Likewise.
45959 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
45960 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
45961
8c8cc205 459622004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
45963
45964 * Makefile.in: Update copyright.
45965 * genmodsrc.sh: Likewise.
45966 * gensymlist.sh: Likewise.
45967 * term/i386/pc/vga.c: Indent correctly.
45968
45969 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
45970 bugreporting address.
45971 * util/i386/pc/pupa-setup.c (usage): Likewise,
45972 (main): Call pupa_ext2_init and pupa_ext2_fini.
45973
f19dbdb7 45974 * fs/fat.c (log2): Renamed to ...
8c8cc205 45975 (fat_log2): ... this.
45976 All callers changed.
45977 * kern/misc.c (memcpy): Alias to pupa_memmove.
45978 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
45979 lvalue cast.
45980 * util/console.c (pupa_ncurses_fini): Return 0.
45981
45982 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
45983 Move fail label here.
45984 [__GNU__]: Don't warn when using stat.
45985 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
45986 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
45987 long int. Use strtol instead of strtoul.
f19dbdb7 45988
db1771cf 459892004-03-14 Marco Gerards <metgerards@student.han.nl>
45990
45991 * commands/boot.c: New file.
45992 * commands/cat.c: Likewise.
45993 * commands/cmp.c: Likewise.
45994 * commands/ls.c: Likewise.
45995 * commands/terminal.c: Likewise.
45996 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
45997 (pupa_register_command): Changed interface to match the new
45998 argument parser.
45999 (pupa_command_execute): Changed (almost rewritten) so it uses
46000 pupa_split_command. Added support for setting variables using the
46001 syntax `foo=bar'.
46002 (rescue_command): Changed to work with the new argument parser.
46003 (terminal_command): Moved from here to commands/terminal.c.
46004 (set_command): New function.
46005 (unset_command): New function.
46006 (insmod_command): New function.
46007 (rmmod_command): New function.
46008 (lsmod_command): New function.
46009 (pupa_command_init): Don't initialize the command terminal
46010 anymore. Initialize the commands set, unset, insmod, rmmod and
46011 lsmod.
46012 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
46013 (kernel_img_HEADERS): Add arg.h and env.h.
46014 (pupa_mkimage_LDFLAGS): Add kern/env.c.
46015 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
46016 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
46017 normal/arg.c.
46018 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
46019 terminal.mod.
46020 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
46021 (boot_mod_SOURCES): New variable.
46022 (terminal_mod_SOURCES): Likewise.
46023 (ls_mod_SOURCES): Likewise.
46024 (cmp_mod_SOURCES): Likewise.
46025 (cat_mod_SOURCES): Likewise.
46026
46027 * normal/arg.c: New file.
46028 * kern/env.c: Likewise.
46029 * include/pupa/arg.h: Likewise.
46030 * include/pupa/env.h: Likewise.
46031 * font/manager.c (font_command): Changed to match argument parsing
46032 interface changes.
46033 (PUPA_MOD_INIT): Likewise.
46034 * hello/hello.c (pupa_cmd_hello): Likewise.
46035 (PUPA_MOD_INIT): Likewise.
46036 * include/pupa/disk.h: Include <pupa/device.h>.
46037 (pupa_print_partinfo): New prototype.
46038 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
46039 (pupa_dl_get_prefix): Likewise.
46040 * include/pupa/misc.h: Include <pupa/err.h>.
46041 (pupa_isgraph): New prototype.
46042 (pupa_isdigit): Likewise.
46043 (pupa_split_cmdline): Likewise.
46044 * include/pupa/normal.h: Include <pupa/arg.h>.
46045 (pupa_command): Changed the prototype of the member `func' to
46046 match the argument parsing interface. Added member `options'.
46047 (pupa_register_command): Updated to match function.
46048 (pupa_arg_parse): New prototype.
46049 (pupa_hello_init) [PUPA_UTIL]: New prototype.
46050 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
46051 (pupa_ls_init) [PUPA_UTIL]: Likewise.
46052 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
46053 (pupa_cat_init) [PUPA_UTIL]: Likewise.
46054 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
46055 (pupa_boot_init) [PUPA_UTIL]: Likewise.
46056 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
46057 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
46058 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
46059 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
46060 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
46061 * kern/disk.c: Include <pupa/file.h>.
46062 (pupa_print_partinfo): New function.
46063 * kern/dl.c: Include <pupa/env.h>.
46064 (pupa_dl_dir): Variable removed.
46065 (pupa_dl_load): Use the environment variable `prefix' instead of
46066 the variable pupa_dl_dir.
46067 (pupa_dl_set_prefix): Function removed.
46068 (pupa_dl_get_prefix): Likewise.
46069 * kern/i386/pc/init.c: Include <pupa/env.h>.
46070 (pupa_machine_init): Use the environment variable `prefix' instead of
46071 using pupa_dl_set_prefix to set the prefix.
46072 * kern/main.c: Include <pupa/env.h>.
46073 (pupa_set_root_dev): Use the environment variable `prefix' instead of
46074 using pupa_dl_get_prefix to get the prefix.
46075 * kern/misc.c: Include <pupa/env.h>.
46076 (pupa_isdigit): New function.
46077 (pupa_isgraph): Likewise.
46078 (pupa_ftoa): Likewise.
46079 (pupa_vsprintf): Added support for printing values of the type
46080 `double'. Make it possible to format variable output when using
46081 formatting like `%1.2%f'.
46082 (pupa_split_cmdline): New function.
46083 * kern/rescue.c: Include <pupa/env.h>.
46084 (next_word): Removed function.
46085 (pupa_rescue_cmd_prefix): Likewise.
46086 (pupa_rescue_cmd_set): New function.
46087 (pupa_rescue_cmd_unset): New function.
46088 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
46089 split the command line instead of splitting it here. Added
46090 support for setting variables using the syntax `foo=bar'. Don't
46091 initialize the prefix command anymore. Initialized the set and
46092 unset commands.
46093 * normal/cmdline.c: Include <pupa/env.h>.
46094 (pupa_tab_complete): Added prototypes for print_simple_completion,
46095 print_partition_completion, add_completion, iterate_commands,
46096 iterate_dev, iterate_part and iterate_dir. Moved code to print
46097 partition information from here to kern/disk.c.
fe6b695a 46098 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 46099 * normal/main.c: Include <pupa/env.h>.
46100 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
46101 instead of using pupa_dl_get_prefix to get the prefix.
46102 * term/i386/pc/vga.c: Include <pupa/arg.h>.
46103 (check_vga_mem): Cast pointers to `void *' to silence a gcc
46104 warning.
46105 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
46106 (pupa_vga_setcolor): Declare unused variables with `__attribute__
46107 ((unused))' to silence a gcc warning.
46108 (pupa_vga_setcolor): Likewise.
46109 (debug_command): Changed to match argument parsing
46110 interface changes.
46111 * util/pupa-emu.c: Include <pupa/env.h>.
46112 (options): Added 0's for unused fields to silence a gcc warning.
46113 (argp): Likewise.
46114 (main): Use the environment variable `prefix' instead of using
46115 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
46116 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
46117 and terminal.
46118
46119 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
46120 * util/misc.c: Include <malloc.h>.
46121 (pupa_malloc): Rewritten so errors are correctly reported.
46122 (pupa_realloc): Likewise.
46123 (pupa_memalign): Likewise.
46124 (pupa_mm_init_region): Declare unused variables with
46125 `__attribute__ ((unused))' to silence a gcc warning.
46126 * normal/i386/setjmp.S: Remove tab at the end of the file to
46127 silence a gcc warning.
46128 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
46129 variables with `__attribute__ ((unused))' to silence a gcc
46130 warning.
46131 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
46132 local variable i unsigned to silence a gcc warning.
46133
46134 * kern/term.c: Include <pupa/misc.h>.
46135 (pupa_more_lines): New variable.
46136 (pupa_more): Likewise.
46137 (pupa_putcode): When the pager is active pause at the end of every
46138 screen.
46139 (pupa_set_more): New function.
46140 * include/pupa/term.h (pupa_set_more): New prototype.
46141
46142
3b1139cb 461432004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
46144
46145 Now this project is GRUB 2 rather than PUPA. The location of
46146 the CVS repository was moved to GRUB's.
f19dbdb7 46147
3b1139cb 46148 * configure.ac: Use bug-grub as the reporting address.
46149 Use GRUB instead of PUPA.
46150 Change the version number to 1.90.
46151
8367695c 461522004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
46153
46154 * genkernsyms.sh: Updated copyright information.
46155 * genmk.rb: Likewise.
46156 * genmodsrc.sh: Likewise.
46157 * gensymlist.sh: Likewise.
46158 * boot/i386/pc/boot.S: Likewise.
46159 * boot/i386/pc/diskboot.S: Likewise.
46160 * disk/i386/pc/biosdisk.c: Likewise.
46161 * disk/i386/pc/partition.c: Likewise.
46162 * font/manager.c: Likewise.
46163 * fs/ext2.c: Likewise.
46164 * fs/fat.c: Likewise.
46165 * include/pupa/boot.h: Likewise.
46166 * include/pupa/device.h: Likewise.
46167 * include/pupa/disk.h: Likewise.
46168 * include/pupa/dl.h: Likewise.
46169 * include/pupa/elf.h: Likewise.
46170 * include/pupa/err.h: Likewise.
46171 * include/pupa/file.h: Likewise.
46172 * include/pupa/font.h: Likewise.
46173 * include/pupa/fs.h: Likewise.
46174 * include/pupa/kernel.h: Likewise.
46175 * include/pupa/loader.h: Likewise.
46176 * include/pupa/misc.h: Likewise.
46177 * include/pupa/mm.h: Likewise.
46178 * include/pupa/net.h: Likewise.
46179 * include/pupa/normal.h: Likewise.
46180 * include/pupa/rescue.h: Likewise.
46181 * include/pupa/setjmp.h: Likewise.
46182 * include/pupa/symbol.h: Likewise.
46183 * include/pupa/term.h: Likewise.
46184 * include/pupa/types.h: Likewise.
46185 * include/pupa/i386/setjmp.h: Likewise.
46186 * include/pupa/i386/types.h: Likewise.
46187 * include/pupa/i386/pc/biosdisk.h: Likewise.
46188 * include/pupa/i386/pc/boot.h: Likewise.
46189 * include/pupa/i386/pc/console.h: Likewise.
46190 * include/pupa/i386/pc/init.h: Likewise.
46191 * include/pupa/i386/pc/kernel.h: Likewise.
46192 * include/pupa/i386/pc/linux.h: Likewise.
46193 * include/pupa/i386/pc/loader.h: Likewise.
46194 * include/pupa/i386/pc/memory.h: Likewise.
46195 * include/pupa/i386/pc/multiboot.h: Likewise.
46196 * include/pupa/i386/pc/partition.h: Likewise.
46197 * include/pupa/i386/pc/time.h: Likewise.
46198 * include/pupa/i386/pc/vga.h: Likewise.
46199 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
46200 * include/pupa/util/getroot.h: Likewise.
46201 * include/pupa/util/misc.h: Likewise.
46202 * include/pupa/util/resolve.h: Likewise.
46203 * kern/device.c: Likewise.
46204 * kern/disk.c: Likewise.
46205 * kern/dl.c: Likewise.
46206 * kern/err.c: Likewise.
46207 * kern/file.c: Likewise.
46208 * kern/fs.c: Likewise.
46209 * kern/loader.c: Likewise.
46210 * kern/main.c: Likewise.
46211 * kern/misc.c: Likewise.
46212 * kern/mm.c: Likewise.
46213 * kern/rescue.c: Likewise.
46214 * kern/term.c: Likewise.
46215 * kern/i386/dl.c: Likewise.
46216 * kern/i386/pc/init.c: Likewise.
46217 * kern/i386/pc/lzo1x.S: Likewise.
46218 * kern/i386/pc/startup.S: Likewise.
46219 * loader/i386/pc/chainloader.c: Likewise.
46220 * loader/i386/pc/linux.c: Likewise.
46221 * loader/i386/pc/multiboot.c: Likewise.
46222 * normal/cmdline.c: Likewise.
46223 * normal/command.c: Likewise.
46224 * normal/main.c: Likewise.
46225 * normal/menu.c: Likewise.
46226 * normal/i386/setjmp.S: Likewise.
46227 * term/i386/pc/console.c: Likewise.
46228 * term/i386/pc/vga.c: Likewise.
46229 * util/console.c: Likewise.
46230 * util/genmoddep.c: Likewise.
46231 * util/misc.c: Likewise.
46232 * util/pupa-emu.c: Likewise.
46233 * util/resolve.c: Likewise.
46234 * util/unifont2pff.rb: Likewise.
46235 * util/i386/pc/biosdisk.c: Likewise.
46236 * util/i386/pc/getroot.c: Likewise.
46237 * util/i386/pc/pupa-mkimage.c: Likewise.
46238 * util/i386/pc/pupa-setup.c: Likewise.
46239
e6eced71 462402004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
46241
46242 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
46243 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
46244 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
46245 reading and reset it after reading.
46246 (pupa_ext2_close): Return PUPA_ERR_NONE.
46247
46248 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
46249 Correct value.
46250 (struct linux_kernel_header): Add kernel_version and
46251 initrd_addr_max.
46252 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
46253 pupa_file_read succeeds.
46254 (pupa_rescue_cmd_initrd): Implement.
46255
5aded270 462562003-12-03 Marco Gerards <metgerards@student.han.nl>
46257
46258 * fs/ext2.c (pupa_ext2_label): New function.
46259 (pupa_ext2_fs): Added label.
46260 * fs/fat.c (pupa_fat_label): New function.
46261 (pupa_fat_fs): Added label.
46262 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
46263
46264 * kern/misc.c (pupa_strndup): New function.
46265 * include/pupa/misc.h (pupa_strndup): New prototype.
46266
46267 * include/pupa/normal.h: Include <pupa/err.h>.
46268 (pupa_set_history): New prototype.
46269 (pupa_iterate_commands): New prototype.
46270 * normal/cmdline.c: Include <pupa/machine/partition.h>,
46271 <pupa/disk.h>, <pupa/file.h>.
46272 (hist_size): New variable.
46273 (hist_lines): Likewise.
46274 (hist_end): Likewise.
46275 (hist_used): Likewise.
46276 (pupa_set_history): New function.
46277 (pupa_history_get): Likewise.
46278 (pupa_history_add): Likewise.
46279 (pupa_history_replace): Likewise.
46280 (pupa_tab_complete): Likewise.
46281 (pupa_cmdline_run): Added tab completion and history buffer. Tab
46282 completion shows partitionnames while completing partitions, this
46283 feature was suggested by Jeff Bailey.
46284 * normal/command.c (pupa_iterate_commands): New function.
46285 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
46286 (pupa_normal_init): Initialize history buffer.
46287 (PUPA_MOD_INIT): Likewise.
46288 (pupa_normal_fini): Free the history buffer.
46289 (PUPA_MOD_FINI): Likewise.
46290
46291 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
46292 key.
46293
46294 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
46295 * configure.ac [i386]: Check for regparam bug.
46296 (NESTED_FUNC_ATTR) [! i386]: Defined.
46297
1f7315a3 462982003-11-17 Marco Gerards <metgerards@student.han.nl>
46299
46300 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
46301 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
46302 (pupa_emu_SOURCES): New variable.
46303 (pupa_emu_LDFLAGS): Likewise.
46304 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
46305 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
46306 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
46307 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
46308 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
46309 (pupa_jmp_buf): New typedef.
46310 (pupa_setjmp) [PUPA_UTIL]: New macro.
46311 (pupa_longjmp) [PUPA_UTIL]: Likewise.
46312 * include/pupa/term.h (struct pupa_term): New member `refresh'.
46313 (pupa_refresh): New prototype.
46314 * include/pupa/util/getroot.h: New file.
46315 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
46316 it.
46317 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
46318 (pupa_rescue_cmd_cat): Likewise.
46319 (pupa_rescue_cmd_ls): Likewise.
46320 (pupa_rescue_cmd_testload): Likewise.
46321 (pupa_rescue_cmd_lsmod): Likewise.
46322 * normal/cmdline.c (pupa_cmdline_get): Likewise.
46323 * normal/menu.c (run_menu): Likewise.
46324 * kern/term.c (pupa_cls): Likewise.
46325 (pupa_refresh): New function.
46326 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
46327 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
46328 * util/console.c: New file.
f19dbdb7 46329
1f7315a3 46330 * util/i386/pc/getroot.c: New file.
46331 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
46332 (pupa_putchar): New function.
46333 (pupa_refresh): Likewise.
46334 (xgetcwd): Function moved to ...
46335 (strip_extra_slashes): Likewise.
46336 (get_prefix): Likewise.
f19dbdb7 46337 * util/i386/pc/getroot.c: ... here.
1f7315a3 46338 (find_root_device): Function moved and renamed to...
46339 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
46340 Changed all callers.
46341 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
46342 and renamed to...
46343 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
46344 Changed all callers.
46345 * util/misc.c (pupa_memalign): New function.
46346 (pupa_mm_init_region): Likewise.
46347 (pupa_register_exported_symbols): Likewise.
46348 (pupa_putchar): Function removed.
46349 * util/pupa-emu.c: New file.
46350
9a5c1ade 463512003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
46352
46353 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
46354 (_multiboot_mod_SOURCES): New variable.
46355 (_multiboot_mod_CFLAGS): Likewise.
46356 * loader/i386/pc/multiboot.c: New file.
46357 * include/pupa/i386/pc/multiboot.h: Likewise.
46358 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
46359 (pupa_multiboot_real_boot): New function.
46360 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
46361 (pupa_multiboot_real_boot): New prototype.
46362 (pupa_rescue_cmd_multiboot): Likewise
46363 (pupa_rescue_cmd_module): Likewise.
46364
46365 * kern/loader.c (pupa_loader_set): Continue when
46366 pupa_loader_unload_func() fails.
46367 (pupa_loader_unset): New function.
46368 * include/pupa/loader.h (pupa_loader_unset): New prototype.
46369
46370 * kern/misc.c (pupa_stpcpy): New function.
46371 * include/pupa/misc.h (pupa_stpcpy): New prototype.
46372
8e72a9c0 463732003-11-12 Marco Gerards <metgerards@student.han.nl>
46374
46375 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
46376 for available extensions.
46377
46378 * include/pupa/i386/pc/time.h: New file.
46379 * kern/disk.c: Include <pupa/machine/time.h>.
46380 (PUPA_CACHE_TIMEOUT): New macro.
46381 (pupa_last_time): New variable.
46382 (pupa_disk_open): Flush the cache when there was a timeout.
46383 (pupa_disk_close): Reset the timer.
46384 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
46385 pupa_currticks.
46386 * util/misc.c: Include <sys/times.h>
46387 (pupa_get_rtc): New function.
46388
c4adbd32 463892003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
46390
46391 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
46392 as blocks.
46393 (pupa_ext2_get_file_block): Use blocks member.
46394
46395 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
46396 first block. Return -1 instead of pupa_errno on error.
46397
bfd30f06 463982003-10-27 Marco Gerards <metgerards@student.han.nl>
46399
46400 * README: In the pupa-mkimage example use _chain instead of chain
46401 and ext2 instead of fat.
46402 * TODO: Replace ext2fs with jfs as an example. Add an item for
46403 adding journal playback for ext2fs.
46404 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
46405 (pkgdata_MODULES): Added ext2.mod.
46406 (ext2_mod_SOURCES): New variable.
46407 (ext2_mod_CFLAGS): Likewise.
46408 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
46409 * include/pupa/misc.h (pupa_strncpy): New prototype.
46410 (pupa_strcat): Likewise.
46411 (pupa_strncmp): Likewise.
46412 * kern/misc.c (pupa_strcat): Enable function.
46413 (pupa_strncpy): New function.
46414 (pupa_strncmp): Likewise.
46415 * fs/ext2.c: New file.
f19dbdb7 46416
bfd30f06 46417 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
46418 when the read failed before retrying.
46419 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
46420 (_FILE_OFFSET_BITS): Likewise.
46421 * configure.ac: Added AC_SYS_LARGEFILE.
46422
98d15063 464232003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
46424
46425 * genmk.rb (PModule#rule): Make sure to get only symbol names
46426 from the output of nm.
59cad637 46427 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 46428
18d9c7cd 464292003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
46430
46431 I forgot to check in these changes for a long time. This adds
46432 incomplete support for VGA console, and this is still very
46433 buggy. Also, a lot of consideration is required for I18N,
46434 UNICODE, and VGA font issues. Therefore, assume that this is
46435 such that "better than nothing".
f19dbdb7 46436
18d9c7cd 46437 * font/manager.c: New file.
46438 * include/pupa/font.h: Likewise.
46439 * include/pupa/i386/pc/vga.h: Likewise.
46440 * term/i386/pc/vga.c: Likewise.
46441 * util/unifont2pff.rb: Likewise.
46442
46443 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
46444 (pkgdata_MODULES): Added vga.mod and font.mod.
46445 (vga_mod_SOURCES): New variables.
46446 (vga_mod_CFLAGS): Likewise.
46447 (font_mod_SOURCES): Likewise.
46448 (font_mod_CFLAGS): Likewise.
46449
46450 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
46451
46452 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 46453 (struct pupa_term): Added init and fini.
18d9c7cd 46454 Changed the argument of putchar to pupa_uint32_t.
46455
46456 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
46457 (pupa_console_real_putchar): New prototype.
46458 (pupa_console_putchar): Removed.
46459 (pupa_console_checkkey): Exported.
46460 (pupa_console_getkey): Likewise.
46461
46462 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
46463 characters.
46464
46465 * kern/term.c (pupa_term_set_current): Rewritten.
46466 (pupa_putchar): Likewise.
46467 (pupa_putcode): New function.
46468
46469 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
46470 (pupa_console_real_putchar): ... this.
46471 (pupa_vga_set_mode): New function.
46472 (pupa_vga_get_font): Likewise.
46473
46474 * normal/command.c: Include pupa/term.h.
46475 (terminal_command): New function.
46476 (pupa_command_init): Register the command "terminal".
46477
46478 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
46479 (DISP_UP): Likewise.
46480 (DISP_RIGHT): Likewise.
46481 (DISP_DOWN): Likewise.
46482 (DISP_HLINE): Likewise.
46483 (DISP_VLINE): Likewise.
46484 (DISP_UL): Likewise.
46485 (DISP_UR): Likewise.
46486 (DISP_LL): Likewise.
46487 (DISP_LR): Likewise.
46488
46489 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 46490
977329f5 464912003-02-08 NIIBE Yutaka <gniibe@m17n.org>
46492
46493 * util/resolve.c (pupa_util_resolve_dependencies): BUG
46494 FIX. Reverse the path_list.
46495
46496 * include/pupa/normal.h: Export pupa_register_command and
46497 pupa_unregister_command.
46498
46499 * hello/hello.c (pupa_cmd_hello): New module.
46500 * conf/i386-pc.rmk: Added hello.mod.
46501
1f5ab428 465022003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
46503
46504 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 46505
1f5ab428 46506 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
46507 (compress_kernel): New variable.
46508 (generate_image): Heavily modified to support compressing a
46509 large part of the core image.
46510
46511 * util/misc.c (pupa_util_read_image): Fix a file descriptor
46512 leak.
46513 (pupa_util_load_image): New function.
46514
46515 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
46516 (pupa_compressed_size): New variable.
46517 (codestart): Enable Gate A20 here.
46518 Decompress the compressed part of the core image.
46519 Rearrange the code to put functions and variables which are
46520 required for initialization in the non-compressed part.
46521 Include lzo1x.S.
46522
46523 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
46524 here.
46525
46526 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
46527
f19dbdb7 46528 * include/pupa/i386/pc/kernel.h
1f5ab428 46529 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
46530 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
46531 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
46532 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
46533 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
46534
46535 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
46536
46537 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
46538 (Utility#rule): Likewise.
46539
46540 * configure.ac: Check if LZO is available.
46541
ce5bf700 465422003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
46543
46544 * include/pupa/normal.h: New file.
46545 * include/pupa/setjmp.h: Likewise.
46546 * include/pupa/i386/setjmp.h: Likewise.
46547 * normal/cmdline.c: Likewise.
46548 * normal/command.c: Likewise.
46549 * normal/main.c: Likewise.
46550 * normal/menu.c: Likewise.
46551 * normal/i386/setjmp.S: Likewise.
f19dbdb7 46552
ce5bf700 46553 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
46554 (pupa_rescue_cmd_initrd): Likewise.
46555
46556 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
46557 Likewise.
46558
46559 * kern/i386/pc/startup.S (translation_table): New variable.
46560 (translate_keycode): New function.
46561 (pupa_console_getkey): Call translate_keycode.
46562
46563 * kern/rescue.c (attempt_normal_mode): New function.
46564 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
46565 it failed, print a message.
46566
46567 * kern/mm.c (pupa_real_malloc): Print more information when a
46568 free magic is broken.
46569 (pupa_free): If the first free header is not free actually, set
46570 it to P.
46571
46572 * kern/main.c (pupa_load_normal_mode): Just load the module
46573 "normal".
46574 (pupa_main): Don't print the message
46575 "Entering into rescue mode..." here.
46576
46577 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
46578 Declared.
46579 (pupa_rescue_cmd_initrd): Likewise.
46580 (pupa_rescue_cmd_initrd): Likewise.
46581
46582 * include/pupa/symbol.h (FUNCTION): Specify the type.
46583 (VARIABLE): Likewise.
46584
46585 * include/pupa/err.h (pupa_err_t): Added
46586 PUPA_ERR_UNKNOWN_COMMAND.
46587
46588 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
46589 (pupa_dl_get_prefix): Likewise.
46590
46591 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
46592 Added _chain.mod and _linux.mod instead of chain.mod and
46593 linux.mod.
46594 (chain_mod_SOURCES): Renamed to ...
46595 (_chain_mod_SOURCES): ... this.
46596 (chain_mod_CFLAGS): Renamed to ...
46597 (_chain_mod_CFLAGS): ... this.
46598 (linux_mod_SOURCES): Renamed to ...
46599 (_linux_mod_SOURCES): ... this.
46600 (linux_mod_CFLAGS): Renamed to ...
46601 (_linux_mod_CFLAGS): ... this.
46602 (normal_mod_SOURCES): New variable.
46603 (normal_mod_CFLAGS): Likewise.
46604 (normal_mod_ASFLAGS): Likewise.
46605
466062003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
46607
46608 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
46609 possible.
46610
fe6b695a 46611 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 46612 recursively.
46613 (pupa_dl_unref): Unrefer depending modules recursively.
46614 Don't call pupa_dl_unload implicitly, because PUPA can crash if
46615 a module is unloaded before one depending on that module is
46616 unloaded.
46617 (pupa_dl_unload): Unload depending modules explicitly,
46618 if possible.
46619
c04da074 466202003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
46621
46622 * include/pupa/i386/pc/linux.h: New file.
46623 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 46624
c04da074 46625 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
46626 Removed.
46627 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
46628 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
46629 of PUPA_CHAINLOADER_BOOT_SECTOR.
46630
46631 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
46632 (pupa_linux_prot_size): New variable.
46633 (pupa_linux_tmp_addr): Likewise.
46634 (pupa_linux_real_addr): Likewise.
46635 (pupa_linux_boot_zimage): New function.
46636 (pupa_linux_boot_bzimage): Likewise.
46637
46638 * kern/i386/pc/init.c (struct mem_region): New structure.
46639 (MAX_REGIONS): New macro.
46640 (mem_regions): New variable.
46641 (num_regions): Likewise.
46642 (pupa_os_area_addr): Likewise.
46643 (pupa_os_area_size): Likewise.
46644 (pupa_lower_mem): Likewise.
46645 (pupa_upper_mem): Likewise.
46646 (add_mem_region): New function.
46647 (compact_mem_regions): Likewise.
46648 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
46649 the size of the conventional memory and that of so-called upper
46650 memory (before the first memory hole).
46651 Instead of adding each found region to free memory, use
46652 add_mem_region and add them after removing overlaps.
46653 Also, add only 1/4 of the upper memory to free memory. The rest
46654 is used for loading OS images. Maybe this is ad hoc, but this
46655 makes it much easier to relocate OS images when booting.
46656
46657 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
46658 (pupa_enter_rescue_mode): Don't register initrd and module.
46659
46660 * kern/mm.c: Include pupa/dl.h.
46661
46662 * kern/main.c: Include pupa/file.h and pupa/device.h.
46663
46664 * kern/loader.c (pupa_loader_load_module_func): Removed.
46665 (pupa_loader_load_module): Likewise.
46666
46667 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
46668 ``.o''.
46669
46670 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
46671 (pupa_linux_tmp_addr): Likewise.
46672 (pupa_linux_real_addr): Likewise.
46673 (pupa_linux_boot_zimage): Likewise.
46674 (pupa_linux_boot_bzimage): Likewise.
46675
46676 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
46677 (pupa_upper_mem): Likewise.
46678 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
46679 module is too dangerous.
46680
46681 * include/pupa/loader.h (pupa_os_area_addr): Declared.
46682 (pupa_os_area_size): Likewise.
46683 (pupa_loader_set): Remove the first argument. Loader doesn't
46684 manage modules or initrd any longer.
46685 (pupa_loader_load_module): Removed.
46686
46687 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
46688 (linux_mod_SOURCES): New variable.
46689 (linux_mod_CFLAGS): Likewise.
46690
a13f9237 466912003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
46692
46693 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
46694 the length of a blocklist correctly.
46695
46696 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
46697 Use ioctl only if the OS file is a block device.
46698 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
46699 not very useful for normal files.
46700
46701 * kern/main.c (pupa_set_root_dev): New function.
46702 (pupa_load_normal_mode): Likewise.
46703 (pupa_main): Call those above.
46704
46705 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
46706 pupa_uint16_t.
46707
46708 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
46709
a5ffe966 467102003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
46711
46712 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
46713 (setup): Configure the installed partition information and the
46714 dl prefix.
46715
46716 * loader/i386/pc/chainloader.c (my_mod): New variable.
46717 (pupa_chainloader_unload): New function.
46718 (pupa_rescue_cmd_chainloader): Refer itself.
46719 (PUPA_MOD_INIT): Save its own module in MY_MOD.
46720
46721 * kern/i386/pc/startup.S (install_partition): Removed.
46722 (version_string): Likewise.
46723 (config_file): Likewise.
46724 (pupa_install_dos_part): New variable.
46725 (pupa_install_bsd_part): Likewise.
46726 (pupa_prefix): Likewise.
46727 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
46728
46729 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
46730 and pupa/misc.h.
46731 (make_install_device): New function.
46732 (pupa_machine_init): Set the dl prefix.
46733
46734 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
46735 (buf): Renamed to ...
46736 (linebuf): ... this.
46737 (pupa_rescue_cmd_prefix): New function.
46738 (pupa_rescue_cmd_insmod): Likewise.
46739 (pupa_rescue_cmd_rmmod): Likewise.
46740 (pupa_rescue_cmd_lsmod): Likewise.
46741 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
46742 rmmod and lsmod.
46743
46744 * kern/mm.c (pupa_memalign): If failed even after invalidating
46745 disk caches, unload unneeded modules and retry.
46746
46747 * kern/misc.c (pupa_memmove): New function.
46748 (pupa_memcpy): Removed.
46749 (pupa_strcpy): New function.
46750 (pupa_itoa): Made static.
46751
46752 * kern/dl.c (pupa_dl_iterate): New function.
46753 (pupa_dl_ref): Likewise.
46754 (pupa_dl_unref): Likewise.
46755 (pupa_dl_unload): Return if succeeded or not.
46756 (pupa_dl_unload_unneeded): New function.
46757 (pupa_dl_unload_all): Likewise.
46758 (pupa_dl_init): Renamed to ...
46759 (pupa_dl_set_prefix): ... this.
46760 (pupa_dl_get_prefix): New function.
46761
46762 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
46763 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
46764 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
46765 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
46766 (pupa_install_dos_part): Declared.
46767 (pupa_install_bsd_part): Likewise.
46768 (pupa_prefix): Likewise.
46769 (pupa_boot_drive): Likewise.
46770
46771 * include/pupa/types.h: Fix a typo.
46772
46773 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
46774 pupa_memmove.
46775 (pupa_memmove): Declared.
46776 (pupa_strcpy): Likewise.
46777
46778 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
46779 pupa_mod_init takes one argument, its own module.
46780 (pupa_dl_unload_unneeded): Declared.
46781 (pupa_dl_unload_all): Likewise.
46782 (pupa_dl_ref): Likewise.
46783 (pupa_dl_unref): Likewise.
46784 (pupa_dl_iterate): Likewise.
46785 (pupa_dl_init): Renamed to ...
46786 (pupa_dl_set_prefix): ... this.
46787 (pupa_dl_get_prefix): Declared.
46788
46789 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 46790 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 46791 unloaded.
46792 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
46793 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
46794
46795 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
46796 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
46797
012d7999 467982003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
46799
46800 * util/i386/pc/pupa-setup.c (setup): Define the internal
46801 function find_first_partition_start at the top level, because GCC
46802 3.0.x cannot compile internal functions in deeper scopes
46803 correctly.
46804 (find_root_device): Use lstat instead of stat.
46805 Don't follow symbolic links.
46806 Fix the path-constructing code.
46807
46808 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
46809 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
46810 by a BLKGETSIZE ioctl first, because block devices don't fill
46811 the member st_mode of the structure stat on Linux.
46812 [__linux__] (linux_find_partition): Use a temporary buffer
46813 REAL_DEV for the working space. Copy it to DEV before returning.
46814 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
46815 buffer cache consistent.
46816 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
46817 strncmp. The previous value was merely wrong.
46818 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
46819
46820 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
46821 FAT size is 12. The previous value was merely wrong.
46822
46823 * kern/main.c (pupa_main): Don't split the starting message from
46824 newlines.
46825
46826 * kern/term.c (pupa_putchar): Put CR after LF instead of before
46827 LF, because BIOS goes crazy about character attributes in this
46828 case.
46829
1cc73a62 468302003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
46831
46832 * include/i386/pc/util/biosdisk.h: New file.
46833 * util/i386/pc/biosdisk.c: Likewise.
46834 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 46835
1cc73a62 46836 * Makefile.in (INCLUDE_DISTFILES): Added
46837 include/pupa/i386/pc/util/biosdisk.h.
46838 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
46839 directory util/i386/pc.
46840 (install-local): Added a rule for sbin_UTILITIES.
46841 (uninstall): Likewise.
46842
46843 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
46844
46845 * util/misc.c (xrealloc): New function.
46846 (pupa_malloc): Likewise.
46847 (pupa_free): Likewise.
46848 (pupa_realloc): Likewise.
46849 (pupa_stop): Likewise.
46850 (pupa_putchar): Likewise.
46851
46852 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
46853
46854 * include/pupa/util/misc.h (xrealloc): Declared.
46855
46856 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
46857 macro.
46858 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
46859 (PUPA_BOOT_MACHINE_BPB_END): ... this.
46860
46861 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
46862 [PUPA_UTIL] (pupa_fat_fini): Likewise.
46863
46864 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
46865 way should be implemented.
46866 [PUPA_UTIL] (pupa_fat_fini): Likewise.
46867
46868 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
46869 the size of NAME for safety.
46870 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
46871 0x88.
46872
46873 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
46874 (pupa_setup_SOURCES): Likewise.
46875
46876 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
46877
08b70fe8 468782002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
46879
46880 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
46881 bunch of pushl's from pusha, because this destroys the return
46882 value.
46883
62ddcc8f 468842002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
46885
46886 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
46887 This means that any missing prototypes could be fatal. Also, you
46888 must take care when writing assembly code. See the comments at
46889 the beginning of startup.S, for more details.
f19dbdb7 46890
62ddcc8f 46891 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
46892 compilation mechanism.
46893 (pupa_chainloader_real_boot): Likewise.
46894 (pupa_biosdisk_rw_int13_extensions): Likewise.
46895 (pupa_biosdisk_rw_standard): Likewise.
46896 (pupa_biosdisk_check_int13_extensions): Likewise.
46897 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
46898 (pupa_biosdisk_get_diskinfo_standard): Likewise.
46899 (pupa_get_memsize): Likewise.
46900 (pupa_get_mmap_entry): Likewise.
46901 (pupa_console_putchar): Likewise.
46902 (pupa_console_setcursor): Likewise.
46903 (pupa_getrtsecs): Use pushl instead of push.
46904
46905 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
46906 memory instead of the stack for a mmap entry, because some
46907 BIOSes may ignore the maximum size and overflow.
46908
46909 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
46910
46911 * genmk.rb (PModule#rule): Compile automatically generated
46912 sources with module-specific CFLAGS as well as other sources.
46913
9962ed99 469142002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
46915
46916 * configure.ac: Check ld.
46917 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
46918 respectively, before checking endianness and sizes.
46919
46920 * Makefile.in (LD): New variable.
f19dbdb7 46921
abdfc3c5 469222002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
46923
46924 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
46925
6a161fa9 469262002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
46927
46928 * Changelog: New file.
46929